/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.29
 * 
 * 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 SWIGPERL
#define SWIG_CASTRANK_MODE

#ifdef __cplusplus
template<class T> class SwigValueWrapper {
    T *tt;
public:
    SwigValueWrapper() : tt(0) { }
    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
    SwigValueWrapper(const T& t) : tt(new T(t)) { }
    ~SwigValueWrapper() { delete tt; } 
    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
    operator T&() const { return *tt; }
    T *operator&() { return tt; }
private:
    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
};
#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)
#   if (__SUNPRO_CC <= 0x560)
#     define SWIGTEMPLATEDISAMBIGUATOR template
#   else
#     define SWIGTEMPLATEDISAMBIGUATOR 
#   endif
# 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 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)
# define _CRT_SECURE_NO_DEPRECATE
#endif

/* -----------------------------------------------------------------------------
 * swigrun.swg
 *
 * This file contains generic CAPI SWIG runtime support for pointer
 * type checking.
 * ----------------------------------------------------------------------------- */

/* This should only be incremented when either the layout of swig_type_info changes,
   or for whatever reason, the runtime changes incompatibly */
#define SWIG_RUNTIME_VERSION "2"

/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
#ifdef SWIG_TYPE_TABLE
# define SWIG_QUOTE_STRING(x) #x
# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
#else
# define SWIG_TYPE_TABLE_NAME
#endif

/*
  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
  creating a static or dynamic library from the swig runtime code.
  In 99.9% of the cases, swig just needs to declare them as 'static'.
  
  But only do this if is strictly necessary, ie, if you have problems
  with your compiler or so.
*/

#ifndef SWIGRUNTIME
# define SWIGRUNTIME SWIGINTERN
#endif

#ifndef SWIGRUNTIMEINLINE
# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
#endif

/*  Generic buffer size */
#ifndef SWIG_BUFFER_SIZE
# define SWIG_BUFFER_SIZE 1024
#endif

/* Flags for pointer conversions */
#define SWIG_POINTER_DISOWN        0x1

/* Flags for new pointer objects */
#define SWIG_POINTER_OWN           0x1


/* 
   Flags/methods for returning states.
   
   The swig conversion methods, as ConvertPtr, return and integer 
   that tells if the conversion was successful or not. And if not,
   an error code can be returned (see swigerrors.swg for the codes).
   
   Use the following macros/flags to set or process the returning
   states.
   
   In old swig versions, you usually write code as:

     if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
       // success code
     } else {
       //fail code
     }

   Now you can be more explicit as:

    int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
    if (SWIG_IsOK(res)) {
      // success code
    } else {
      // fail code
    }

   that seems to be the same, but now you can also do

    Type *ptr;
    int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
    if (SWIG_IsOK(res)) {
      // success code
      if (SWIG_IsNewObj(res) {
        ...
	delete *ptr;
      } else {
        ...
      }
    } else {
      // fail code
    }
    
   I.e., now SWIG_ConvertPtr can return new objects and you can
   identify the case and take care of the deallocation. Of course that
   requires also to SWIG_ConvertPtr to return new result values, as

      int SWIG_ConvertPtr(obj, ptr,...) {         
        if (<obj is ok>) {			       
          if (<need new object>) {		       
            *ptr = <ptr to new allocated object>; 
            return SWIG_NEWOBJ;		       
          } else {				       
            *ptr = <ptr to old object>;	       
            return SWIG_OLDOBJ;		       
          } 				       
        } else {				       
          return SWIG_BADOBJ;		       
        }					       
      }

   Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
   more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
   swig errors code.

   Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
   allows to return the 'cast rank', for example, if you have this

       int food(double)
       int fooi(int);

   and you call
 
      food(1)   // cast rank '1'  (1 -> 1.0)
      fooi(1)   // cast rank '0'

   just use the SWIG_AddCast()/SWIG_CheckState()


 */
#define SWIG_OK                    (0) 
#define SWIG_ERROR                 (-1)
#define SWIG_IsOK(r)               (r >= 0)
#define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)  

/* The CastRankLimit says how many bits are used for the cast rank */
#define SWIG_CASTRANKLIMIT         (1 << 8)
/* The NewMask denotes the object was created (using new/malloc) */
#define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
/* The TmpMask is for in/out typemaps that use temporal objects */
#define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
/* Simple returning values */
#define SWIG_BADOBJ                (SWIG_ERROR)
#define SWIG_OLDOBJ                (SWIG_OK)
#define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
#define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
/* Check, add and del mask methods */
#define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
#define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
#define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
#define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
#define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
#define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))


/* Cast-Rank Mode */
#if defined(SWIG_CASTRANK_MODE)
#  ifndef SWIG_TypeRank
#    define SWIG_TypeRank             unsigned long
#  endif
#  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */
#    define SWIG_MAXCASTRANK          (2)
#  endif
#  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
#  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
SWIGINTERNINLINE int SWIG_AddCast(int r) { 
  return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
}
SWIGINTERNINLINE int SWIG_CheckState(int r) { 
  return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; 
}
#else /* no cast-rank mode */
#  define SWIG_AddCast
#  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
#endif




#include <string.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef void *(*swig_converter_func)(void *);
typedef struct swig_type_info *(*swig_dycast_func)(void **);

/* Structure to store inforomation on one type */
typedef struct swig_type_info {
  const char             *name;			/* mangled name of this type */
  const char             *str;			/* human readable name of this type */
  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 (l1 - f1) - (l2 - f2);
}

/*
  Check type equivalence in a name list like <name1>|<name2>|...
  Return 0 if not equal, 1 if equal
*/
SWIGRUNTIME int
SWIG_TypeEquiv(const char *nb, const char *tb) {
  int equiv = 0;
  const char* te = tb + strlen(tb);
  const char* ne = nb;
  while (!equiv && *ne) {
    for (nb = ne; *ne; ++ne) {
      if (*ne == '|') break;
    }
    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
    if (*ne) ++ne;
  }
  return equiv;
}

/*
  Check type equivalence in a name list like <name1>|<name2>|...
  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
*/
SWIGRUNTIME int
SWIG_TypeCompare(const char *nb, const char *tb) {
  int equiv = 0;
  const char* te = tb + strlen(tb);
  const char* ne = nb;
  while (!equiv && *ne) {
    for (nb = ne; *ne; ++ne) {
      if (*ne == '|') break;
    }
    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
    if (*ne) ++ne;
  }
  return equiv;
}


/* think of this as a c++ template<> or a scheme macro */
#define SWIG_TypeCheck_Template(comparison, ty)         \
  if (ty) {                                             \
    swig_cast_info *iter = ty->cast;                    \
    while (iter) {                                      \
      if (comparison) {                                 \
        if (iter == ty->cast) return iter;              \
        /* Move iter to the top of the linked list */   \
        iter->prev->next = iter->next;                  \
        if (iter->next)                                 \
          iter->next->prev = iter->prev;                \
        iter->next = ty->cast;                          \
        iter->prev = 0;                                 \
        if (ty->cast) ty->cast->prev = iter;            \
        ty->cast = iter;                                \
        return iter;                                    \
      }                                                 \
      iter = iter->next;                                \
    }                                                   \
  }                                                     \
  return 0

/*
  Check the typename
*/
SWIGRUNTIME swig_cast_info *
SWIG_TypeCheck(const char *c, swig_type_info *ty) {
  SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
}

/* Same as previous function, except strcmp is replaced with a pointer comparison */
SWIGRUNTIME swig_cast_info *
SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
  SWIG_TypeCheck_Template(iter->type == from, into);
}

/*
  Cast a pointer up an inheritance hierarchy
*/
SWIGRUNTIMEINLINE void *
SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
}

/* 
   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



#ifdef __cplusplus
/* Needed on some windows machines---since MS plays funny games with the header files under C++ */
#include <math.h>
#include <stdlib.h>
extern "C" {
#endif
#include "EXTERN.h"

    #ifndef _DIRENT_H_
    #define _DIRENT_H_
    #endif
    #include "perl.h"
#include "XSUB.h"

/* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. */

/* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */
#ifndef PERL_REVISION
#  if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
#    define PERL_PATCHLEVEL_H_IMPLICIT
#    include <patchlevel.h>
#  endif
#  if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
#    include <could_not_find_Perl_patchlevel.h>
#  endif
#  ifndef PERL_REVISION
#    define PERL_REVISION       (5)
#    define PERL_VERSION        PATCHLEVEL
#    define PERL_SUBVERSION     SUBVERSION
#  endif
#endif

#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)
#define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
#endif

#ifndef SvIOK_UV
# define SvIOK_UV(sv)       (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv)))
#endif

#ifndef SvUOK
# define SvUOK(sv)           SvIOK_UV(sv)
#endif

#if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5)))
#  define PL_sv_undef               sv_undef
#  define PL_na	                    na
#  define PL_errgv                  errgv
#  define PL_sv_no                  sv_no
#  define PL_sv_yes                 sv_yes
#  define PL_markstack_ptr          markstack_ptr
#endif

#ifndef IVSIZE
#  ifdef LONGSIZE
#    define IVSIZE LONGSIZE
#  else
#    define IVSIZE 4 /* A bold guess, but the best we can make. */
#  endif
#endif

#ifndef INT2PTR
#  if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)
#    define PTRV                  UV
#    define INT2PTR(any,d)        (any)(d)
#  else
#    if PTRSIZE == LONGSIZE
#      define PTRV                unsigned long
#    else
#      define PTRV                unsigned
#    endif
#    define INT2PTR(any,d)        (any)(PTRV)(d)
#  endif

#  define NUM2PTR(any,d)  (any)(PTRV)(d)
#  define PTR2IV(p)       INT2PTR(IV,p)
#  define PTR2UV(p)       INT2PTR(UV,p)
#  define PTR2NV(p)       NUM2PTR(NV,p)

#  if PTRSIZE == LONGSIZE
#    define PTR2ul(p)     (unsigned long)(p)
#  else
#    define PTR2ul(p)     INT2PTR(unsigned long,p)
#  endif
#endif /* !INT2PTR */

#ifndef get_sv
#  define get_sv perl_get_sv
#endif

#ifndef ERRSV
#  define ERRSV get_sv("@",FALSE)
#endif

#ifndef pTHX_
#define pTHX_
#endif   

#include <string.h>
#ifdef __cplusplus
}
#endif

/* -----------------------------------------------------------------------------
 * error manipulation
 * ----------------------------------------------------------------------------- */

SWIGINTERN const char*
SWIG_Perl_ErrorType(int code) {
  const char* type = 0;
  switch(code) {
  case SWIG_MemoryError:
    type = "MemoryError";
    break;
  case SWIG_IOError:
    type = "IOError";
    break;
  case SWIG_RuntimeError:
    type = "RuntimeError";
    break;
  case SWIG_IndexError:
    type = "IndexError";
    break;
  case SWIG_TypeError:
    type = "TypeError";
    break;
  case SWIG_DivisionByZero:
    type = "ZeroDivisionError";
    break;
  case SWIG_OverflowError:
    type = "OverflowError";
    break;
  case SWIG_SyntaxError:
    type = "SyntaxError";
    break;
  case SWIG_ValueError:
    type = "ValueError";
    break;
  case SWIG_SystemError:
    type = "SystemError";
    break;
  case SWIG_AttributeError:
    type = "AttributeError";
    break;
  default:
    type = "RuntimeError";
  }
  return type;
}




/* -----------------------------------------------------------------------------
 * perlrun.swg
 *
 * This file contains the runtime support for Perl modules
 * and includes code for managing global variables and pointer
 * type checking.
 * ----------------------------------------------------------------------------- */

#ifdef PERL_OBJECT
#define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl),
#define SWIG_PERL_OBJECT_CALL pPerl,
#else
#define SWIG_PERL_OBJECT_DECL
#define SWIG_PERL_OBJECT_CALL
#endif

/* Common SWIG API */

/* for raw pointers */
#define SWIG_ConvertPtr(obj, pp, type, flags)           SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags)
#define SWIG_NewPointerObj(p, type, flags)              SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags)

/* for raw packed data */
#define SWIG_ConvertPacked(obj, p, s, type)             SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type)
#define SWIG_NewPackedObj(p, s, type)	                SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, 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_ConvertPtr(obj, pptr, type, 0)
#define SWIG_NewFunctionPtrObj(ptr, type)               SWIG_NewPointerObj(ptr, type, 0)

/* for C++ member pointers, ie, member methods */
#define SWIG_ConvertMember(obj, ptr, sz, ty)            SWIG_ConvertPacked(obj, ptr, sz, ty)
#define SWIG_NewMemberObj(ptr, sz, type)                SWIG_NewPackedObj(ptr, sz, type)


/* Runtime API */

#define SWIG_GetModule(clientdata)                      SWIG_Perl_GetModule()
#define SWIG_SetModule(clientdata, pointer)             SWIG_Perl_SetModule(pointer)


/* Error manipulation */

#define SWIG_ErrorType(code)                            SWIG_Perl_ErrorType(code)               
#define SWIG_Error(code, msg)            		sv_setpvf(GvSV(PL_errgv),"%s %s\n", SWIG_ErrorType(code), msg)
#define SWIG_fail                        		goto fail						    

/* Perl-specific SWIG API */

#define SWIG_MakePtr(sv, ptr, type, flags)              SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags)
#define SWIG_MakePackedObj(sv, p, s, type)	        SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type)
#define SWIG_SetError(str)                              SWIG_Error(SWIG_RuntimeError, str)


#define SWIG_PERL_DECL_ARGS_1(arg1)                     (SWIG_PERL_OBJECT_DECL arg1)
#define SWIG_PERL_CALL_ARGS_1(arg1)                     (SWIG_PERL_OBJECT_CALL arg1)
#define SWIG_PERL_DECL_ARGS_2(arg1, arg2)               (SWIG_PERL_OBJECT_DECL arg1, arg2)
#define SWIG_PERL_CALL_ARGS_2(arg1, arg2)               (SWIG_PERL_OBJECT_CALL arg1, arg2)

/* -----------------------------------------------------------------------------
 * pointers/data manipulation
 * ----------------------------------------------------------------------------- */

/* For backward compatibility only */
#define SWIG_POINTER_EXCEPTION  0

#ifdef __cplusplus
extern "C" {
#endif

#define SWIG_OWNER   SWIG_POINTER_OWN
#define SWIG_SHADOW  SWIG_OWNER << 1

#define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL

/* SWIG Perl macros */

/* Macro to call an XS function */
#ifdef PERL_OBJECT 
#  define SWIG_CALLXS(_name) _name(cv,pPerl) 
#else 
#  ifndef MULTIPLICITY 
#    define SWIG_CALLXS(_name) _name(cv) 
#  else 
#    define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) 
#  endif 
#endif 

/* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */

#ifdef PERL_OBJECT
#define MAGIC_PPERL  CPerlObj *pPerl = (CPerlObj *) this;
typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);

#ifdef __cplusplus
extern "C" {
#endif
typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *);
#ifdef __cplusplus
}
#endif

#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
#define SWIGCLASS_STATIC
#else
#define MAGIC_PPERL
#define SWIGCLASS_STATIC static SWIGUNUSED
#ifndef MULTIPLICITY
#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
typedef int (*SwigMagicFunc)(SV *, MAGIC *);

#ifdef __cplusplus
extern "C" {
#endif
typedef int (*SwigMagicFuncHack)(SV *, MAGIC *);
#ifdef __cplusplus
}
#endif


#else
#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
#ifdef __cplusplus
extern "C" {
#endif
typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *);
#ifdef __cplusplus
}
#endif

#endif
#endif

/* Workaround for bug in perl 5.6.x croak and earlier */
#if (PERL_VERSION < 8)
#  ifdef PERL_OBJECT
#    define SWIG_croak_null() SWIG_Perl_croak_null(pPerl)
static void SWIG_Perl_croak_null(CPerlObj *pPerl)
#  else
static void SWIG_croak_null()
#  endif
{
  SV *err=ERRSV;
#  if (PERL_VERSION < 6)
  croak("%_", err);
#  else
  if (SvOK(err) && !SvROK(err)) croak("%_", err);
  croak(Nullch);
#  endif
}
#else
#  define SWIG_croak_null() croak(Nullch)
#endif



#include <stdlib.h>

SWIGRUNTIME const char *
SWIG_Perl_TypeProxyName(const swig_type_info *type) {
  if (!type) return NULL;
  if (type->clientdata != NULL) {
    return (const char*) type->clientdata;
  } 
  else {
    return type->name;
  }
}

SWIGRUNTIME swig_cast_info *
SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) {
  SWIG_TypeCheck_Template(( (!iter->type->clientdata && (strcmp((char*)iter->type->name, c) == 0)) 
			    || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0))), ty);
}


/* Function for getting a pointer value */

SWIGRUNTIME int
SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
  swig_cast_info *tc;
  void *voidptr = (void *)0;
  SV *tsv = 0;
  /* If magical, apply more magic */
  if (SvGMAGICAL(sv))
    mg_get(sv);

  /* Check to see if this is an object */
  if (sv_isobject(sv)) {
    IV tmp = 0;
    tsv = (SV*) SvRV(sv);
    if ((SvTYPE(tsv) == SVt_PVHV)) {
      MAGIC *mg;
      if (SvMAGICAL(tsv)) {
        mg = mg_find(tsv,'P');
        if (mg) {
          sv = mg->mg_obj;
          if (sv_isobject(sv)) {
	    tsv = (SV*)SvRV(sv);
            tmp = SvIV(tsv);
          }
        }
      } else {
        return SWIG_ERROR;
      }
    } else {
      tmp = SvIV(tsv);
    }
    voidptr = INT2PTR(void *,tmp);
  } else if (! SvOK(sv)) {            /* Check for undef */
    *(ptr) = (void *) 0;
    return SWIG_OK;
  } else if (SvTYPE(sv) == SVt_RV) {  /* Check for NULL pointer */
    if (!SvROK(sv)) {
      *(ptr) = (void *) 0;
      return SWIG_OK;
    } else {
      return SWIG_ERROR;
    }
  } else {                            /* Don't know what it is */
    return SWIG_ERROR;
  }
  if (_t) {
    /* Now see if the types match */
    char *_c = HvNAME(SvSTASH(SvRV(sv)));
    tc = SWIG_TypeProxyCheck(_c,_t);
    if (!tc) {
      return SWIG_ERROR;
    }
    *ptr = SWIG_TypeCast(tc,voidptr);
  } else {
    *ptr = voidptr;
  }

  /* 
   *  DISOWN implementation: we need a perl guru to check this one.
   */
  if (tsv && (flags & SWIG_POINTER_DISOWN)) {
    /* 
     *  almost copy paste code from below SWIG_POINTER_OWN setting
     */
    SV *obj = sv;
    HV *stash = SvSTASH(SvRV(obj));
    GV *gv = *(GV**) hv_fetch(stash, "OWNER", 5, TRUE);
    if (isGV(gv)) {
      HV *hv = GvHVn(gv);
      /*
       * To set ownership (see below), a newSViv(1) entry is added. 
       * Hence, to remove ownership, we delete the entry.
       */
      if (hv_exists_ent(hv, obj, 0)) {
	hv_delete_ent(hv, obj, 0, 0);
      }
    }
  }
  return SWIG_OK;
}

SWIGRUNTIME void
SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
  if (ptr && (flags & SWIG_SHADOW)) {
    SV *self;
    SV *obj=newSV(0);
    HV *hash=newHV();
    HV *stash;
    sv_setref_pv(obj, (char *) SWIG_Perl_TypeProxyName(t), ptr);
    stash=SvSTASH(SvRV(obj));
    if (flags & SWIG_POINTER_OWN) {
      HV *hv;
      GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE);
      if (!isGV(gv))
        gv_init(gv, stash, "OWNER", 5, FALSE);
      hv=GvHVn(gv);
      hv_store_ent(hv, obj, newSViv(1), 0);
    }
    sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0);
    SvREFCNT_dec(obj);
    self=newRV_noinc((SV *)hash);
    sv_setsv(sv, self);
    SvREFCNT_dec((SV *)self);
    sv_bless(sv, stash);
  }
  else {
    sv_setref_pv(sv, (char *) SWIG_Perl_TypeProxyName(t), ptr);
  }
}

SWIGRUNTIMEINLINE SV *
SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
  SV *result = sv_newmortal();
  SWIG_MakePtr(result, ptr, t, flags);
  return result;
}

SWIGRUNTIME void
SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
  char result[1024];
  char *r = result;
  if ((2*sz + 1 + strlen(SWIG_Perl_TypeProxyName(type))) > 1000) return;
  *(r++) = '_';
  r = SWIG_PackData(r,ptr,sz);
  strcpy(r,SWIG_Perl_TypeProxyName(type));
  sv_setpv(sv, result);
}

SWIGRUNTIME SV *
SWIG_Perl_NewPackedObj(SWIG_MAYBE_PERL_OBJECT void *ptr, int sz, swig_type_info *type) {
  SV *result = sv_newmortal();
  SWIG_Perl_MakePackedObj(result, ptr, sz, type);
  return result;
}

/* Convert a packed value value */
SWIGRUNTIME int
SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty) {
  swig_cast_info *tc;
  const char  *c = 0;

  if ((!obj) || (!SvOK(obj))) return SWIG_ERROR;
  c = SvPV(obj, PL_na);
  /* Pointer values must start with leading underscore */
  if (*c != '_') return SWIG_ERROR;
  c++;
  c = SWIG_UnpackData(c,ptr,sz);
  if (ty) {
    tc = SWIG_TypeCheck(c,ty);
    if (!tc) return SWIG_ERROR;
  }
  return SWIG_OK;
}


/* Macros for low-level exception handling */
#define SWIG_croak(x)    { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; }


typedef XS(SwigPerlWrapper);
typedef SwigPerlWrapper *SwigPerlWrapperPtr;

/* Structure for command table */
typedef struct {
  const char         *name;
  SwigPerlWrapperPtr  wrapper;
} swig_command_info;

/* Information for constant table */

#define SWIG_INT     1
#define SWIG_FLOAT   2
#define SWIG_STRING  3
#define SWIG_POINTER 4
#define SWIG_BINARY  5

/* Constant information structure */
typedef struct swig_constant_info {
    int              type;
    const char      *name;
    long             lvalue;
    double           dvalue;
    void            *pvalue;
    swig_type_info **ptype;
} swig_constant_info;


/* Structure for variable table */
typedef struct {
  const char   *name;
  SwigMagicFunc   set;
  SwigMagicFunc   get;
  swig_type_info  **type;
} swig_variable_info;

/* Magic variable code */
#ifndef PERL_OBJECT
#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c)
  #ifndef MULTIPLICITY
     SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) 
  #else
     SWIGRUNTIME void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) 
  #endif
#else
#  define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
SWIGRUNTIME void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) 
#endif
{
  MAGIC *mg;
  sv_magic(sv,sv,'U',(char *) name,strlen(name));
  mg = mg_find(sv,'U');
  mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
  mg->mg_virtual->svt_get = (SwigMagicFuncHack) get;
  mg->mg_virtual->svt_set = (SwigMagicFuncHack) set;
  mg->mg_virtual->svt_len = 0;
  mg->mg_virtual->svt_clear = 0;
  mg->mg_virtual->svt_free = 0;
}


SWIGRUNTIME swig_module_info *
SWIG_Perl_GetModule(void) {
  static void *type_pointer = (void *)0;
  SV *pointer;

  /* first check if pointer already created */
  if (!type_pointer) {
    pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE);
    if (pointer && SvOK(pointer)) {
      type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
    }
  }

  return (swig_module_info *) type_pointer;
}

SWIGRUNTIME void
SWIG_Perl_SetModule(swig_module_info *module) {
  SV *pointer;

  /* create a new pointer */
  pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE);
  sv_setiv(pointer, PTR2IV(module));
}

#ifdef __cplusplus
}
#endif

/* Workaround perl5 global namespace pollution. Note that undefining library
 * functions like fopen will not solve the problem on all platforms as fopen
 * might be a macro on Windows but not necessarily on other operating systems. */
#ifdef do_open
  #undef do_open
#endif
#ifdef do_close
  #undef do_close
#endif
#ifdef scalar
  #undef scalar
#endif
#ifdef list
  #undef list
#endif
#ifdef apply
  #undef apply
#endif
#ifdef convert
  #undef convert
#endif
#ifdef Error
  #undef Error
#endif
#ifdef form
  #undef form
#endif
#ifdef vform
  #undef vform
#endif
#ifdef LABEL
  #undef LABEL
#endif
#ifdef METHOD
  #undef METHOD
#endif
#ifdef Move
  #undef Move
#endif
#ifdef yylex
  #undef yylex
#endif
#ifdef yyparse
  #undef yyparse
#endif
#ifdef yyerror
  #undef yyerror
#endif
#ifdef invert
  #undef invert
#endif
#ifdef ref
  #undef ref
#endif
#ifdef read
  #undef read
#endif
#ifdef write
  #undef write
#endif
#ifdef eof
  #undef eof
#endif
#ifdef bool
  #undef bool
#endif
#ifdef close
  #undef close
#endif
#ifdef rewind
  #undef rewind
#endif
#ifdef free
  #undef free
#endif
#ifdef malloc
  #undef malloc
#endif
#ifdef calloc
  #undef calloc
#endif
#ifdef Stat
  #undef Stat
#endif
#ifdef check
  #undef check
#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_AllocatorType swig_types[0]
#define SWIGTYPE_p_CS__Memory__AllocatorMalloc swig_types[1]
#define SWIGTYPE_p_CS__TriangleTTint_t swig_types[2]
#define SWIGTYPE_p_CalAnimationCallback swig_types[3]
#define SWIGTYPE_p_CalCoreModel swig_types[4]
#define SWIGTYPE_p_CalModel swig_types[5]
#define SWIGTYPE_p_CapacityHandlerType swig_types[6]
#define SWIGTYPE_p_ContainedType swig_types[7]
#define SWIGTYPE_p_ElementHandlerType swig_types[8]
#define SWIGTYPE_p_FILE swig_types[9]
#define SWIGTYPE_p_FileFormatDescription swig_types[10]
#define SWIGTYPE_p_HashType swig_types[11]
#define SWIGTYPE_p_SndSysFilterLocation swig_types[12]
#define SWIGTYPE_p_ThisType swig_types[13]
#define SWIGTYPE_p_ValueType swig_types[14]
#define SWIGTYPE_p__csKeyCharType swig_types[15]
#define SWIGTYPE_p__csKeyEventType swig_types[16]
#define SWIGTYPE_p__csKeyModifierNumType swig_types[17]
#define SWIGTYPE_p__csKeyModifierType swig_types[18]
#define SWIGTYPE_p__csKeyModifiers swig_types[19]
#define SWIGTYPE_p__csMouseCursorID swig_types[20]
#define SWIGTYPE_p__csMouseEventType swig_types[21]
#define SWIGTYPE_p_awsConnectionNode swig_types[22]
#define SWIGTYPE_p_bool swig_types[23]
#define SWIGTYPE_p_char swig_types[24]
#define SWIGTYPE_p_csAlphaMode swig_types[25]
#define SWIGTYPE_p_csArrayCapacityDefault swig_types[26]
#define SWIGTYPE_p_csArrayCapacityLinearTcsArrayThresholdVariable_t swig_types[27]
#define SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[28]
#define SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[29]
#define SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[30]
#define SWIGTYPE_p_csArrayTcsIntersectingTriangle_csArrayElementHandlerTcsIntersectingTriangle_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[31]
#define SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[32]
#define SWIGTYPE_p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[33]
#define SWIGTYPE_p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[34]
#define SWIGTYPE_p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[35]
#define SWIGTYPE_p_csArrayThresholdVariable swig_types[36]
#define SWIGTYPE_p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[37]
#define SWIGTYPE_p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[38]
#define SWIGTYPE_p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t swig_types[39]
#define SWIGTYPE_p_csBSpline swig_types[40]
#define SWIGTYPE_p_csBitmapMetrics swig_types[41]
#define SWIGTYPE_p_csBox2 swig_types[42]
#define SWIGTYPE_p_csBox3 swig_types[43]
#define SWIGTYPE_p_csCatmullRomSpline swig_types[44]
#define SWIGTYPE_p_csColliderActor swig_types[45]
#define SWIGTYPE_p_csColliderHelper swig_types[46]
#define SWIGTYPE_p_csColliderWrapper swig_types[47]
#define SWIGTYPE_p_csCollisionPair swig_types[48]
#define SWIGTYPE_p_csColor swig_types[49]
#define SWIGTYPE_p_csColor4 swig_types[50]
#define SWIGTYPE_p_csCommandEventData swig_types[51]
#define SWIGTYPE_p_csCommandEventHelper swig_types[52]
#define SWIGTYPE_p_csCommandLineHelper swig_types[53]
#define SWIGTYPE_p_csCompressVertex swig_types[54]
#define SWIGTYPE_p_csCoreRenderMesh swig_types[55]
#define SWIGTYPE_p_csCubicSpline swig_types[56]
#define SWIGTYPE_p_csDVector3 swig_types[57]
#define SWIGTYPE_p_csEllipsoid swig_types[58]
#define SWIGTYPE_p_csEvent swig_types[59]
#define SWIGTYPE_p_csEventNameRegistry swig_types[60]
#define SWIGTYPE_p_csFileTime swig_types[61]
#define SWIGTYPE_p_csFlags swig_types[62]
#define SWIGTYPE_p_csFog swig_types[63]
#define SWIGTYPE_p_csFrustum swig_types[64]
#define SWIGTYPE_p_csFrustumContext swig_types[65]
#define SWIGTYPE_p_csGeomDebugHelper swig_types[66]
#define SWIGTYPE_p_csGlyphMetrics swig_types[67]
#define SWIGTYPE_p_csGraphics3DCaps swig_types[68]
#define SWIGTYPE_p_csHandlerID swig_types[69]
#define SWIGTYPE_p_csHashTcsRefTiShader_t_unsigned_long_CS__Memory__AllocatorMalloc_t swig_types[70]
#define SWIGTYPE_p_csHitBeamResult swig_types[71]
#define SWIGTYPE_p_csImageArea swig_types[72]
#define SWIGTYPE_p_csImageIOFileFormatDescription swig_types[73]
#define SWIGTYPE_p_csInitializer swig_types[74]
#define SWIGTYPE_p_csInputEventHelper swig_types[75]
#define SWIGTYPE_p_csIntersect2 swig_types[76]
#define SWIGTYPE_p_csIntersect3 swig_types[77]
#define SWIGTYPE_p_csIntersectingTriangle swig_types[78]
#define SWIGTYPE_p_csJoystickEventData swig_types[79]
#define SWIGTYPE_p_csJoystickEventHelper swig_types[80]
#define SWIGTYPE_p_csKeyEventData swig_types[81]
#define SWIGTYPE_p_csKeyEventHelper swig_types[82]
#define SWIGTYPE_p_csListenerProperties swig_types[83]
#define SWIGTYPE_p_csMath2 swig_types[84]
#define SWIGTYPE_p_csMath3 swig_types[85]
#define SWIGTYPE_p_csMatrix2 swig_types[86]
#define SWIGTYPE_p_csMatrix3 swig_types[87]
#define SWIGTYPE_p_csMeshedPolygon swig_types[88]
#define SWIGTYPE_p_csMouseEventData swig_types[89]
#define SWIGTYPE_p_csMouseEventHelper swig_types[90]
#define SWIGTYPE_p_csOBB swig_types[91]
#define SWIGTYPE_p_csObject swig_types[92]
#define SWIGTYPE_p_csOrthoTransform swig_types[93]
#define SWIGTYPE_p_csParticle swig_types[94]
#define SWIGTYPE_p_csParticleAux swig_types[95]
#define SWIGTYPE_p_csParticleBuffer swig_types[96]
#define SWIGTYPE_p_csPath swig_types[97]
#define SWIGTYPE_p_csPixelCoord swig_types[98]
#define SWIGTYPE_p_csPixelFormat swig_types[99]
#define SWIGTYPE_p_csPixmap swig_types[100]
#define SWIGTYPE_p_csPlane2 swig_types[101]
#define SWIGTYPE_p_csPlane3 swig_types[102]
#define SWIGTYPE_p_csPluginRequest swig_types[103]
#define SWIGTYPE_p_csPoly2D swig_types[104]
#define SWIGTYPE_p_csPoly2DFactory swig_types[105]
#define SWIGTYPE_p_csPoly3D swig_types[106]
#define SWIGTYPE_p_csPolygonMesh swig_types[107]
#define SWIGTYPE_p_csPolygonMeshBox swig_types[108]
#define SWIGTYPE_p_csPolygonRange swig_types[109]
#define SWIGTYPE_p_csPtrTcsFrustum_t swig_types[110]
#define SWIGTYPE_p_csPtrTiBase_t swig_types[111]
#define SWIGTYPE_p_csPtrTiEngineSequenceParameters_t swig_types[112]
#define SWIGTYPE_p_csPtrTiEventOutlet_t swig_types[113]
#define SWIGTYPE_p_csPtrTiGenMeshAnimationControlFactory_t swig_types[114]
#define SWIGTYPE_p_csPtrTiGenMeshAnimationControl_t swig_types[115]
#define SWIGTYPE_p_csPtrTiKeyComposer_t swig_types[116]
#define SWIGTYPE_p_csPtrTiLightIterator_t swig_types[117]
#define SWIGTYPE_p_csPtrTiLightingProcessData_t swig_types[118]
#define SWIGTYPE_p_csPtrTiLoaderContext_t swig_types[119]
#define SWIGTYPE_p_csPtrTiLoaderStatus_t swig_types[120]
#define SWIGTYPE_p_csPtrTiODEHinge2Joint_t swig_types[121]
#define SWIGTYPE_p_csPtrTiObjectIterator_t swig_types[122]
#define SWIGTYPE_p_csPtrTiObjectRegistryIterator_t swig_types[123]
#define SWIGTYPE_p_csPtrTiObjectWatcher_t swig_types[124]
#define SWIGTYPE_p_csPtrTiParameterESM_t swig_types[125]
#define SWIGTYPE_p_csPtrTiParticleBuiltinEffectorVelocityField_t swig_types[126]
#define SWIGTYPE_p_csPtrTiPluginIterator_t swig_types[127]
#define SWIGTYPE_p_csPtrTiPolygonHandle_t swig_types[128]
#define SWIGTYPE_p_csPtrTiRendererLightmap_t swig_types[129]
#define SWIGTYPE_p_csPtrTiRigidBody_t swig_types[130]
#define SWIGTYPE_p_csPtrTiSectorIterator_t swig_types[131]
#define SWIGTYPE_p_csPtrTiSequenceTrigger_t swig_types[132]
#define SWIGTYPE_p_csPtrTiSequenceWrapper_t swig_types[133]
#define SWIGTYPE_p_csPtrTiShaderPriorityList_t swig_types[134]
#define SWIGTYPE_p_csPtrTiShader_t swig_types[135]
#define SWIGTYPE_p_csPtrTiShadowBlockList_t swig_types[136]
#define SWIGTYPE_p_csPtrTiSuperLightmap_t swig_types[137]
#define SWIGTYPE_p_csPtrTiVisibilityObjectIterator_t swig_types[138]
#define SWIGTYPE_p_csQuaternion swig_types[139]
#define SWIGTYPE_p_csRGBcolor swig_types[140]
#define SWIGTYPE_p_csRGBpixel swig_types[141]
#define SWIGTYPE_p_csRandomGen swig_types[142]
#define SWIGTYPE_p_csRect swig_types[143]
#define SWIGTYPE_p_csRectRegion swig_types[144]
#define SWIGTYPE_p_csRefArrayTcsShaderVariable_t swig_types[145]
#define SWIGTYPE_p_csRefArrayTiAwsKey_t swig_types[146]
#define SWIGTYPE_p_csRefArrayTiObject_t swig_types[147]
#define SWIGTYPE_p_csRefArrayTiSceneNode_t swig_types[148]
#define SWIGTYPE_p_csRefArrayTiShader_t swig_types[149]
#define SWIGTYPE_p_csRefCount swig_types[150]
#define SWIGTYPE_p_csRefTiBase_t swig_types[151]
#define SWIGTYPE_p_csRefTiDocumentAttributeIterator_t swig_types[152]
#define SWIGTYPE_p_csRefTiDocumentAttribute_t swig_types[153]
#define SWIGTYPE_p_csRefTiDocumentNodeIterator_t swig_types[154]
#define SWIGTYPE_p_csRefTiDocumentNode_t swig_types[155]
#define SWIGTYPE_p_csRefTiDynamicsSystemCollider_t swig_types[156]
#define SWIGTYPE_p_csRefTiEventAttributeIterator_t swig_types[157]
#define SWIGTYPE_p_csRefTiEventHandlerRegistry_t swig_types[158]
#define SWIGTYPE_p_csRefTiEventHandler_t swig_types[159]
#define SWIGTYPE_p_csRefTiEventNameRegistry_t swig_types[160]
#define SWIGTYPE_p_csRefTiEvent_t swig_types[161]
#define SWIGTYPE_p_csRefTiGeneralFactoryState_t swig_types[162]
#define SWIGTYPE_p_csRefTiImage_t swig_types[163]
#define SWIGTYPE_p_csRefTiRenderBuffer_t swig_types[164]
#define SWIGTYPE_p_csRefTiRigidBody_t swig_types[165]
#define SWIGTYPE_p_csRefTiScriptObject_t swig_types[166]
#define SWIGTYPE_p_csRefTiString_t swig_types[167]
#define SWIGTYPE_p_csRenderBufferHolder swig_types[168]
#define SWIGTYPE_p_csRenderBufferName swig_types[169]
#define SWIGTYPE_p_csRenderMesh swig_types[170]
#define SWIGTYPE_p_csRenderMeshList swig_types[171]
#define SWIGTYPE_p_csRenderMeshModes swig_types[172]
#define SWIGTYPE_p_csReporterHelper swig_types[173]
#define SWIGTYPE_p_csReversibleTransform swig_types[174]
#define SWIGTYPE_p_csScreenBoxResult swig_types[175]
#define SWIGTYPE_p_csSectorHitBeamResult swig_types[176]
#define SWIGTYPE_p_csSegment2 swig_types[177]
#define SWIGTYPE_p_csSegment3 swig_types[178]
#define SWIGTYPE_p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t swig_types[179]
#define SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t swig_types[180]
#define SWIGTYPE_p_csShaderMetadata swig_types[181]
#define SWIGTYPE_p_csShaderTagPresence swig_types[182]
#define SWIGTYPE_p_csShaderVariable swig_types[183]
#define SWIGTYPE_p_csSimplePixmap swig_types[184]
#define SWIGTYPE_p_csSimpleRenderMesh swig_types[185]
#define SWIGTYPE_p_csSndSysRendererSoftware swig_types[186]
#define SWIGTYPE_p_csSndSysSoundFormat swig_types[187]
#define SWIGTYPE_p_csSourceParameters3D swig_types[188]
#define SWIGTYPE_p_csSphere swig_types[189]
#define SWIGTYPE_p_csSpline swig_types[190]
#define SWIGTYPE_p_csSprite2DVertex swig_types[191]
#define SWIGTYPE_p_csSpriteCal3DActiveAnim swig_types[192]
#define SWIGTYPE_p_csSquaredDist swig_types[193]
#define SWIGTYPE_p_csStrKey swig_types[194]
#define SWIGTYPE_p_csString swig_types[195]
#define SWIGTYPE_p_csStringArray swig_types[196]
#define SWIGTYPE_p_csStringBase swig_types[197]
#define SWIGTYPE_p_csStringFastT36_t swig_types[198]
#define SWIGTYPE_p_csStringSet swig_types[199]
#define SWIGTYPE_p_csTinyDocumentSystem swig_types[200]
#define SWIGTYPE_p_csTraceBeamResult swig_types[201]
#define SWIGTYPE_p_csTransform swig_types[202]
#define SWIGTYPE_p_csTriangle swig_types[203]
#define SWIGTYPE_p_csVector2 swig_types[204]
#define SWIGTYPE_p_csVector3 swig_types[205]
#define SWIGTYPE_p_csVector3Array swig_types[206]
#define SWIGTYPE_p_csVector4 swig_types[207]
#define SWIGTYPE_p_csVertexAttrib swig_types[208]
#define SWIGTYPE_p_csVertexStatus swig_types[209]
#define SWIGTYPE_p_csView swig_types[210]
#define SWIGTYPE_p_csWrapPtr swig_types[211]
#define SWIGTYPE_p_csXRotMatrix3 swig_types[212]
#define SWIGTYPE_p_csXScaleMatrix3 swig_types[213]
#define SWIGTYPE_p_csYRotMatrix3 swig_types[214]
#define SWIGTYPE_p_csYScaleMatrix3 swig_types[215]
#define SWIGTYPE_p_csZRotMatrix3 swig_types[216]
#define SWIGTYPE_p_csZScaleMatrix3 swig_types[217]
#define SWIGTYPE_p_double swig_types[218]
#define SWIGTYPE_p_f_p_iBase__p_csPath swig_types[219]
#define SWIGTYPE_p_f_p_iBase__p_iAnimTimeUpdateHandler swig_types[220]
#define SWIGTYPE_p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_t swig_types[221]
#define SWIGTYPE_p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_t swig_types[222]
#define SWIGTYPE_p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_t swig_types[223]
#define SWIGTYPE_p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_t swig_types[224]
#define SWIGTYPE_p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_t swig_types[225]
#define SWIGTYPE_p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_t swig_types[226]
#define SWIGTYPE_p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_t swig_types[227]
#define SWIGTYPE_p_f_p_iBase__p_iAws swig_types[228]
#define SWIGTYPE_p_f_p_iBase__p_iAwsComponent swig_types[229]
#define SWIGTYPE_p_f_p_iBase__p_iAwsComponentFactory swig_types[230]
#define SWIGTYPE_p_f_p_iBase__p_iAwsComponentNode swig_types[231]
#define SWIGTYPE_p_f_p_iBase__p_iAwsConnectionKey swig_types[232]
#define SWIGTYPE_p_f_p_iBase__p_iAwsConnectionNodeFactory swig_types[233]
#define SWIGTYPE_p_f_p_iBase__p_iAwsFloatKey swig_types[234]
#define SWIGTYPE_p_f_p_iBase__p_iAwsIntKey swig_types[235]
#define SWIGTYPE_p_f_p_iBase__p_iAwsKey swig_types[236]
#define SWIGTYPE_p_f_p_iBase__p_iAwsKeyContainer swig_types[237]
#define SWIGTYPE_p_f_p_iBase__p_iAwsKeyFactory swig_types[238]
#define SWIGTYPE_p_f_p_iBase__p_iAwsLayoutManager swig_types[239]
#define SWIGTYPE_p_f_p_iBase__p_iAwsPointKey swig_types[240]
#define SWIGTYPE_p_f_p_iBase__p_iAwsPrefManager swig_types[241]
#define SWIGTYPE_p_f_p_iBase__p_iAwsRGBKey swig_types[242]
#define SWIGTYPE_p_f_p_iBase__p_iAwsRectKey swig_types[243]
#define SWIGTYPE_p_f_p_iBase__p_iAwsSink swig_types[244]
#define SWIGTYPE_p_f_p_iBase__p_iAwsSinkManager swig_types[245]
#define SWIGTYPE_p_f_p_iBase__p_iAwsSlot swig_types[246]
#define SWIGTYPE_p_f_p_iBase__p_iAwsSource swig_types[247]
#define SWIGTYPE_p_f_p_iBase__p_iAwsStringKey swig_types[248]
#define SWIGTYPE_p_f_p_iBase__p_iBase swig_types[249]
#define SWIGTYPE_p_f_p_iBase__p_iBinaryLoaderPlugin swig_types[250]
#define SWIGTYPE_p_f_p_iBase__p_iBodyGroup swig_types[251]
#define SWIGTYPE_p_f_p_iBase__p_iCacheManager swig_types[252]
#define SWIGTYPE_p_f_p_iBase__p_iCamera swig_types[253]
#define SWIGTYPE_p_f_p_iBase__p_iCameraPosition swig_types[254]
#define SWIGTYPE_p_f_p_iBase__p_iCameraPositionList swig_types[255]
#define SWIGTYPE_p_f_p_iBase__p_iCameraSectorListener swig_types[256]
#define SWIGTYPE_p_f_p_iBase__p_iClipper2D swig_types[257]
#define SWIGTYPE_p_f_p_iBase__p_iCollideSystem swig_types[258]
#define SWIGTYPE_p_f_p_iBase__p_iCollider swig_types[259]
#define SWIGTYPE_p_f_p_iBase__p_iColoredVertices swig_types[260]
#define SWIGTYPE_p_f_p_iBase__p_iCommandLineParser swig_types[261]
#define SWIGTYPE_p_f_p_iBase__p_iComponent swig_types[262]
#define SWIGTYPE_p_f_p_iBase__p_iConfigFile swig_types[263]
#define SWIGTYPE_p_f_p_iBase__p_iConfigIterator swig_types[264]
#define SWIGTYPE_p_f_p_iBase__p_iConfigManager swig_types[265]
#define SWIGTYPE_p_f_p_iBase__p_iConsoleOutput swig_types[266]
#define SWIGTYPE_p_f_p_iBase__p_iConsoleWatcher swig_types[267]
#define SWIGTYPE_p_f_p_iBase__p_iDataBuffer swig_types[268]
#define SWIGTYPE_p_f_p_iBase__p_iDebugHelper swig_types[269]
#define SWIGTYPE_p_f_p_iBase__p_iDocument swig_types[270]
#define SWIGTYPE_p_f_p_iBase__p_iDocumentAttribute swig_types[271]
#define SWIGTYPE_p_f_p_iBase__p_iDocumentAttributeIterator swig_types[272]
#define SWIGTYPE_p_f_p_iBase__p_iDocumentNode swig_types[273]
#define SWIGTYPE_p_f_p_iBase__p_iDocumentNodeIterator swig_types[274]
#define SWIGTYPE_p_f_p_iBase__p_iDocumentSystem swig_types[275]
#define SWIGTYPE_p_f_p_iBase__p_iDynamicSystem swig_types[276]
#define SWIGTYPE_p_f_p_iBase__p_iDynamics swig_types[277]
#define SWIGTYPE_p_f_p_iBase__p_iDynamicsColliderCollisionCallback swig_types[278]
#define SWIGTYPE_p_f_p_iBase__p_iDynamicsCollisionCallback swig_types[279]
#define SWIGTYPE_p_f_p_iBase__p_iDynamicsMoveCallback swig_types[280]
#define SWIGTYPE_p_f_p_iBase__p_iDynamicsSystemCollider swig_types[281]
#define SWIGTYPE_p_f_p_iBase__p_iEngine swig_types[282]
#define SWIGTYPE_p_f_p_iBase__p_iEngineFrameCallback swig_types[283]
#define SWIGTYPE_p_f_p_iBase__p_iEngineSectorCallback swig_types[284]
#define SWIGTYPE_p_f_p_iBase__p_iEngineSequenceManager swig_types[285]
#define SWIGTYPE_p_f_p_iBase__p_iEngineSequenceParameters swig_types[286]
#define SWIGTYPE_p_f_p_iBase__p_iEvent swig_types[287]
#define SWIGTYPE_p_f_p_iBase__p_iEventAttributeIterator swig_types[288]
#define SWIGTYPE_p_f_p_iBase__p_iEventCord swig_types[289]
#define SWIGTYPE_p_f_p_iBase__p_iEventHandler swig_types[290]
#define SWIGTYPE_p_f_p_iBase__p_iEventNameRegistry swig_types[291]
#define SWIGTYPE_p_f_p_iBase__p_iEventOutlet swig_types[292]
#define SWIGTYPE_p_f_p_iBase__p_iEventPlug swig_types[293]
#define SWIGTYPE_p_f_p_iBase__p_iEventQueue swig_types[294]
#define SWIGTYPE_p_f_p_iBase__p_iFactory swig_types[295]
#define SWIGTYPE_p_f_p_iBase__p_iFile swig_types[296]
#define SWIGTYPE_p_f_p_iBase__p_iFont swig_types[297]
#define SWIGTYPE_p_f_p_iBase__p_iFontDeleteNotify swig_types[298]
#define SWIGTYPE_p_f_p_iBase__p_iFontServer swig_types[299]
#define SWIGTYPE_p_f_p_iBase__p_iFrustumView swig_types[300]
#define SWIGTYPE_p_f_p_iBase__p_iFrustumViewUserdata swig_types[301]
#define SWIGTYPE_p_f_p_iBase__p_iGenMeshAnimationControl swig_types[302]
#define SWIGTYPE_p_f_p_iBase__p_iGenMeshAnimationControlFactory swig_types[303]
#define SWIGTYPE_p_f_p_iBase__p_iGenMeshAnimationControlType swig_types[304]
#define SWIGTYPE_p_f_p_iBase__p_iGenMeshSkeletonControlState swig_types[305]
#define SWIGTYPE_p_f_p_iBase__p_iGeneralFactoryState swig_types[306]
#define SWIGTYPE_p_f_p_iBase__p_iGeneralMeshCommonState swig_types[307]
#define SWIGTYPE_p_f_p_iBase__p_iGeneralMeshState swig_types[308]
#define SWIGTYPE_p_f_p_iBase__p_iGeneralMeshSubMesh swig_types[309]
#define SWIGTYPE_p_f_p_iBase__p_iGraphics2D swig_types[310]
#define SWIGTYPE_p_f_p_iBase__p_iGraphics3D swig_types[311]
#define SWIGTYPE_p_f_p_iBase__p_iHalo swig_types[312]
#define SWIGTYPE_p_f_p_iBase__p_iImage swig_types[313]
#define SWIGTYPE_p_f_p_iBase__p_iImageIO swig_types[314]
#define SWIGTYPE_p_f_p_iBase__p_iJoint swig_types[315]
#define SWIGTYPE_p_f_p_iBase__p_iJoystickDriver swig_types[316]
#define SWIGTYPE_p_f_p_iBase__p_iKeyComposer swig_types[317]
#define SWIGTYPE_p_f_p_iBase__p_iKeyboardDriver swig_types[318]
#define SWIGTYPE_p_f_p_iBase__p_iLight swig_types[319]
#define SWIGTYPE_p_f_p_iBase__p_iLightCallback swig_types[320]
#define SWIGTYPE_p_f_p_iBase__p_iLightIterator swig_types[321]
#define SWIGTYPE_p_f_p_iBase__p_iLightList swig_types[322]
#define SWIGTYPE_p_f_p_iBase__p_iLightVisibleCallback swig_types[323]
#define SWIGTYPE_p_f_p_iBase__p_iLightingProcessData swig_types[324]
#define SWIGTYPE_p_f_p_iBase__p_iLightingProcessInfo swig_types[325]
#define SWIGTYPE_p_f_p_iBase__p_iLoader swig_types[326]
#define SWIGTYPE_p_f_p_iBase__p_iLoaderPlugin swig_types[327]
#define SWIGTYPE_p_f_p_iBase__p_iLoaderStatus swig_types[328]
#define SWIGTYPE_p_f_p_iBase__p_iMapNode swig_types[329]
#define SWIGTYPE_p_f_p_iBase__p_iMaterial swig_types[330]
#define SWIGTYPE_p_f_p_iBase__p_iMaterialEngine swig_types[331]
#define SWIGTYPE_p_f_p_iBase__p_iMaterialList swig_types[332]
#define SWIGTYPE_p_f_p_iBase__p_iMaterialWrapper swig_types[333]
#define SWIGTYPE_p_f_p_iBase__p_iMeshDrawCallback swig_types[334]
#define SWIGTYPE_p_f_p_iBase__p_iMeshFactoryList swig_types[335]
#define SWIGTYPE_p_f_p_iBase__p_iMeshFactoryWrapper swig_types[336]
#define SWIGTYPE_p_f_p_iBase__p_iMeshList swig_types[337]
#define SWIGTYPE_p_f_p_iBase__p_iMeshObject swig_types[338]
#define SWIGTYPE_p_f_p_iBase__p_iMeshObjectDrawCallback swig_types[339]
#define SWIGTYPE_p_f_p_iBase__p_iMeshObjectFactory swig_types[340]
#define SWIGTYPE_p_f_p_iBase__p_iMeshObjectType swig_types[341]
#define SWIGTYPE_p_f_p_iBase__p_iMeshWrapper swig_types[342]
#define SWIGTYPE_p_f_p_iBase__p_iMeshWrapperIterator swig_types[343]
#define SWIGTYPE_p_f_p_iBase__p_iMissingLoaderData swig_types[344]
#define SWIGTYPE_p_f_p_iBase__p_iMouseDriver swig_types[345]
#define SWIGTYPE_p_f_p_iBase__p_iMovable swig_types[346]
#define SWIGTYPE_p_f_p_iBase__p_iMovableListener swig_types[347]
#define SWIGTYPE_p_f_p_iBase__p_iMovieRecorder swig_types[348]
#define SWIGTYPE_p_f_p_iBase__p_iNativeWindow swig_types[349]
#define SWIGTYPE_p_f_p_iBase__p_iNativeWindowManager swig_types[350]
#define SWIGTYPE_p_f_p_iBase__p_iODEAMotorJoint swig_types[351]
#define SWIGTYPE_p_f_p_iBase__p_iODEBallJoint swig_types[352]
#define SWIGTYPE_p_f_p_iBase__p_iODEDynamicState swig_types[353]
#define SWIGTYPE_p_f_p_iBase__p_iODEDynamicSystemState swig_types[354]
#define SWIGTYPE_p_f_p_iBase__p_iODEFrameUpdateCallback swig_types[355]
#define SWIGTYPE_p_f_p_iBase__p_iODEGeneralJointState swig_types[356]
#define SWIGTYPE_p_f_p_iBase__p_iODEHinge2Joint swig_types[357]
#define SWIGTYPE_p_f_p_iBase__p_iODEHingeJoint swig_types[358]
#define SWIGTYPE_p_f_p_iBase__p_iODEJointState swig_types[359]
#define SWIGTYPE_p_f_p_iBase__p_iODESliderJoint swig_types[360]
#define SWIGTYPE_p_f_p_iBase__p_iODEUniversalJoint swig_types[361]
#define SWIGTYPE_p_f_p_iBase__p_iObject swig_types[362]
#define SWIGTYPE_p_f_p_iBase__p_iObjectIterator swig_types[363]
#define SWIGTYPE_p_f_p_iBase__p_iObjectModel swig_types[364]
#define SWIGTYPE_p_f_p_iBase__p_iObjectModelListener swig_types[365]
#define SWIGTYPE_p_f_p_iBase__p_iObjectNameChangeListener swig_types[366]
#define SWIGTYPE_p_f_p_iBase__p_iObjectRegistry swig_types[367]
#define SWIGTYPE_p_f_p_iBase__p_iObjectRegistryIterator swig_types[368]
#define SWIGTYPE_p_f_p_iBase__p_iOffscreenCanvasCallback swig_types[369]
#define SWIGTYPE_p_f_p_iBase__p_iParameterESM swig_types[370]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEffectorFactory swig_types[371]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEffectorForce swig_types[372]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEffectorLinColor swig_types[373]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEffectorVelocityField swig_types[374]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEmitterBase swig_types[375]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEmitterBox swig_types[376]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEmitterCone swig_types[377]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEmitterCylinder swig_types[378]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEmitterFactory swig_types[379]
#define SWIGTYPE_p_f_p_iBase__p_iParticleBuiltinEmitterSphere swig_types[380]
#define SWIGTYPE_p_f_p_iBase__p_iParticleEffector swig_types[381]
#define SWIGTYPE_p_f_p_iBase__p_iParticleEmitter swig_types[382]
#define SWIGTYPE_p_f_p_iBase__p_iParticleSystem swig_types[383]
#define SWIGTYPE_p_f_p_iBase__p_iParticleSystemBase swig_types[384]
#define SWIGTYPE_p_f_p_iBase__p_iParticleSystemFactory swig_types[385]
#define SWIGTYPE_p_f_p_iBase__p_iPath swig_types[386]
#define SWIGTYPE_p_f_p_iBase__p_iPluginIterator swig_types[387]
#define SWIGTYPE_p_f_p_iBase__p_iPluginManager swig_types[388]
#define SWIGTYPE_p_f_p_iBase__p_iPolygonHandle swig_types[389]
#define SWIGTYPE_p_f_p_iBase__p_iPolygonMesh swig_types[390]
#define SWIGTYPE_p_f_p_iBase__p_iPortal swig_types[391]
#define SWIGTYPE_p_f_p_iBase__p_iPortalCallback swig_types[392]
#define SWIGTYPE_p_f_p_iBase__p_iPortalContainer swig_types[393]
#define SWIGTYPE_p_f_p_iBase__p_iRegion swig_types[394]
#define SWIGTYPE_p_f_p_iBase__p_iRegionList swig_types[395]
#define SWIGTYPE_p_f_p_iBase__p_iRendererLightmap swig_types[396]
#define SWIGTYPE_p_f_p_iBase__p_iReporter swig_types[397]
#define SWIGTYPE_p_f_p_iBase__p_iReporterIterator swig_types[398]
#define SWIGTYPE_p_f_p_iBase__p_iReporterListener swig_types[399]
#define SWIGTYPE_p_f_p_iBase__p_iRigidBody swig_types[400]
#define SWIGTYPE_p_f_p_iBase__p_iSCF swig_types[401]
#define SWIGTYPE_p_f_p_iBase__p_iSaver swig_types[402]
#define SWIGTYPE_p_f_p_iBase__p_iSceneNode swig_types[403]
#define SWIGTYPE_p_f_p_iBase__p_iSceneNodeArray swig_types[404]
#define SWIGTYPE_p_f_p_iBase__p_iScript swig_types[405]
#define SWIGTYPE_p_f_p_iBase__p_iScriptObject swig_types[406]
#define SWIGTYPE_p_f_p_iBase__p_iSector swig_types[407]
#define SWIGTYPE_p_f_p_iBase__p_iSectorCallback swig_types[408]
#define SWIGTYPE_p_f_p_iBase__p_iSectorIterator swig_types[409]
#define SWIGTYPE_p_f_p_iBase__p_iSectorList swig_types[410]
#define SWIGTYPE_p_f_p_iBase__p_iSectorMeshCallback swig_types[411]
#define SWIGTYPE_p_f_p_iBase__p_iSequenceTimedOperation swig_types[412]
#define SWIGTYPE_p_f_p_iBase__p_iSequenceTrigger swig_types[413]
#define SWIGTYPE_p_f_p_iBase__p_iSequenceWrapper swig_types[414]
#define SWIGTYPE_p_f_p_iBase__p_iShader swig_types[415]
#define SWIGTYPE_p_f_p_iBase__p_iShaderCompiler swig_types[416]
#define SWIGTYPE_p_f_p_iBase__p_iShaderManager swig_types[417]
#define SWIGTYPE_p_f_p_iBase__p_iShaderPriorityList swig_types[418]
#define SWIGTYPE_p_f_p_iBase__p_iShaderVarStack swig_types[419]
#define SWIGTYPE_p_f_p_iBase__p_iShaderVariableAccessor swig_types[420]
#define SWIGTYPE_p_f_p_iBase__p_iShaderVariableContext swig_types[421]
#define SWIGTYPE_p_f_p_iBase__p_iSimpleFormerState swig_types[422]
#define SWIGTYPE_p_f_p_iBase__p_iSkeleton swig_types[423]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonBone swig_types[424]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonBoneFactory swig_types[425]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonBoneRagdollInfo swig_types[426]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonBoneUpdateCallback swig_types[427]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonFactory swig_types[428]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonGraveyard swig_types[429]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonScript swig_types[430]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonScriptCallback swig_types[431]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonScriptKeyFrame swig_types[432]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonSocket swig_types[433]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonSocketFactory swig_types[434]
#define SWIGTYPE_p_f_p_iBase__p_iSkeletonUpdateCallback swig_types[435]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysData swig_types[436]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysListener swig_types[437]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysLoader swig_types[438]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysManager swig_types[439]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysRenderer swig_types[440]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysRendererCallback swig_types[441]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysRendererSoftware swig_types[442]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysSoftwareDriver swig_types[443]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysSoftwareFilter3D swig_types[444]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysSoftwareOutputFilter swig_types[445]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysSource swig_types[446]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysSourceSoftware swig_types[447]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysSourceSoftware3D swig_types[448]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysStream swig_types[449]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysStreamCallback swig_types[450]
#define SWIGTYPE_p_f_p_iBase__p_iSndSysWrapper swig_types[451]
#define SWIGTYPE_p_f_p_iBase__p_iSprite2DFactoryState swig_types[452]
#define SWIGTYPE_p_f_p_iBase__p_iSprite2DState swig_types[453]
#define SWIGTYPE_p_f_p_iBase__p_iSprite2DUVAnimation swig_types[454]
#define SWIGTYPE_p_f_p_iBase__p_iSprite2DUVAnimationFrame swig_types[455]
#define SWIGTYPE_p_f_p_iBase__p_iSprite3DFactoryState swig_types[456]
#define SWIGTYPE_p_f_p_iBase__p_iSprite3DState swig_types[457]
#define SWIGTYPE_p_f_p_iBase__p_iSpriteAction swig_types[458]
#define SWIGTYPE_p_f_p_iBase__p_iSpriteCal3DFactoryState swig_types[459]
#define SWIGTYPE_p_f_p_iBase__p_iSpriteCal3DSocket swig_types[460]
#define SWIGTYPE_p_f_p_iBase__p_iSpriteCal3DState swig_types[461]
#define SWIGTYPE_p_f_p_iBase__p_iSpriteFrame swig_types[462]
#define SWIGTYPE_p_f_p_iBase__p_iSpriteSocket swig_types[463]
#define SWIGTYPE_p_f_p_iBase__p_iStandardReporterListener swig_types[464]
#define SWIGTYPE_p_f_p_iBase__p_iString swig_types[465]
#define SWIGTYPE_p_f_p_iBase__p_iStringArray swig_types[466]
#define SWIGTYPE_p_f_p_iBase__p_iStringSet swig_types[467]
#define SWIGTYPE_p_f_p_iBase__p_iSuperLightmap swig_types[468]
#define SWIGTYPE_p_f_p_iBase__p_iTerraFormer swig_types[469]
#define SWIGTYPE_p_f_p_iBase__p_iTerraSampler swig_types[470]
#define SWIGTYPE_p_f_p_iBase__p_iTerrainFactoryState swig_types[471]
#define SWIGTYPE_p_f_p_iBase__p_iTerrainObjectState swig_types[472]
#define SWIGTYPE_p_f_p_iBase__p_iTextureCallback swig_types[473]
#define SWIGTYPE_p_f_p_iBase__p_iTextureHandle swig_types[474]
#define SWIGTYPE_p_f_p_iBase__p_iTextureList swig_types[475]
#define SWIGTYPE_p_f_p_iBase__p_iTextureManager swig_types[476]
#define SWIGTYPE_p_f_p_iBase__p_iTextureWrapper swig_types[477]
#define SWIGTYPE_p_f_p_iBase__p_iThingEnvironment swig_types[478]
#define SWIGTYPE_p_f_p_iBase__p_iThingFactoryState swig_types[479]
#define SWIGTYPE_p_f_p_iBase__p_iThingState swig_types[480]
#define SWIGTYPE_p_f_p_iBase__p_iVFS swig_types[481]
#define SWIGTYPE_p_f_p_iBase__p_iView swig_types[482]
#define SWIGTYPE_p_f_p_iBase__p_iVirtualClock swig_types[483]
#define SWIGTYPE_p_f_p_iBase__p_iVisibilityCuller swig_types[484]
#define SWIGTYPE_p_f_p_iBase__p_iVisibilityCullerListener swig_types[485]
#define SWIGTYPE_p_f_p_iBase__p_iVisibilityObject swig_types[486]
#define SWIGTYPE_p_f_p_iBase__p_iVisibilityObjectIterator swig_types[487]
#define SWIGTYPE_p_f_p_iBase__p_scfImplementation1TcsPath_iPath_t swig_types[488]
#define SWIGTYPE_p_f_p_iMeshWrapper_p_iFrustumView_bool__void swig_types[489]
#define SWIGTYPE_p_f_unsigned_long_int_p_iAwsSource__void swig_types[490]
#define SWIGTYPE_p_f_unsigned_long_p_void_p_iAwsSource__void swig_types[491]
#define SWIGTYPE_p_float swig_types[492]
#define SWIGTYPE_p_iAnimTimeUpdateHandler swig_types[493]
#define SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t swig_types[494]
#define SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t swig_types[495]
#define SWIGTYPE_p_iArrayChangeElementsTcsShaderVariable_p_t swig_types[496]
#define SWIGTYPE_p_iArrayChangeElementsTcsSprite2DVertex_t swig_types[497]
#define SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t swig_types[498]
#define SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t swig_types[499]
#define SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t swig_types[500]
#define SWIGTYPE_p_iAws swig_types[501]
#define SWIGTYPE_p_iAwsCanvas swig_types[502]
#define SWIGTYPE_p_iAwsComponent swig_types[503]
#define SWIGTYPE_p_iAwsComponentFactory swig_types[504]
#define SWIGTYPE_p_iAwsComponentNode swig_types[505]
#define SWIGTYPE_p_iAwsConnectionKey swig_types[506]
#define SWIGTYPE_p_iAwsConnectionNodeFactory swig_types[507]
#define SWIGTYPE_p_iAwsFloatKey swig_types[508]
#define SWIGTYPE_p_iAwsIntKey swig_types[509]
#define SWIGTYPE_p_iAwsKey swig_types[510]
#define SWIGTYPE_p_iAwsKeyContainer swig_types[511]
#define SWIGTYPE_p_iAwsKeyFactory swig_types[512]
#define SWIGTYPE_p_iAwsLayoutManager swig_types[513]
#define SWIGTYPE_p_iAwsParmList swig_types[514]
#define SWIGTYPE_p_iAwsPointKey swig_types[515]
#define SWIGTYPE_p_iAwsPrefManager swig_types[516]
#define SWIGTYPE_p_iAwsRGBKey swig_types[517]
#define SWIGTYPE_p_iAwsRGBKey__RGB swig_types[518]
#define SWIGTYPE_p_iAwsRectKey swig_types[519]
#define SWIGTYPE_p_iAwsSink swig_types[520]
#define SWIGTYPE_p_iAwsSinkManager swig_types[521]
#define SWIGTYPE_p_iAwsSlot swig_types[522]
#define SWIGTYPE_p_iAwsSource swig_types[523]
#define SWIGTYPE_p_iAwsStringKey swig_types[524]
#define SWIGTYPE_p_iBase swig_types[525]
#define SWIGTYPE_p_iBaseHalo swig_types[526]
#define SWIGTYPE_p_iBinaryLoaderPlugin swig_types[527]
#define SWIGTYPE_p_iBodyGroup swig_types[528]
#define SWIGTYPE_p_iCacheManager swig_types[529]
#define SWIGTYPE_p_iCamera swig_types[530]
#define SWIGTYPE_p_iCameraPosition swig_types[531]
#define SWIGTYPE_p_iCameraPositionList swig_types[532]
#define SWIGTYPE_p_iCameraSectorListener swig_types[533]
#define SWIGTYPE_p_iClipper2D swig_types[534]
#define SWIGTYPE_p_iCollection swig_types[535]
#define SWIGTYPE_p_iCollectionList swig_types[536]
#define SWIGTYPE_p_iCollideSystem swig_types[537]
#define SWIGTYPE_p_iCollider swig_types[538]
#define SWIGTYPE_p_iColoredVertices swig_types[539]
#define SWIGTYPE_p_iCommandLineParser swig_types[540]
#define SWIGTYPE_p_iComponent swig_types[541]
#define SWIGTYPE_p_iConfigFile swig_types[542]
#define SWIGTYPE_p_iConfigIterator swig_types[543]
#define SWIGTYPE_p_iConfigManager swig_types[544]
#define SWIGTYPE_p_iConsoleOutput swig_types[545]
#define SWIGTYPE_p_iConsoleWatcher swig_types[546]
#define SWIGTYPE_p_iCrossHalo swig_types[547]
#define SWIGTYPE_p_iDataBuffer swig_types[548]
#define SWIGTYPE_p_iDebugHelper swig_types[549]
#define SWIGTYPE_p_iDocument swig_types[550]
#define SWIGTYPE_p_iDocumentAttribute swig_types[551]
#define SWIGTYPE_p_iDocumentAttributeIterator swig_types[552]
#define SWIGTYPE_p_iDocumentNode swig_types[553]
#define SWIGTYPE_p_iDocumentNodeIterator swig_types[554]
#define SWIGTYPE_p_iDocumentSystem swig_types[555]
#define SWIGTYPE_p_iDynamicSystem swig_types[556]
#define SWIGTYPE_p_iDynamics swig_types[557]
#define SWIGTYPE_p_iDynamicsColliderCollisionCallback swig_types[558]
#define SWIGTYPE_p_iDynamicsCollisionCallback swig_types[559]
#define SWIGTYPE_p_iDynamicsMoveCallback swig_types[560]
#define SWIGTYPE_p_iDynamicsSystemCollider swig_types[561]
#define SWIGTYPE_p_iEngine swig_types[562]
#define SWIGTYPE_p_iEngineFrameCallback swig_types[563]
#define SWIGTYPE_p_iEngineSectorCallback swig_types[564]
#define SWIGTYPE_p_iEngineSequenceManager swig_types[565]
#define SWIGTYPE_p_iEngineSequenceParameters swig_types[566]
#define SWIGTYPE_p_iEvent swig_types[567]
#define SWIGTYPE_p_iEventAttributeIterator swig_types[568]
#define SWIGTYPE_p_iEventCord swig_types[569]
#define SWIGTYPE_p_iEventHandler swig_types[570]
#define SWIGTYPE_p_iEventNameRegistry swig_types[571]
#define SWIGTYPE_p_iEventOutlet swig_types[572]
#define SWIGTYPE_p_iEventPlug swig_types[573]
#define SWIGTYPE_p_iEventQueue swig_types[574]
#define SWIGTYPE_p_iFactory swig_types[575]
#define SWIGTYPE_p_iFile swig_types[576]
#define SWIGTYPE_p_iFlareHalo swig_types[577]
#define SWIGTYPE_p_iFont swig_types[578]
#define SWIGTYPE_p_iFontDeleteNotify swig_types[579]
#define SWIGTYPE_p_iFontServer swig_types[580]
#define SWIGTYPE_p_iFrustumView swig_types[581]
#define SWIGTYPE_p_iFrustumViewUserdata swig_types[582]
#define SWIGTYPE_p_iGenMeshAnimationControl swig_types[583]
#define SWIGTYPE_p_iGenMeshAnimationControlFactory swig_types[584]
#define SWIGTYPE_p_iGenMeshAnimationControlType swig_types[585]
#define SWIGTYPE_p_iGenMeshSkeletonControlState swig_types[586]
#define SWIGTYPE_p_iGeneralFactoryState swig_types[587]
#define SWIGTYPE_p_iGeneralMeshCommonState swig_types[588]
#define SWIGTYPE_p_iGeneralMeshState swig_types[589]
#define SWIGTYPE_p_iGeneralMeshSubMesh swig_types[590]
#define SWIGTYPE_p_iGraphics2D swig_types[591]
#define SWIGTYPE_p_iGraphics3D swig_types[592]
#define SWIGTYPE_p_iHalo swig_types[593]
#define SWIGTYPE_p_iImage swig_types[594]
#define SWIGTYPE_p_iImageIO swig_types[595]
#define SWIGTYPE_p_iJoint swig_types[596]
#define SWIGTYPE_p_iJoystickDriver swig_types[597]
#define SWIGTYPE_p_iKeyComposer swig_types[598]
#define SWIGTYPE_p_iKeyboardDriver swig_types[599]
#define SWIGTYPE_p_iLODControl swig_types[600]
#define SWIGTYPE_p_iLight swig_types[601]
#define SWIGTYPE_p_iLightCallback swig_types[602]
#define SWIGTYPE_p_iLightIterator swig_types[603]
#define SWIGTYPE_p_iLightList swig_types[604]
#define SWIGTYPE_p_iLightVisibleCallback swig_types[605]
#define SWIGTYPE_p_iLightingInfo swig_types[606]
#define SWIGTYPE_p_iLightingProcessData swig_types[607]
#define SWIGTYPE_p_iLightingProcessInfo swig_types[608]
#define SWIGTYPE_p_iLoader swig_types[609]
#define SWIGTYPE_p_iLoaderContext swig_types[610]
#define SWIGTYPE_p_iLoaderPlugin swig_types[611]
#define SWIGTYPE_p_iLoaderStatus swig_types[612]
#define SWIGTYPE_p_iMapNode swig_types[613]
#define SWIGTYPE_p_iMaterial swig_types[614]
#define SWIGTYPE_p_iMaterialEngine swig_types[615]
#define SWIGTYPE_p_iMaterialList swig_types[616]
#define SWIGTYPE_p_iMaterialWrapper swig_types[617]
#define SWIGTYPE_p_iMeshDrawCallback swig_types[618]
#define SWIGTYPE_p_iMeshFactoryList swig_types[619]
#define SWIGTYPE_p_iMeshFactoryWrapper swig_types[620]
#define SWIGTYPE_p_iMeshGenerator swig_types[621]
#define SWIGTYPE_p_iMeshList swig_types[622]
#define SWIGTYPE_p_iMeshObject swig_types[623]
#define SWIGTYPE_p_iMeshObjectDrawCallback swig_types[624]
#define SWIGTYPE_p_iMeshObjectFactory swig_types[625]
#define SWIGTYPE_p_iMeshObjectType swig_types[626]
#define SWIGTYPE_p_iMeshWrapper swig_types[627]
#define SWIGTYPE_p_iMeshWrapperIterator swig_types[628]
#define SWIGTYPE_p_iMissingLoaderData swig_types[629]
#define SWIGTYPE_p_iMouseDriver swig_types[630]
#define SWIGTYPE_p_iMovable swig_types[631]
#define SWIGTYPE_p_iMovableListener swig_types[632]
#define SWIGTYPE_p_iMovieRecorder swig_types[633]
#define SWIGTYPE_p_iNativeWindow swig_types[634]
#define SWIGTYPE_p_iNativeWindowManager swig_types[635]
#define SWIGTYPE_p_iNovaHalo swig_types[636]
#define SWIGTYPE_p_iODEAMotorJoint swig_types[637]
#define SWIGTYPE_p_iODEBallJoint swig_types[638]
#define SWIGTYPE_p_iODEDynamicState swig_types[639]
#define SWIGTYPE_p_iODEDynamicSystemState swig_types[640]
#define SWIGTYPE_p_iODEFrameUpdateCallback swig_types[641]
#define SWIGTYPE_p_iODEGeneralJointState swig_types[642]
#define SWIGTYPE_p_iODEHinge2Joint swig_types[643]
#define SWIGTYPE_p_iODEHingeJoint swig_types[644]
#define SWIGTYPE_p_iODEJointState swig_types[645]
#define SWIGTYPE_p_iODESliderJoint swig_types[646]
#define SWIGTYPE_p_iODEUniversalJoint swig_types[647]
#define SWIGTYPE_p_iObject swig_types[648]
#define SWIGTYPE_p_iObjectIterator swig_types[649]
#define SWIGTYPE_p_iObjectModel swig_types[650]
#define SWIGTYPE_p_iObjectModelListener swig_types[651]
#define SWIGTYPE_p_iObjectNameChangeListener swig_types[652]
#define SWIGTYPE_p_iObjectRegistry swig_types[653]
#define SWIGTYPE_p_iObjectRegistryIterator swig_types[654]
#define SWIGTYPE_p_iOffscreenCanvasCallback swig_types[655]
#define SWIGTYPE_p_iParameterESM swig_types[656]
#define SWIGTYPE_p_iParticleBuiltinEffectorFactory swig_types[657]
#define SWIGTYPE_p_iParticleBuiltinEffectorForce swig_types[658]
#define SWIGTYPE_p_iParticleBuiltinEffectorLinColor swig_types[659]
#define SWIGTYPE_p_iParticleBuiltinEffectorVelocityField swig_types[660]
#define SWIGTYPE_p_iParticleBuiltinEmitterBase swig_types[661]
#define SWIGTYPE_p_iParticleBuiltinEmitterBox swig_types[662]
#define SWIGTYPE_p_iParticleBuiltinEmitterCone swig_types[663]
#define SWIGTYPE_p_iParticleBuiltinEmitterCylinder swig_types[664]
#define SWIGTYPE_p_iParticleBuiltinEmitterFactory swig_types[665]
#define SWIGTYPE_p_iParticleBuiltinEmitterSphere swig_types[666]
#define SWIGTYPE_p_iParticleEffector swig_types[667]
#define SWIGTYPE_p_iParticleEmitter swig_types[668]
#define SWIGTYPE_p_iParticleSystem swig_types[669]
#define SWIGTYPE_p_iParticleSystemBase swig_types[670]
#define SWIGTYPE_p_iParticleSystemFactory swig_types[671]
#define SWIGTYPE_p_iPath swig_types[672]
#define SWIGTYPE_p_iPluginIterator swig_types[673]
#define SWIGTYPE_p_iPluginManager swig_types[674]
#define SWIGTYPE_p_iPolygonHandle swig_types[675]
#define SWIGTYPE_p_iPolygonMesh swig_types[676]
#define SWIGTYPE_p_iPortal swig_types[677]
#define SWIGTYPE_p_iPortalCallback swig_types[678]
#define SWIGTYPE_p_iPortalContainer swig_types[679]
#define SWIGTYPE_p_iProgressMeter swig_types[680]
#define SWIGTYPE_p_iRegion swig_types[681]
#define SWIGTYPE_p_iRegionList swig_types[682]
#define SWIGTYPE_p_iRenderBuffer swig_types[683]
#define SWIGTYPE_p_iRenderLoop swig_types[684]
#define SWIGTYPE_p_iRenderLoopManager swig_types[685]
#define SWIGTYPE_p_iRenderView swig_types[686]
#define SWIGTYPE_p_iRendererLightmap swig_types[687]
#define SWIGTYPE_p_iReporter swig_types[688]
#define SWIGTYPE_p_iReporterIterator swig_types[689]
#define SWIGTYPE_p_iReporterListener swig_types[690]
#define SWIGTYPE_p_iRigidBody swig_types[691]
#define SWIGTYPE_p_iSCF swig_types[692]
#define SWIGTYPE_p_iSaver swig_types[693]
#define SWIGTYPE_p_iSceneNode swig_types[694]
#define SWIGTYPE_p_iSceneNodeArray swig_types[695]
#define SWIGTYPE_p_iScript swig_types[696]
#define SWIGTYPE_p_iScriptObject swig_types[697]
#define SWIGTYPE_p_iSector swig_types[698]
#define SWIGTYPE_p_iSectorCallback swig_types[699]
#define SWIGTYPE_p_iSectorIterator swig_types[700]
#define SWIGTYPE_p_iSectorList swig_types[701]
#define SWIGTYPE_p_iSectorMeshCallback swig_types[702]
#define SWIGTYPE_p_iSequence swig_types[703]
#define SWIGTYPE_p_iSequenceManager swig_types[704]
#define SWIGTYPE_p_iSequenceTimedOperation swig_types[705]
#define SWIGTYPE_p_iSequenceTrigger swig_types[706]
#define SWIGTYPE_p_iSequenceWrapper swig_types[707]
#define SWIGTYPE_p_iShader swig_types[708]
#define SWIGTYPE_p_iShaderCompiler swig_types[709]
#define SWIGTYPE_p_iShaderManager swig_types[710]
#define SWIGTYPE_p_iShaderPriorityList swig_types[711]
#define SWIGTYPE_p_iShaderVarStack swig_types[712]
#define SWIGTYPE_p_iShaderVariableAccessor swig_types[713]
#define SWIGTYPE_p_iShaderVariableContext swig_types[714]
#define SWIGTYPE_p_iShadowBlockList swig_types[715]
#define SWIGTYPE_p_iShadowCaster swig_types[716]
#define SWIGTYPE_p_iShadowReceiver swig_types[717]
#define SWIGTYPE_p_iSharedVariable swig_types[718]
#define SWIGTYPE_p_iSharedVariableList swig_types[719]
#define SWIGTYPE_p_iSimpleFormerState swig_types[720]
#define SWIGTYPE_p_iSkeleton swig_types[721]
#define SWIGTYPE_p_iSkeletonBone swig_types[722]
#define SWIGTYPE_p_iSkeletonBoneFactory swig_types[723]
#define SWIGTYPE_p_iSkeletonBoneRagdollInfo swig_types[724]
#define SWIGTYPE_p_iSkeletonBoneUpdateCallback swig_types[725]
#define SWIGTYPE_p_iSkeletonFactory swig_types[726]
#define SWIGTYPE_p_iSkeletonGraveyard swig_types[727]
#define SWIGTYPE_p_iSkeletonScript swig_types[728]
#define SWIGTYPE_p_iSkeletonScriptCallback swig_types[729]
#define SWIGTYPE_p_iSkeletonScriptKeyFrame swig_types[730]
#define SWIGTYPE_p_iSkeletonSocket swig_types[731]
#define SWIGTYPE_p_iSkeletonSocketFactory swig_types[732]
#define SWIGTYPE_p_iSkeletonUpdateCallback swig_types[733]
#define SWIGTYPE_p_iSndSysData swig_types[734]
#define SWIGTYPE_p_iSndSysListener swig_types[735]
#define SWIGTYPE_p_iSndSysLoader swig_types[736]
#define SWIGTYPE_p_iSndSysManager swig_types[737]
#define SWIGTYPE_p_iSndSysRenderer swig_types[738]
#define SWIGTYPE_p_iSndSysRendererCallback swig_types[739]
#define SWIGTYPE_p_iSndSysRendererSoftware swig_types[740]
#define SWIGTYPE_p_iSndSysSoftwareDriver swig_types[741]
#define SWIGTYPE_p_iSndSysSoftwareFilter3D swig_types[742]
#define SWIGTYPE_p_iSndSysSoftwareFilter3DProperties swig_types[743]
#define SWIGTYPE_p_iSndSysSoftwareOutputFilter swig_types[744]
#define SWIGTYPE_p_iSndSysSource swig_types[745]
#define SWIGTYPE_p_iSndSysSourceSoftware swig_types[746]
#define SWIGTYPE_p_iSndSysSourceSoftware3D swig_types[747]
#define SWIGTYPE_p_iSndSysStream swig_types[748]
#define SWIGTYPE_p_iSndSysStreamCallback swig_types[749]
#define SWIGTYPE_p_iSndSysWrapper swig_types[750]
#define SWIGTYPE_p_iSprite2DFactoryState swig_types[751]
#define SWIGTYPE_p_iSprite2DState swig_types[752]
#define SWIGTYPE_p_iSprite2DUVAnimation swig_types[753]
#define SWIGTYPE_p_iSprite2DUVAnimationFrame swig_types[754]
#define SWIGTYPE_p_iSprite3DFactoryState swig_types[755]
#define SWIGTYPE_p_iSprite3DState swig_types[756]
#define SWIGTYPE_p_iSpriteAction swig_types[757]
#define SWIGTYPE_p_iSpriteCal3DFactoryState swig_types[758]
#define SWIGTYPE_p_iSpriteCal3DSocket swig_types[759]
#define SWIGTYPE_p_iSpriteCal3DState swig_types[760]
#define SWIGTYPE_p_iSpriteFrame swig_types[761]
#define SWIGTYPE_p_iSpriteSocket swig_types[762]
#define SWIGTYPE_p_iStandardReporterListener swig_types[763]
#define SWIGTYPE_p_iStreamSource swig_types[764]
#define SWIGTYPE_p_iString swig_types[765]
#define SWIGTYPE_p_iStringArray swig_types[766]
#define SWIGTYPE_p_iStringSet swig_types[767]
#define SWIGTYPE_p_iSuperLightmap swig_types[768]
#define SWIGTYPE_p_iTerraFormer swig_types[769]
#define SWIGTYPE_p_iTerraSampler swig_types[770]
#define SWIGTYPE_p_iTerrainFactoryState swig_types[771]
#define SWIGTYPE_p_iTerrainObjectState swig_types[772]
#define SWIGTYPE_p_iTextureCallback swig_types[773]
#define SWIGTYPE_p_iTextureHandle swig_types[774]
#define SWIGTYPE_p_iTextureList swig_types[775]
#define SWIGTYPE_p_iTextureManager swig_types[776]
#define SWIGTYPE_p_iTextureWrapper swig_types[777]
#define SWIGTYPE_p_iThingEnvironment swig_types[778]
#define SWIGTYPE_p_iThingFactoryState swig_types[779]
#define SWIGTYPE_p_iThingState swig_types[780]
#define SWIGTYPE_p_iVFS swig_types[781]
#define SWIGTYPE_p_iVerbosityManager swig_types[782]
#define SWIGTYPE_p_iView swig_types[783]
#define SWIGTYPE_p_iVirtualClock swig_types[784]
#define SWIGTYPE_p_iVisibilityCuller swig_types[785]
#define SWIGTYPE_p_iVisibilityCullerListener swig_types[786]
#define SWIGTYPE_p_iVisibilityObject swig_types[787]
#define SWIGTYPE_p_iVisibilityObjectIterator swig_types[788]
#define SWIGTYPE_p_int swig_types[789]
#define SWIGTYPE_p_int16_t swig_types[790]
#define SWIGTYPE_p_int32_t swig_types[791]
#define SWIGTYPE_p_int64_t swig_types[792]
#define SWIGTYPE_p_int8_t swig_types[793]
#define SWIGTYPE_p_int_least64_t swig_types[794]
#define SWIGTYPE_p_p_char swig_types[795]
#define SWIGTYPE_p_p_csImageIOFileFormatDescription swig_types[796]
#define SWIGTYPE_p_p_csOrthoTransform swig_types[797]
#define SWIGTYPE_p_p_csPath swig_types[798]
#define SWIGTYPE_p_p_csRenderMesh swig_types[799]
#define SWIGTYPE_p_p_csReversibleTransform swig_types[800]
#define SWIGTYPE_p_p_csShaderVariable swig_types[801]
#define SWIGTYPE_p_p_csVector3 swig_types[802]
#define SWIGTYPE_p_p_iAnimTimeUpdateHandler swig_types[803]
#define SWIGTYPE_p_p_iArrayChangeAllTcsShaderVariable_p_t swig_types[804]
#define SWIGTYPE_p_p_iArrayChangeAllTcsSprite2DVertex_t swig_types[805]
#define SWIGTYPE_p_p_iArrayChangeElementsTcsShaderVariable_p_t swig_types[806]
#define SWIGTYPE_p_p_iArrayChangeElementsTcsSprite2DVertex_t swig_types[807]
#define SWIGTYPE_p_p_iArrayReadOnlyTcsShaderVariable_p_t swig_types[808]
#define SWIGTYPE_p_p_iArrayReadOnlyTcsSprite2DVertex_t swig_types[809]
#define SWIGTYPE_p_p_iArrayReadOnlyTiSceneNode_p_t swig_types[810]
#define SWIGTYPE_p_p_iAws swig_types[811]
#define SWIGTYPE_p_p_iAwsComponent swig_types[812]
#define SWIGTYPE_p_p_iAwsComponentFactory swig_types[813]
#define SWIGTYPE_p_p_iAwsComponentNode swig_types[814]
#define SWIGTYPE_p_p_iAwsConnectionKey swig_types[815]
#define SWIGTYPE_p_p_iAwsConnectionNodeFactory swig_types[816]
#define SWIGTYPE_p_p_iAwsFloatKey swig_types[817]
#define SWIGTYPE_p_p_iAwsIntKey swig_types[818]
#define SWIGTYPE_p_p_iAwsKey swig_types[819]
#define SWIGTYPE_p_p_iAwsKeyContainer swig_types[820]
#define SWIGTYPE_p_p_iAwsKeyFactory swig_types[821]
#define SWIGTYPE_p_p_iAwsLayoutManager swig_types[822]
#define SWIGTYPE_p_p_iAwsPointKey swig_types[823]
#define SWIGTYPE_p_p_iAwsPrefManager swig_types[824]
#define SWIGTYPE_p_p_iAwsRGBKey swig_types[825]
#define SWIGTYPE_p_p_iAwsRectKey swig_types[826]
#define SWIGTYPE_p_p_iAwsSink swig_types[827]
#define SWIGTYPE_p_p_iAwsSinkManager swig_types[828]
#define SWIGTYPE_p_p_iAwsSlot swig_types[829]
#define SWIGTYPE_p_p_iAwsSource swig_types[830]
#define SWIGTYPE_p_p_iAwsStringKey swig_types[831]
#define SWIGTYPE_p_p_iBase swig_types[832]
#define SWIGTYPE_p_p_iBinaryLoaderPlugin swig_types[833]
#define SWIGTYPE_p_p_iBodyGroup swig_types[834]
#define SWIGTYPE_p_p_iCacheManager swig_types[835]
#define SWIGTYPE_p_p_iCamera swig_types[836]
#define SWIGTYPE_p_p_iCameraPosition swig_types[837]
#define SWIGTYPE_p_p_iCameraPositionList swig_types[838]
#define SWIGTYPE_p_p_iCameraSectorListener swig_types[839]
#define SWIGTYPE_p_p_iClipper2D swig_types[840]
#define SWIGTYPE_p_p_iCollideSystem swig_types[841]
#define SWIGTYPE_p_p_iCollider swig_types[842]
#define SWIGTYPE_p_p_iColoredVertices swig_types[843]
#define SWIGTYPE_p_p_iCommandLineParser swig_types[844]
#define SWIGTYPE_p_p_iComponent swig_types[845]
#define SWIGTYPE_p_p_iConfigFile swig_types[846]
#define SWIGTYPE_p_p_iConfigIterator swig_types[847]
#define SWIGTYPE_p_p_iConfigManager swig_types[848]
#define SWIGTYPE_p_p_iConsoleOutput swig_types[849]
#define SWIGTYPE_p_p_iConsoleWatcher swig_types[850]
#define SWIGTYPE_p_p_iDataBuffer swig_types[851]
#define SWIGTYPE_p_p_iDebugHelper swig_types[852]
#define SWIGTYPE_p_p_iDocument swig_types[853]
#define SWIGTYPE_p_p_iDocumentAttribute swig_types[854]
#define SWIGTYPE_p_p_iDocumentAttributeIterator swig_types[855]
#define SWIGTYPE_p_p_iDocumentNode swig_types[856]
#define SWIGTYPE_p_p_iDocumentNodeIterator swig_types[857]
#define SWIGTYPE_p_p_iDocumentSystem swig_types[858]
#define SWIGTYPE_p_p_iDynamicSystem swig_types[859]
#define SWIGTYPE_p_p_iDynamics swig_types[860]
#define SWIGTYPE_p_p_iDynamicsColliderCollisionCallback swig_types[861]
#define SWIGTYPE_p_p_iDynamicsCollisionCallback swig_types[862]
#define SWIGTYPE_p_p_iDynamicsMoveCallback swig_types[863]
#define SWIGTYPE_p_p_iDynamicsSystemCollider swig_types[864]
#define SWIGTYPE_p_p_iEngine swig_types[865]
#define SWIGTYPE_p_p_iEngineFrameCallback swig_types[866]
#define SWIGTYPE_p_p_iEngineSectorCallback swig_types[867]
#define SWIGTYPE_p_p_iEngineSequenceManager swig_types[868]
#define SWIGTYPE_p_p_iEngineSequenceParameters swig_types[869]
#define SWIGTYPE_p_p_iEvent swig_types[870]
#define SWIGTYPE_p_p_iEventAttributeIterator swig_types[871]
#define SWIGTYPE_p_p_iEventCord swig_types[872]
#define SWIGTYPE_p_p_iEventHandler swig_types[873]
#define SWIGTYPE_p_p_iEventNameRegistry swig_types[874]
#define SWIGTYPE_p_p_iEventOutlet swig_types[875]
#define SWIGTYPE_p_p_iEventPlug swig_types[876]
#define SWIGTYPE_p_p_iEventQueue swig_types[877]
#define SWIGTYPE_p_p_iFactory swig_types[878]
#define SWIGTYPE_p_p_iFile swig_types[879]
#define SWIGTYPE_p_p_iFont swig_types[880]
#define SWIGTYPE_p_p_iFontDeleteNotify swig_types[881]
#define SWIGTYPE_p_p_iFontServer swig_types[882]
#define SWIGTYPE_p_p_iFrustumView swig_types[883]
#define SWIGTYPE_p_p_iFrustumViewUserdata swig_types[884]
#define SWIGTYPE_p_p_iGenMeshAnimationControl swig_types[885]
#define SWIGTYPE_p_p_iGenMeshAnimationControlFactory swig_types[886]
#define SWIGTYPE_p_p_iGenMeshAnimationControlType swig_types[887]
#define SWIGTYPE_p_p_iGenMeshSkeletonControlState swig_types[888]
#define SWIGTYPE_p_p_iGeneralFactoryState swig_types[889]
#define SWIGTYPE_p_p_iGeneralMeshCommonState swig_types[890]
#define SWIGTYPE_p_p_iGeneralMeshState swig_types[891]
#define SWIGTYPE_p_p_iGeneralMeshSubMesh swig_types[892]
#define SWIGTYPE_p_p_iGraphics2D swig_types[893]
#define SWIGTYPE_p_p_iGraphics3D swig_types[894]
#define SWIGTYPE_p_p_iHalo swig_types[895]
#define SWIGTYPE_p_p_iImage swig_types[896]
#define SWIGTYPE_p_p_iImageIO swig_types[897]
#define SWIGTYPE_p_p_iJoint swig_types[898]
#define SWIGTYPE_p_p_iJoystickDriver swig_types[899]
#define SWIGTYPE_p_p_iKeyComposer swig_types[900]
#define SWIGTYPE_p_p_iKeyboardDriver swig_types[901]
#define SWIGTYPE_p_p_iLight swig_types[902]
#define SWIGTYPE_p_p_iLightCallback swig_types[903]
#define SWIGTYPE_p_p_iLightIterator swig_types[904]
#define SWIGTYPE_p_p_iLightList swig_types[905]
#define SWIGTYPE_p_p_iLightVisibleCallback swig_types[906]
#define SWIGTYPE_p_p_iLightingProcessData swig_types[907]
#define SWIGTYPE_p_p_iLightingProcessInfo swig_types[908]
#define SWIGTYPE_p_p_iLoader swig_types[909]
#define SWIGTYPE_p_p_iLoaderPlugin swig_types[910]
#define SWIGTYPE_p_p_iLoaderStatus swig_types[911]
#define SWIGTYPE_p_p_iMapNode swig_types[912]
#define SWIGTYPE_p_p_iMaterial swig_types[913]
#define SWIGTYPE_p_p_iMaterialEngine swig_types[914]
#define SWIGTYPE_p_p_iMaterialList swig_types[915]
#define SWIGTYPE_p_p_iMaterialWrapper swig_types[916]
#define SWIGTYPE_p_p_iMeshDrawCallback swig_types[917]
#define SWIGTYPE_p_p_iMeshFactoryList swig_types[918]
#define SWIGTYPE_p_p_iMeshFactoryWrapper swig_types[919]
#define SWIGTYPE_p_p_iMeshList swig_types[920]
#define SWIGTYPE_p_p_iMeshObject swig_types[921]
#define SWIGTYPE_p_p_iMeshObjectDrawCallback swig_types[922]
#define SWIGTYPE_p_p_iMeshObjectFactory swig_types[923]
#define SWIGTYPE_p_p_iMeshObjectType swig_types[924]
#define SWIGTYPE_p_p_iMeshWrapper swig_types[925]
#define SWIGTYPE_p_p_iMeshWrapperIterator swig_types[926]
#define SWIGTYPE_p_p_iMissingLoaderData swig_types[927]
#define SWIGTYPE_p_p_iMouseDriver swig_types[928]
#define SWIGTYPE_p_p_iMovable swig_types[929]
#define SWIGTYPE_p_p_iMovableListener swig_types[930]
#define SWIGTYPE_p_p_iMovieRecorder swig_types[931]
#define SWIGTYPE_p_p_iNativeWindow swig_types[932]
#define SWIGTYPE_p_p_iNativeWindowManager swig_types[933]
#define SWIGTYPE_p_p_iODEAMotorJoint swig_types[934]
#define SWIGTYPE_p_p_iODEBallJoint swig_types[935]
#define SWIGTYPE_p_p_iODEDynamicState swig_types[936]
#define SWIGTYPE_p_p_iODEDynamicSystemState swig_types[937]
#define SWIGTYPE_p_p_iODEFrameUpdateCallback swig_types[938]
#define SWIGTYPE_p_p_iODEGeneralJointState swig_types[939]
#define SWIGTYPE_p_p_iODEHinge2Joint swig_types[940]
#define SWIGTYPE_p_p_iODEHingeJoint swig_types[941]
#define SWIGTYPE_p_p_iODEJointState swig_types[942]
#define SWIGTYPE_p_p_iODESliderJoint swig_types[943]
#define SWIGTYPE_p_p_iODEUniversalJoint swig_types[944]
#define SWIGTYPE_p_p_iObject swig_types[945]
#define SWIGTYPE_p_p_iObjectIterator swig_types[946]
#define SWIGTYPE_p_p_iObjectModel swig_types[947]
#define SWIGTYPE_p_p_iObjectModelListener swig_types[948]
#define SWIGTYPE_p_p_iObjectNameChangeListener swig_types[949]
#define SWIGTYPE_p_p_iObjectRegistry swig_types[950]
#define SWIGTYPE_p_p_iObjectRegistryIterator swig_types[951]
#define SWIGTYPE_p_p_iOffscreenCanvasCallback swig_types[952]
#define SWIGTYPE_p_p_iParameterESM swig_types[953]
#define SWIGTYPE_p_p_iParticleBuiltinEffectorFactory swig_types[954]
#define SWIGTYPE_p_p_iParticleBuiltinEffectorForce swig_types[955]
#define SWIGTYPE_p_p_iParticleBuiltinEffectorLinColor swig_types[956]
#define SWIGTYPE_p_p_iParticleBuiltinEffectorVelocityField swig_types[957]
#define SWIGTYPE_p_p_iParticleBuiltinEmitterBase swig_types[958]
#define SWIGTYPE_p_p_iParticleBuiltinEmitterBox swig_types[959]
#define SWIGTYPE_p_p_iParticleBuiltinEmitterCone swig_types[960]
#define SWIGTYPE_p_p_iParticleBuiltinEmitterCylinder swig_types[961]
#define SWIGTYPE_p_p_iParticleBuiltinEmitterFactory swig_types[962]
#define SWIGTYPE_p_p_iParticleBuiltinEmitterSphere swig_types[963]
#define SWIGTYPE_p_p_iParticleEffector swig_types[964]
#define SWIGTYPE_p_p_iParticleEmitter swig_types[965]
#define SWIGTYPE_p_p_iParticleSystem swig_types[966]
#define SWIGTYPE_p_p_iParticleSystemBase swig_types[967]
#define SWIGTYPE_p_p_iParticleSystemFactory swig_types[968]
#define SWIGTYPE_p_p_iPath swig_types[969]
#define SWIGTYPE_p_p_iPluginIterator swig_types[970]
#define SWIGTYPE_p_p_iPluginManager swig_types[971]
#define SWIGTYPE_p_p_iPolygonHandle swig_types[972]
#define SWIGTYPE_p_p_iPolygonMesh swig_types[973]
#define SWIGTYPE_p_p_iPortal swig_types[974]
#define SWIGTYPE_p_p_iPortalCallback swig_types[975]
#define SWIGTYPE_p_p_iPortalContainer swig_types[976]
#define SWIGTYPE_p_p_iRegion swig_types[977]
#define SWIGTYPE_p_p_iRegionList swig_types[978]
#define SWIGTYPE_p_p_iRenderBuffer swig_types[979]
#define SWIGTYPE_p_p_iRendererLightmap swig_types[980]
#define SWIGTYPE_p_p_iReporter swig_types[981]
#define SWIGTYPE_p_p_iReporterIterator swig_types[982]
#define SWIGTYPE_p_p_iReporterListener swig_types[983]
#define SWIGTYPE_p_p_iRigidBody swig_types[984]
#define SWIGTYPE_p_p_iSCF swig_types[985]
#define SWIGTYPE_p_p_iSaver swig_types[986]
#define SWIGTYPE_p_p_iSceneNode swig_types[987]
#define SWIGTYPE_p_p_iSceneNodeArray swig_types[988]
#define SWIGTYPE_p_p_iScript swig_types[989]
#define SWIGTYPE_p_p_iScriptObject swig_types[990]
#define SWIGTYPE_p_p_iSector swig_types[991]
#define SWIGTYPE_p_p_iSectorCallback swig_types[992]
#define SWIGTYPE_p_p_iSectorIterator swig_types[993]
#define SWIGTYPE_p_p_iSectorList swig_types[994]
#define SWIGTYPE_p_p_iSectorMeshCallback swig_types[995]
#define SWIGTYPE_p_p_iSequenceTimedOperation swig_types[996]
#define SWIGTYPE_p_p_iSequenceTrigger swig_types[997]
#define SWIGTYPE_p_p_iSequenceWrapper swig_types[998]
#define SWIGTYPE_p_p_iShader swig_types[999]
#define SWIGTYPE_p_p_iShaderCompiler swig_types[1000]
#define SWIGTYPE_p_p_iShaderManager swig_types[1001]
#define SWIGTYPE_p_p_iShaderPriorityList swig_types[1002]
#define SWIGTYPE_p_p_iShaderVarStack swig_types[1003]
#define SWIGTYPE_p_p_iShaderVariableAccessor swig_types[1004]
#define SWIGTYPE_p_p_iShaderVariableContext swig_types[1005]
#define SWIGTYPE_p_p_iSimpleFormerState swig_types[1006]
#define SWIGTYPE_p_p_iSkeleton swig_types[1007]
#define SWIGTYPE_p_p_iSkeletonBone swig_types[1008]
#define SWIGTYPE_p_p_iSkeletonBoneFactory swig_types[1009]
#define SWIGTYPE_p_p_iSkeletonBoneRagdollInfo swig_types[1010]
#define SWIGTYPE_p_p_iSkeletonBoneUpdateCallback swig_types[1011]
#define SWIGTYPE_p_p_iSkeletonFactory swig_types[1012]
#define SWIGTYPE_p_p_iSkeletonGraveyard swig_types[1013]
#define SWIGTYPE_p_p_iSkeletonScript swig_types[1014]
#define SWIGTYPE_p_p_iSkeletonScriptCallback swig_types[1015]
#define SWIGTYPE_p_p_iSkeletonScriptKeyFrame swig_types[1016]
#define SWIGTYPE_p_p_iSkeletonSocket swig_types[1017]
#define SWIGTYPE_p_p_iSkeletonSocketFactory swig_types[1018]
#define SWIGTYPE_p_p_iSkeletonUpdateCallback swig_types[1019]
#define SWIGTYPE_p_p_iSndSysData swig_types[1020]
#define SWIGTYPE_p_p_iSndSysListener swig_types[1021]
#define SWIGTYPE_p_p_iSndSysLoader swig_types[1022]
#define SWIGTYPE_p_p_iSndSysManager swig_types[1023]
#define SWIGTYPE_p_p_iSndSysRenderer swig_types[1024]
#define SWIGTYPE_p_p_iSndSysRendererCallback swig_types[1025]
#define SWIGTYPE_p_p_iSndSysRendererSoftware swig_types[1026]
#define SWIGTYPE_p_p_iSndSysSoftwareDriver swig_types[1027]
#define SWIGTYPE_p_p_iSndSysSoftwareFilter3D swig_types[1028]
#define SWIGTYPE_p_p_iSndSysSoftwareOutputFilter swig_types[1029]
#define SWIGTYPE_p_p_iSndSysSource swig_types[1030]
#define SWIGTYPE_p_p_iSndSysSourceSoftware swig_types[1031]
#define SWIGTYPE_p_p_iSndSysSourceSoftware3D swig_types[1032]
#define SWIGTYPE_p_p_iSndSysStream swig_types[1033]
#define SWIGTYPE_p_p_iSndSysStreamCallback swig_types[1034]
#define SWIGTYPE_p_p_iSndSysWrapper swig_types[1035]
#define SWIGTYPE_p_p_iSprite2DFactoryState swig_types[1036]
#define SWIGTYPE_p_p_iSprite2DState swig_types[1037]
#define SWIGTYPE_p_p_iSprite2DUVAnimation swig_types[1038]
#define SWIGTYPE_p_p_iSprite2DUVAnimationFrame swig_types[1039]
#define SWIGTYPE_p_p_iSprite3DFactoryState swig_types[1040]
#define SWIGTYPE_p_p_iSprite3DState swig_types[1041]
#define SWIGTYPE_p_p_iSpriteAction swig_types[1042]
#define SWIGTYPE_p_p_iSpriteCal3DFactoryState swig_types[1043]
#define SWIGTYPE_p_p_iSpriteCal3DSocket swig_types[1044]
#define SWIGTYPE_p_p_iSpriteCal3DState swig_types[1045]
#define SWIGTYPE_p_p_iSpriteFrame swig_types[1046]
#define SWIGTYPE_p_p_iSpriteSocket swig_types[1047]
#define SWIGTYPE_p_p_iStandardReporterListener swig_types[1048]
#define SWIGTYPE_p_p_iString swig_types[1049]
#define SWIGTYPE_p_p_iStringArray swig_types[1050]
#define SWIGTYPE_p_p_iStringSet swig_types[1051]
#define SWIGTYPE_p_p_iSuperLightmap swig_types[1052]
#define SWIGTYPE_p_p_iTerraFormer swig_types[1053]
#define SWIGTYPE_p_p_iTerraSampler swig_types[1054]
#define SWIGTYPE_p_p_iTerrainFactoryState swig_types[1055]
#define SWIGTYPE_p_p_iTerrainObjectState swig_types[1056]
#define SWIGTYPE_p_p_iTextureCallback swig_types[1057]
#define SWIGTYPE_p_p_iTextureHandle swig_types[1058]
#define SWIGTYPE_p_p_iTextureList swig_types[1059]
#define SWIGTYPE_p_p_iTextureManager swig_types[1060]
#define SWIGTYPE_p_p_iTextureWrapper swig_types[1061]
#define SWIGTYPE_p_p_iThingEnvironment swig_types[1062]
#define SWIGTYPE_p_p_iThingFactoryState swig_types[1063]
#define SWIGTYPE_p_p_iThingState swig_types[1064]
#define SWIGTYPE_p_p_iVFS swig_types[1065]
#define SWIGTYPE_p_p_iView swig_types[1066]
#define SWIGTYPE_p_p_iVirtualClock swig_types[1067]
#define SWIGTYPE_p_p_iVisibilityCuller swig_types[1068]
#define SWIGTYPE_p_p_iVisibilityCullerListener swig_types[1069]
#define SWIGTYPE_p_p_iVisibilityObject swig_types[1070]
#define SWIGTYPE_p_p_iVisibilityObjectIterator swig_types[1071]
#define SWIGTYPE_p_p_scfImplementation1TcsPath_iPath_t swig_types[1072]
#define SWIGTYPE_p_p_void swig_types[1073]
#define SWIGTYPE_p_scfImplementation1TcsPath_iPath_t swig_types[1074]
#define SWIGTYPE_p_size_t swig_types[1075]
#define SWIGTYPE_p_uint16_t swig_types[1076]
#define SWIGTYPE_p_uint32_t swig_types[1077]
#define SWIGTYPE_p_uint64_t swig_types[1078]
#define SWIGTYPE_p_uint8_t swig_types[1079]
#define SWIGTYPE_p_uint_least64_t swig_types[1080]
#define SWIGTYPE_p_unsigned_char swig_types[1081]
#define SWIGTYPE_p_unsigned_int swig_types[1082]
#define SWIGTYPE_p_unsigned_long swig_types[1083]
#define SWIGTYPE_p_utf32_char swig_types[1084]
#define SWIGTYPE_p_void swig_types[1085]
#define SWIGTYPE_p_wchar_t swig_types[1086]
static swig_type_info *swig_types[1088];
static swig_module_info swig_module = {swig_types, 1087, 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) -------- */

#define SWIG_init    boot_cspace

#define SWIG_name   "cspacec::boot_cspace"
#define SWIG_prefix "cspacec::"

#define SWIGVERSION 0x010329 


#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>


#ifdef __cplusplus
extern "C"
#endif
#ifndef PERL_OBJECT
#ifndef MULTIPLICITY
SWIGEXPORT void SWIG_init (CV* cv);
#else
SWIGEXPORT void SWIG_init (pTHXo_ CV* cv);
#endif
#else
SWIGEXPORT void SWIG_init (CV *cv, CPerlObj *);
#endif


  #undef Copy
  #undef MAXXCOUNT
  #undef MAXY_SIZE
  #undef MAXYCOUNT
  #undef Move
  #undef New
  #undef Newc
  #undef Newz
  #undef Pause
  #undef Renew
  #undef Renewc
  #undef Safefree
  #undef StructCopy
  #undef Zero


#ifndef ENTER
#define ENTER push_scope()
#endif


#include "crystalspace.h"


SWIGINTERNINLINE SV *
SWIG_From_long  SWIG_PERL_DECL_ARGS_1(long value)
{    
  SV *obj = sv_newmortal();
  sv_setiv(obj, (IV) value);
  return obj;
}


SWIGINTERNINLINE SV *
SWIG_From_int  SWIG_PERL_DECL_ARGS_1(int value)
{    
  return SWIG_From_long  SWIG_PERL_CALL_ARGS_1(value);
}



  // This pointer wrapper can be used to prevent code-bloat by macros
  // acting as template functions.  Examples are SCF_QUERY_INTERFACE()
  // and CS_QUERY_REGISTRY().  Also note that CS should never need to
  // use virtual inheritance as long as it has SCF.
  //
  // Ref - A managed reference to the iBase pointer of the wrapped
  //    interface.
  // Type
  //    The SCF interface name which this pointer represents (for
  //    instance, "iEngine").
  // Version - The version of the interface this pointer represents.

  struct csWrapPtr
  {
    csRef<iBase> Ref;
    const char *Type;
    scfInterfaceVersion Version;
    csWrapPtr (const char *t, scfInterfaceVersion v, iBase *r)
    : Ref (r), Type (t), Version(v) {}
    csWrapPtr (const char *t, scfInterfaceVersion v, csPtr<iBase> r)
    : Ref (r), Type (t), Version(v) {}
    csWrapPtr (const char *t, scfInterfaceVersion v, csRef<iBase> r)
    : Ref (r), Type (t), Version(v) {}
    csWrapPtr (const csWrapPtr &p)
    : Ref (p.Ref), Type (p.Type), Version(p.Version) {}
  };



SWIGINTERNINLINE SV *
SWIG_FromCharPtrAndSize(const char* carray, size_t size)
{
  SV *obj = sv_newmortal();
  if (size && carray) {
    if (carray[size - 1] == 0) {
      sv_setpv(obj, carray);
    } else {
      char *tmp = (new char[size + 1]);
      memcpy(tmp, carray, size);
      tmp[size] = 0;
      sv_setpv(obj, tmp);
      delete[] tmp;
    }
  } else {
    sv_setsv(obj, &PL_sv_undef);
  }
  return obj;
}


SWIGINTERNINLINE SV * 
SWIG_FromCharPtr(const char *cptr)
{ 
  return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
}


#include <limits.h>
#ifndef LLONG_MIN
# define LLONG_MIN	LONG_LONG_MIN
#endif
#ifndef LLONG_MAX
# define LLONG_MAX	LONG_LONG_MAX
#endif
#ifndef ULLONG_MAX
# define ULLONG_MAX	ULONG_LONG_MAX
#endif


SWIGINTERN int
SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2(SV *obj, double *val)
{
  if (SvNIOK(obj)) {
    if (val) *val = SvNV(obj);
    return SWIG_OK;
  } else if (SvIOK(obj)) {
    if (val) *val = (double) SvIV(obj);
    return SWIG_AddCast(SWIG_OK);
  } else {
    const char *nptr = SvPV(obj, PL_na);
    if (nptr) {
      char *endptr;
      double v = strtod(nptr, &endptr);
      if (errno == ERANGE) {
	errno = 0;
	return SWIG_OverflowError;
      } else {
	if (*endptr == '\0') {
	  if (val) *val = v;
	  return SWIG_AddCast(SWIG_OK);
	}
      }
    }
  }
  return SWIG_TypeError;
}


#include <float.h>


#include <math.h>


SWIGINTERNINLINE int
SWIG_CanCastAsInteger(double *d, double min, double max) {
  double x = *d;
  if ((min <= x && x <= max)) {
   double fx = floor(x);
   double cx = ceil(x);
   double rd =  ((x - fx) < 0.5) ? fx : cx; /* simple rint */
   if ((errno == EDOM) || (errno == ERANGE)) {
     errno = 0;
   } else {
     double summ, reps, diff;
     if (rd < x) {
       diff = x - rd;
     } else if (rd > x) {
       diff = rd - x;
     } else {
       return 1;
     }
     summ = rd + x;
     reps = diff/summ;
     if (reps < 8*DBL_EPSILON) {
       *d = rd;
       return 1;
     }
   }
  }
  return 0;
}


SWIGINTERN int
SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV *obj, long* val)
{
  if (SvIOK(obj)) {
    if (val) *val = SvIV(obj);
    return SWIG_OK;
  } else {
    int dispatch = 0;
    const char *nptr = SvPV(obj, PL_na);
    if (nptr) {
      char *endptr;
      long v = strtol(nptr, &endptr,0);
      if (errno == ERANGE) {
	errno = 0;
	return SWIG_OverflowError;
      } else {
	if (*endptr == '\0') {
	  if (val) *val = v;
	  return SWIG_AddCast(SWIG_OK);
	}
      }
    }
    if (!dispatch) {
      double d;
      int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
      if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
	if (val) *val = (long)(d);
	return res;
      }
    }
  }
  return SWIG_TypeError;
}


SWIGINTERN int
SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV * obj, int *val)
{
  long v;
  int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(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()
{
  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(SV *obj, char** cptr, size_t* psize, int *alloc)
{
  if (SvPOK(obj)) {
    STRLEN len = 0;
    char *cstr = SvPV(obj, len); 
    size_t size = len + 1;
    if (cptr)  {
      if (alloc) {
	if (*alloc == SWIG_NEWOBJ) {
	  *cptr = reinterpret_cast< char* >(memcpy((new char[size]), cstr, sizeof(char)*(size)));
	} else {
	  *cptr = cstr;
	  *alloc = SWIG_OLDOBJ;
	}
      }
    }
    if (psize) *psize = size;
    return SWIG_OK;
  } else {
    swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
    if (pchar_descriptor) {
      char* vptr = 0; 
      if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) {
	if (cptr) *cptr = vptr;
	if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
	if (alloc) *alloc = SWIG_OLDOBJ;
	return SWIG_OK;
      }
    }
  }
  return SWIG_TypeError;
}





  int scfGetVersion (const char *iface)
  {
    dSP;
    int ver;
    int nresult;
    csString var;
    var << "cspace::" << iface << "::scfGetVersion";

    ENTER;
    SAVETMPS;
    PUSHMARK(SP);
    PUTBACK;
    nresult = call_pv(var.GetData(), G_SCALAR);
    SPAGAIN;

    if (nresult != 1)
      croak("Expected exactly one result from scfGetVersion()\n");

    ver = POPi;

    PUTBACK;
    FREETMPS;
    LEAVE;

    return ver;
  }


SWIGINTERN int
SWIG_AsVal_unsigned_SS_long SWIG_PERL_DECL_ARGS_2(SV *obj, unsigned long *val) 
{
  if (SvUOK(obj)) {
    if (val) *val = SvUV(obj);
    return SWIG_OK;
  } else  if (SvIOK(obj)) {
    long v = SvIV(obj);
    if (v >= 0) {
      if (val) *val = v;
      return SWIG_OK;
    } else {
      return SWIG_OverflowError;
    }
  } else {
    int dispatch = 0;
    const char *nptr = SvPV(obj, PL_na);
    if (nptr) {
      char *endptr;
      unsigned long v = strtoul(nptr, &endptr,0);
      if (errno == ERANGE) {
	errno = 0;
	return SWIG_OverflowError;
      } else {
	if (*endptr == '\0') {
	  if (val) *val = v;
	  return SWIG_AddCast(SWIG_OK);
	}
      }
    }
    if (!dispatch) {
      double d;
      int res = SWIG_AddCast(SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(obj,&d));
      if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
	if (val) *val = (unsigned long)(d);
	return res;
      }
    }
  }
  return SWIG_TypeError;
}


SWIGINTERNINLINE int
SWIG_AsVal_size_t SWIG_PERL_DECL_ARGS_2(SV * obj, size_t *val)
{
  unsigned long v;
  int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, val ? &v : 0);
  if (SWIG_IsOK(res) && val) *val = static_cast< size_t >(v);
  return res;
}


SWIGINTERNINLINE SV *
SWIG_From_unsigned_SS_long  SWIG_PERL_DECL_ARGS_1(unsigned long value)
{    
  SV *obj = sv_newmortal();
  sv_setuv(obj, (UV) value);
  return obj;
}


SWIGINTERNINLINE SV *
SWIG_From_size_t  SWIG_PERL_DECL_ARGS_1(size_t value)
{    
  return SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(value));
}


SWIGINTERNINLINE SV *
SWIG_From_bool  SWIG_PERL_DECL_ARGS_1(bool value)
{    
  SV *obj = sv_newmortal();
  if (value) {
    sv_setsv(obj, &PL_sv_yes);
  } else {
    sv_setsv(obj, &PL_sv_no); 
  }
  return obj;
}

SWIGINTERN int iBase_scfGetVersion(){ return scfInterfaceTraits<iBase>::GetVersion(); }

SWIGINTERN int
SWIG_AsVal_bool SWIG_PERL_DECL_ARGS_2(SV *obj, bool* val)
{
  if (obj == &PL_sv_yes) {
    if (val) *val = true;
    return SWIG_OK;
  } else if (obj == &PL_sv_no) { 
    if (val) *val = false;
    return SWIG_OK;
  } else {
    if (val) *val = SvTRUE(obj) ? true: false;
    return SWIG_AddCast(SWIG_OK);    
  }
  return SWIG_TypeError;
}

SWIGINTERN void delete_iSCF(iSCF *self){ if (self) self->DecRef(); }
SWIGINTERN int iSCF_scfGetVersion(){ return scfInterfaceTraits<iSCF>::GetVersion(); }
SWIGINTERN void delete_iFactory(iFactory *self){ if (self) self->DecRef(); }
SWIGINTERN int iFactory_scfGetVersion(){ return scfInterfaceTraits<iFactory>::GetVersion(); }

SWIGINTERNINLINE SV *
SWIG_From_unsigned_SS_int  SWIG_PERL_DECL_ARGS_1(unsigned int value)
{    
  return SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(value);
}

SWIGINTERN void delete_iDebugHelper(iDebugHelper *self){ if (self) self->DecRef(); }
SWIGINTERN int iDebugHelper_scfGetVersion(){ return scfInterfaceTraits<iDebugHelper>::GetVersion(); }
SWIGINTERN void delete_iCommandLineParser(iCommandLineParser *self){ if (self) self->DecRef(); }
SWIGINTERN int iCommandLineParser_scfGetVersion(){ return scfInterfaceTraits<iCommandLineParser>::GetVersion(); }

SWIGINTERN int
SWIG_AsVal_float SWIG_PERL_DECL_ARGS_2(SV * obj, float *val)
{
  double v;
  int res = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(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 SV *
SWIG_From_double  SWIG_PERL_DECL_ARGS_1(double value)
{    
  SV *obj = sv_newmortal();
  sv_setnv(obj, value);
  return obj;
}


SWIGINTERNINLINE SV *
SWIG_From_float  SWIG_PERL_DECL_ARGS_1(float value)
{    
  return SWIG_From_double  SWIG_PERL_CALL_ARGS_1(value);
}

SWIGINTERN csColor csColor_operator_Sa_(csColor const *self,csColor const &c){ return *self + c; }
SWIGINTERN csColor csColor_operator_Ss_(csColor const *self,csColor const &c){ return *self - c; }
SWIGINTERN void delete_iString(iString *self){ if (self) self->DecRef(); }
SWIGINTERN int iString_scfGetVersion(){ return scfInterfaceTraits<iString>::GetVersion(); }
SWIGINTERN bool iString___seq__(iString *self,iString *other){
    return self->Compare (other);
  }
SWIGINTERN char const *iString___string__(iString *self){
    return self->GetData ();
  }
SWIGINTERN char const *iString___sv__(iString *self){
    return self->GetData ();
  }
SWIGINTERN void iString___av__(iString *self,char const *&__chars__,int &__len__){
    __chars__ = self->GetData ();
    __len__ = self->Length ();
  }
SWIGINTERN int iString_length(iString *self){
    return self->Length ();
  }
SWIGINTERN csPtr<iString > iString___add__(iString *self,char const *other){
    iString *result = new scfString (* self);
    result->Append (other);
    return csPtr<iString> (result);
  }
SWIGINTERN csPtr<iString > iString___concat____SWIG_0(iString *self,char const *other){
    iString *result = new scfString (* self);
    result->Append (other);
    return csPtr<iString> (result);
  }
SWIGINTERN iString *iString___concat_ass____SWIG_0(iString *self,char const *other){
    self->Append (other);
    return self;
  }
SWIGINTERN csPtr<iString > iString___concat____SWIG_1(iString *self,iString *other){
    iString *result = new scfString (* self);
    result->Append (other);
    return csPtr<iString> (result);
  }
SWIGINTERN iString *iString___concat_ass____SWIG_1(iString *self,iString *other){
    self->Append (other);
    return self;
  }
SWIGINTERN bool csString___eq__(csString *self,char const *other){
    return self->Compare (other);
  }
SWIGINTERN bool csString___seq__(csString *self,csString &other){
    return self->Compare (other);
  }
SWIGINTERN char const *csString___string__(csString *self){
    return self->GetData ();
  }
SWIGINTERN char const *csString___sv__(csString *self){
    return self->GetData ();
  }
SWIGINTERN void csString___av__(csString *self,char const *&__chars__,int &__len__){
    __chars__ = self->GetData ();
    __len__ = self->Length ();
  }
SWIGINTERN int csString_length(csString *self){
    return self->Length ();
  }
SWIGINTERN csString csString___add__(csString *self,char const *other){
    csString result (* self);
    result.Append (other);
    return result;
  }
SWIGINTERN csString csString___concat____SWIG_0(csString *self,char const *other){
    csString result (* self);
    result.Append (other);
    return result;
  }
SWIGINTERN csString *csString___concat_ass____SWIG_0(csString *self,char const *other){
    self->Append (other);
    return self;
  }
SWIGINTERN csString csString___concat____SWIG_1(csString *self,csString &other){
    csString result (* self);
    result.Append (other);
    return result;
  }
SWIGINTERN csString *csString___concat_ass____SWIG_1(csString *self,csString &other){
    self->Append (other);
    return self;
  }
SWIGINTERN csVector2 csVector2_operator_Sa___SWIG_1(csVector2 const *self,csVector2 const &v){ return *self + v; }
SWIGINTERN csVector2 csVector2_operator_Ss_(csVector2 const *self,csVector2 const &v){ return *self - v; }
SWIGINTERN float csVector2_operator_Sm___SWIG_0(csVector2 const *self,csVector2 const &v){ return *self * v; }
SWIGINTERN csVector2 csVector2_operator_Sm___SWIG_1(csVector2 const *self,float f){ return *self * f; }
SWIGINTERN csVector2 csVector2_operator_Sd_(csVector2 const *self,float f){ return *self * f; }
SWIGINTERN bool csVector2_operator_Se__Se_(csVector2 const *self,csVector2 const &v){ return *self == v; }
SWIGINTERN bool csVector2_operator_SN__Se_(csVector2 const *self,csVector2 const &v){ return *self != v; }
SWIGINTERN bool csVector2_operator_Sl_(csVector2 const *self,float f){ return *self < f; }
SWIGINTERN bool csVector2_operator_Sg_(csVector2 const *self,float f){ return f > *self; }
SWIGINTERN float csVector2___abs__(csVector2 *self){
    return self->Norm ();
  }
SWIGINTERN void csVector2___av__(csVector2 *self,float &__v1__,float &__v2__){
    __v1__ = self->x;
    __v2__ = self->y;
  }
SWIGINTERN csVector3 csVector3_operator_Sa___SWIG_1(csVector3 const *self,csVector3 const &v){ return *self + v; }
SWIGINTERN csVector3 csVector3_operator_Ss_(csVector3 const *self,csVector3 const &v){ return *self - v; }
SWIGINTERN float csVector3_operator_Sm___SWIG_0(csVector3 const *self,csVector3 const &v){ return *self * v; }
SWIGINTERN csVector3 csVector3_operator_Sm___SWIG_1(csVector3 const *self,float f){ return *self * f; }
SWIGINTERN csVector3 csVector3_operator_Sd___SWIG_0(csVector3 const *self,float f){ return *self * f; }
SWIGINTERN bool csVector3_operator_Se__Se_(csVector3 const *self,csVector3 const &v){ return *self == v; }
SWIGINTERN bool csVector3_operator_SN__Se_(csVector3 const *self,csVector3 const &v){ return *self != v; }
SWIGINTERN bool csVector3_operator_Sl_(csVector3 const *self,float f){ return *self < f; }
SWIGINTERN bool csVector3_operator_Sg_(csVector3 const *self,float f){ return f > *self; }
SWIGINTERN csVector3 &csVector3_operator_Sm__Se___SWIG_1(csVector3 *self,csTransform const &t){ return *self *= t; }
SWIGINTERN csVector3 &csVector3_operator_Sd__Se___SWIG_1(csVector3 *self,csReversibleTransform const &t){ return *self /= t; }
SWIGINTERN csVector3 csVector3_operator_Sd___SWIG_1(csVector3 *self,csReversibleTransform const &t){ return *self / t; }
SWIGINTERN csVector3 csVector3_project(csVector3 const *self,csVector3 const &what){ return what << *self; }
SWIGINTERN float csVector3___abs__(csVector3 *self){
    return self->Norm ();
  }
SWIGINTERN void csVector3___av__(csVector3 *self,float &__v1__,float &__v2__,float &__v3__){
    __v1__ = self->x;
    __v2__ = self->y;
    __v3__ = self->z;
  }
SWIGINTERN bool csVector3___bool__(csVector3 *self){
    return ! self->IsZero ();
  }
SWIGINTERN csMatrix3 csMatrix3_operator_Sa___SWIG_1(csMatrix3 *self,csMatrix3 const &m){ return *self + m; }
SWIGINTERN csMatrix3 csMatrix3_operator_Ss_(csMatrix3 *self,csMatrix3 const &m){ return *self - m; }
SWIGINTERN csMatrix3 csMatrix3_operator_Sm___SWIG_0(csMatrix3 *self,csMatrix3 const &m){ return *self * m; }
SWIGINTERN csVector3 csMatrix3_operator_Sm___SWIG_1(csMatrix3 *self,csVector3 const &v){ return *self * v; }
SWIGINTERN csMatrix3 csMatrix3_operator_Sm___SWIG_2(csMatrix3 *self,float f){ return *self * f; }
SWIGINTERN csMatrix3 csMatrix3_operator_Sd_(csMatrix3 *self,float f){ return *self / f; }
SWIGINTERN bool csMatrix3_operator_Se__Se_(csMatrix3 const *self,csMatrix3 const &m){ return *self == m; }
SWIGINTERN bool csMatrix3_operator_SN__Se_(csMatrix3 const *self,csMatrix3 const &m){ return *self != m; }
SWIGINTERN bool csMatrix3_operator_Sl_(csMatrix3 const *self,float f){ return *self < f; }
SWIGINTERN csMatrix3 csMatrix3_operator_Sm___SWIG_3(csMatrix3 const *self,csTransform const &t){ return *self * t; }
SWIGINTERN csMatrix3 &csMatrix3_operator_Sm__Se___SWIG_2(csMatrix3 *self,csTransform const &t){ return *self *= t; }
SWIGINTERN csVector3 csTransform_operator_Sm___SWIG_0(csTransform const *self,csVector3 const &v){ return *self * v; }
SWIGINTERN csPlane3 csTransform_operator_Sm___SWIG_1(csTransform const *self,csPlane3 const &p){ return *self * p; }
SWIGINTERN csSphere csTransform_operator_Sm___SWIG_2(csTransform const *self,csSphere const &s){ return *self * s; }
SWIGINTERN csMatrix3 csTransform_operator_Sm___SWIG_3(csTransform const *self,csMatrix3 const &m){ return *self * m; }
SWIGINTERN csTransform csTransform_operator_Sm___SWIG_4(csTransform const *self,csReversibleTransform const &t){ return *self * t; }
SWIGINTERN csReversibleTransform &csReversibleTransform_operator_Sm__Se_(csReversibleTransform *self,csReversibleTransform const &t){ return *self *= t; }
SWIGINTERN csReversibleTransform csReversibleTransform_operator_Sm_(csReversibleTransform *self,csReversibleTransform const &t){ return *self * t; }
SWIGINTERN csReversibleTransform &csReversibleTransform_operator_Sd__Se_(csReversibleTransform *self,csReversibleTransform const &t){ return *self /= t; }
SWIGINTERN csReversibleTransform csReversibleTransform_operator_Sd_(csReversibleTransform *self,csReversibleTransform const &t){ return *self / t; }
SWIGINTERN csSphere &csSphere_operator_Sm__Se_(csSphere *self,csTransform const &t){ return *self *= t; }
SWIGINTERN csSphere csSphere_operator_Sd_(csSphere *self,csReversibleTransform const &t){ return *self / t; }
SWIGINTERN csPlane3 &csPlane3_operator_Sm__Se_(csPlane3 *self,csTransform const &t){ return *self *= t; }
SWIGINTERN csPlane3 &csPlane3_operator_Sd__Se_(csPlane3 *self,csReversibleTransform const &t){ return *self /= t; }
SWIGINTERN csPlane3 csPlane3_operator_Sd_(csPlane3 *self,csReversibleTransform const &t){ return *self / t; }
SWIGINTERN csQuaternion csQuaternion_operator_Sa_(csQuaternion *self,csQuaternion const &q){ return *self + q; }
SWIGINTERN csQuaternion csQuaternion_operator_Ss_(csQuaternion *self,csQuaternion const &q){ return *self - q; }
SWIGINTERN csQuaternion csQuaternion_operator_Sm_(csQuaternion *self,csQuaternion const &q){ return *self * q; }
SWIGINTERN csBox2 csBox2_operator_Sa___SWIG_0(csBox2 const *self,csBox2 const &b){ return *self + b; }
SWIGINTERN csBox2 csBox2_operator_Sm_(csBox2 const *self,csBox2 const &b){ return *self * b; }
SWIGINTERN bool csBox2_operator_SN__Se_(csBox2 const *self,csBox2 const &b){ return *self != b; }
SWIGINTERN bool csBox2_operator_Sl___SWIG_0(csBox2 const *self,csBox2 const &b){ return *self < b; }
SWIGINTERN bool csBox2_operator_Sg_(csBox2 const *self,csBox2 const &b){ return b > *self; }
SWIGINTERN csBox2 csBox2_operator_Sa___SWIG_1(csBox2 const *self,csVector2 const &point){ return *self + point; }
SWIGINTERN bool csBox2_operator_Sl___SWIG_1(csBox2 const *self,csVector2 const &point){ return point < *self; }
SWIGINTERN csBox3 csBox3_operator_Sa___SWIG_0(csBox3 const *self,csBox3 const &b){ return *self + b; }
SWIGINTERN csBox3 csBox3_operator_Sm_(csBox3 const *self,csBox3 const &b){ return *self * b; }
SWIGINTERN bool csBox3_operator_SN__Se_(csBox3 const *self,csBox3 const &b){ return *self != b; }
SWIGINTERN bool csBox3_operator_Sl___SWIG_0(csBox3 const *self,csBox3 const &b){ return *self < b; }
SWIGINTERN bool csBox3_operator_Sg_(csBox3 const *self,csBox3 const &b){ return b > *self; }
SWIGINTERN csBox3 csBox3_operator_Sa___SWIG_1(csBox3 const *self,csVector3 const &point){ return *self + point; }
SWIGINTERN bool csBox3_operator_Sl___SWIG_1(csBox3 const *self,csVector3 const &point){ return point < *self; }

SWIGINTERN int
SWIG_AsVal_unsigned_SS_char SWIG_PERL_DECL_ARGS_2(SV * obj, unsigned char *val)
{
  unsigned long v;
  int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, &v);
  if (SWIG_IsOK(res)) {
    if ((v > UCHAR_MAX)) {
      return SWIG_OverflowError;
    } else {
      if (val) *val = static_cast< unsigned char >(v);
    }
  }  
  return res;
}


SWIGINTERNINLINE SV *
SWIG_From_unsigned_SS_char  SWIG_PERL_DECL_ARGS_1(unsigned char value)
{    
  return SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(value);
}

SWIGINTERN void delete_iAwsKey(iAwsKey *self){ if (self) self->DecRef(); }
SWIGINTERN int iAwsKey_scfGetVersion(){ return scfInterfaceTraits<iAwsKey>::GetVersion(); }

SWIGINTERN int
SWIG_AsVal_unsigned_SS_int SWIG_PERL_DECL_ARGS_2(SV * obj, unsigned int *val)
{
  unsigned long v;
  int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, &v);
  if (SWIG_IsOK(res)) {
    if ((v > UINT_MAX)) {
      return SWIG_OverflowError;
    } else {
      if (val) *val = static_cast< unsigned int >(v);
    }
  }  
  return res;
}

SWIGINTERN void delete_iAws(iAws *self){ if (self) self->DecRef(); }
SWIGINTERN int iAws_scfGetVersion(){ return scfInterfaceTraits<iAws>::GetVersion(); }
SWIGINTERN bool iAws_SetupCanvas__SWIG_3(iAws *self,iGraphics2D *g2d=0,iGraphics3D *g3d=0){ return self->SetupCanvas(0, g2d, g3d); }
SWIGINTERN void delete_iObjectModelListener(iObjectModelListener *self){ if (self) self->DecRef(); }
SWIGINTERN int iObjectModelListener_scfGetVersion(){ return scfInterfaceTraits<iObjectModelListener>::GetVersion(); }
SWIGINTERN void delete_iObjectModel(iObjectModel *self){ if (self) self->DecRef(); }
SWIGINTERN int iObjectModel_scfGetVersion(){ return scfInterfaceTraits<iObjectModel>::GetVersion(); }
SWIGINTERN void delete_iPath(iPath *self){ if (self) self->DecRef(); }
SWIGINTERN int iPath_scfGetVersion(){ return scfInterfaceTraits<iPath>::GetVersion(); }
SWIGINTERN void delete_iPolygonMesh(iPolygonMesh *self){ if (self) self->DecRef(); }
SWIGINTERN int iPolygonMesh_scfGetVersion(){ return scfInterfaceTraits<iPolygonMesh>::GetVersion(); }
SWIGINTERN void delete_iFrustumViewUserdata(iFrustumViewUserdata *self){ if (self) self->DecRef(); }
SWIGINTERN int iFrustumViewUserdata_scfGetVersion(){ return scfInterfaceTraits<iFrustumViewUserdata>::GetVersion(); }
SWIGINTERN void delete_iFrustumView(iFrustumView *self){ if (self) self->DecRef(); }
SWIGINTERN int iFrustumView_scfGetVersion(){ return scfInterfaceTraits<iFrustumView>::GetVersion(); }
SWIGINTERN void delete_iLight(iLight *self){ if (self) self->DecRef(); }
SWIGINTERN int iLight_scfGetVersion(){ return scfInterfaceTraits<iLight>::GetVersion(); }
SWIGINTERN void delete_iLightList(iLightList *self){ if (self) self->DecRef(); }
SWIGINTERN int iLightList_scfGetVersion(){ return scfInterfaceTraits<iLightList>::GetVersion(); }
SWIGINTERN void delete_iSector(iSector *self){ if (self) self->DecRef(); }
SWIGINTERN int iSector_scfGetVersion(){ return scfInterfaceTraits<iSector>::GetVersion(); }
SWIGINTERN void delete_iSectorList(iSectorList *self){ if (self) self->DecRef(); }
SWIGINTERN int iSectorList_scfGetVersion(){ return scfInterfaceTraits<iSectorList>::GetVersion(); }
SWIGINTERN void delete_iEngine(iEngine *self){ if (self) self->DecRef(); }
SWIGINTERN int iEngine_scfGetVersion(){ return scfInterfaceTraits<iEngine>::GetVersion(); }
SWIGINTERN void delete_iCamera(iCamera *self){ if (self) self->DecRef(); }
SWIGINTERN int iCamera_scfGetVersion(){ return scfInterfaceTraits<iCamera>::GetVersion(); }
SWIGINTERN void delete_iCameraPosition(iCameraPosition *self){ if (self) self->DecRef(); }
SWIGINTERN int iCameraPosition_scfGetVersion(){ return scfInterfaceTraits<iCameraPosition>::GetVersion(); }
SWIGINTERN void delete_iTextureWrapper(iTextureWrapper *self){ if (self) self->DecRef(); }
SWIGINTERN int iTextureWrapper_scfGetVersion(){ return scfInterfaceTraits<iTextureWrapper>::GetVersion(); }
SWIGINTERN void delete_iTextureList(iTextureList *self){ if (self) self->DecRef(); }
SWIGINTERN int iTextureList_scfGetVersion(){ return scfInterfaceTraits<iTextureList>::GetVersion(); }
SWIGINTERN void delete_iMaterialWrapper(iMaterialWrapper *self){ if (self) self->DecRef(); }
SWIGINTERN int iMaterialWrapper_scfGetVersion(){ return scfInterfaceTraits<iMaterialWrapper>::GetVersion(); }
SWIGINTERN void delete_iSceneNodeArray(iSceneNodeArray *self){ if (self) self->DecRef(); }
SWIGINTERN int iSceneNodeArray_scfGetVersion(){ return scfInterfaceTraits<iSceneNodeArray>::GetVersion(); }
SWIGINTERN void delete_iSceneNode(iSceneNode *self){ if (self) self->DecRef(); }
SWIGINTERN int iSceneNode_scfGetVersion(){ return scfInterfaceTraits<iSceneNode>::GetVersion(); }
SWIGINTERN void delete_iMeshWrapper(iMeshWrapper *self){ if (self) self->DecRef(); }
SWIGINTERN int iMeshWrapper_scfGetVersion(){ return scfInterfaceTraits<iMeshWrapper>::GetVersion(); }
SWIGINTERN void delete_iMeshFactoryWrapper(iMeshFactoryWrapper *self){ if (self) self->DecRef(); }
SWIGINTERN int iMeshFactoryWrapper_scfGetVersion(){ return scfInterfaceTraits<iMeshFactoryWrapper>::GetVersion(); }
SWIGINTERN void delete_iMeshWrapperIterator(iMeshWrapperIterator *self){ if (self) self->DecRef(); }
SWIGINTERN int iMeshWrapperIterator_scfGetVersion(){ return scfInterfaceTraits<iMeshWrapperIterator>::GetVersion(); }
SWIGINTERN void delete_iMovableListener(iMovableListener *self){ if (self) self->DecRef(); }
SWIGINTERN int iMovableListener_scfGetVersion(){ return scfInterfaceTraits<iMovableListener>::GetVersion(); }
SWIGINTERN void delete_iMovable(iMovable *self){ if (self) self->DecRef(); }
SWIGINTERN int iMovable_scfGetVersion(){ return scfInterfaceTraits<iMovable>::GetVersion(); }
SWIGINTERN void delete_iVisibilityCuller(iVisibilityCuller *self){ if (self) self->DecRef(); }
SWIGINTERN int iVisibilityCuller_scfGetVersion(){ return scfInterfaceTraits<iVisibilityCuller>::GetVersion(); }
SWIGINTERN void delete_iPortal(iPortal *self){ if (self) self->DecRef(); }
SWIGINTERN int iPortal_scfGetVersion(){ return scfInterfaceTraits<iPortal>::GetVersion(); }
SWIGINTERN void delete_iPortalContainer(iPortalContainer *self){ if (self) self->DecRef(); }
SWIGINTERN int iPortalContainer_scfGetVersion(){ return scfInterfaceTraits<iPortalContainer>::GetVersion(); }
SWIGINTERN void delete_iGeneralMeshState(iGeneralMeshState *self){ if (self) self->DecRef(); }
SWIGINTERN int iGeneralMeshState_scfGetVersion(){ return scfInterfaceTraits<iGeneralMeshState>::GetVersion(); }
SWIGINTERN void delete_iGeneralFactoryState(iGeneralFactoryState *self){ if (self) self->DecRef(); }
SWIGINTERN int iGeneralFactoryState_scfGetVersion(){ return scfInterfaceTraits<iGeneralFactoryState>::GetVersion(); }
SWIGINTERN csVector3 *iGeneralFactoryState_GetVertexByIndex(iGeneralFactoryState *self,int index){ return &(self->GetVertices()[index]); }
SWIGINTERN csVector2 *iGeneralFactoryState_GetTexelByIndex(iGeneralFactoryState *self,int index){ return &(self->GetTexels()[index]); }
SWIGINTERN csVector3 *iGeneralFactoryState_GetNormalByIndex(iGeneralFactoryState *self,int index){ return &(self->GetNormals()[index]); }
SWIGINTERN csTriangle *iGeneralFactoryState_GetTriangleByIndex(iGeneralFactoryState *self,int index){ return &(self->GetTriangles()[index]); }
SWIGINTERN csColor *iGeneralFactoryState_GetColorByIndex(iGeneralFactoryState *self,int index){ return &(self->GetColors()[index]); }
SWIGINTERN void delete_iSkeletonBone(iSkeletonBone *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonBone_scfGetVersion(){ return scfInterfaceTraits<iSkeletonBone>::GetVersion(); }
SWIGINTERN void delete_iSkeletonScriptKeyFrame(iSkeletonScriptKeyFrame *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonScriptKeyFrame_scfGetVersion(){ return scfInterfaceTraits<iSkeletonScriptKeyFrame>::GetVersion(); }
SWIGINTERN void delete_iSkeletonScript(iSkeletonScript *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonScript_scfGetVersion(){ return scfInterfaceTraits<iSkeletonScript>::GetVersion(); }
SWIGINTERN void delete_iSkeleton(iSkeleton *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeleton_scfGetVersion(){ return scfInterfaceTraits<iSkeleton>::GetVersion(); }
SWIGINTERN void delete_iSkeletonSocket(iSkeletonSocket *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonSocket_scfGetVersion(){ return scfInterfaceTraits<iSkeletonSocket>::GetVersion(); }
SWIGINTERN void delete_iSkeletonBoneRagdollInfo(iSkeletonBoneRagdollInfo *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonBoneRagdollInfo_scfGetVersion(){ return scfInterfaceTraits<iSkeletonBoneRagdollInfo>::GetVersion(); }
SWIGINTERN void delete_iSkeletonBoneFactory(iSkeletonBoneFactory *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonBoneFactory_scfGetVersion(){ return scfInterfaceTraits<iSkeletonBoneFactory>::GetVersion(); }
SWIGINTERN void delete_iSkeletonSocketFactory(iSkeletonSocketFactory *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonSocketFactory_scfGetVersion(){ return scfInterfaceTraits<iSkeletonSocketFactory>::GetVersion(); }
SWIGINTERN void delete_iSkeletonFactory(iSkeletonFactory *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonFactory_scfGetVersion(){ return scfInterfaceTraits<iSkeletonFactory>::GetVersion(); }
SWIGINTERN void delete_iSkeletonGraveyard(iSkeletonGraveyard *self){ if (self) self->DecRef(); }
SWIGINTERN int iSkeletonGraveyard_scfGetVersion(){ return scfInterfaceTraits<iSkeletonGraveyard>::GetVersion(); }
SWIGINTERN void delete_iGenMeshSkeletonControlState(iGenMeshSkeletonControlState *self){ if (self) self->DecRef(); }
SWIGINTERN int iGenMeshSkeletonControlState_scfGetVersion(){ return scfInterfaceTraits<iGenMeshSkeletonControlState>::GetVersion(); }
SWIGINTERN void delete_iSprite2DState(iSprite2DState *self){ if (self) self->DecRef(); }
SWIGINTERN int iSprite2DState_scfGetVersion(){ return scfInterfaceTraits<iSprite2DState>::GetVersion(); }
SWIGINTERN csSprite2DVertex *iSprite2DState_GetVertexByIndex(iSprite2DState *self,int index){ return &self->GetVertices()->Get(index); }
SWIGINTERN int iSprite2DState_GetVertexCount(iSprite2DState *self){ return self->GetVertices()->GetSize(); }
SWIGINTERN void delete_iSprite3DState(iSprite3DState *self){ if (self) self->DecRef(); }
SWIGINTERN int iSprite3DState_scfGetVersion(){ return scfInterfaceTraits<iSprite3DState>::GetVersion(); }
SWIGINTERN void delete_iSpriteCal3DState(iSpriteCal3DState *self){ if (self) self->DecRef(); }
SWIGINTERN int iSpriteCal3DState_scfGetVersion(){ return scfInterfaceTraits<iSpriteCal3DState>::GetVersion(); }
SWIGINTERN void delete_iMeshObject(iMeshObject *self){ if (self) self->DecRef(); }
SWIGINTERN int iMeshObject_scfGetVersion(){ return scfInterfaceTraits<iMeshObject>::GetVersion(); }
SWIGINTERN void delete_iMeshObjectFactory(iMeshObjectFactory *self){ if (self) self->DecRef(); }
SWIGINTERN int iMeshObjectFactory_scfGetVersion(){ return scfInterfaceTraits<iMeshObjectFactory>::GetVersion(); }
SWIGINTERN void delete_iMeshObjectType(iMeshObjectType *self){ if (self) self->DecRef(); }
SWIGINTERN int iMeshObjectType_scfGetVersion(){ return scfInterfaceTraits<iMeshObjectType>::GetVersion(); }
SWIGINTERN void delete_iThingFactoryState(iThingFactoryState *self){ if (self) self->DecRef(); }
SWIGINTERN int iThingFactoryState_scfGetVersion(){ return scfInterfaceTraits<iThingFactoryState>::GetVersion(); }
SWIGINTERN void delete_iThingState(iThingState *self){ if (self) self->DecRef(); }
SWIGINTERN int iThingState_scfGetVersion(){ return scfInterfaceTraits<iThingState>::GetVersion(); }
SWIGINTERN void delete_iTerrainObjectState(iTerrainObjectState *self){ if (self) self->DecRef(); }
SWIGINTERN int iTerrainObjectState_scfGetVersion(){ return scfInterfaceTraits<iTerrainObjectState>::GetVersion(); }
SWIGINTERN void delete_iTerrainFactoryState(iTerrainFactoryState *self){ if (self) self->DecRef(); }
SWIGINTERN int iTerrainFactoryState_scfGetVersion(){ return scfInterfaceTraits<iTerrainFactoryState>::GetVersion(); }
SWIGINTERN void delete_iParticleEmitter(iParticleEmitter *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleEmitter_scfGetVersion(){ return scfInterfaceTraits<iParticleEmitter>::GetVersion(); }
SWIGINTERN void delete_iParticleEffector(iParticleEffector *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleEffector_scfGetVersion(){ return scfInterfaceTraits<iParticleEffector>::GetVersion(); }
SWIGINTERN void delete_iParticleSystemBase(iParticleSystemBase *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleSystemBase_scfGetVersion(){ return scfInterfaceTraits<iParticleSystemBase>::GetVersion(); }
SWIGINTERN void delete_iParticleSystemFactory(iParticleSystemFactory *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleSystemFactory_scfGetVersion(){ return scfInterfaceTraits<iParticleSystemFactory>::GetVersion(); }
SWIGINTERN void delete_iParticleSystem(iParticleSystem *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleSystem_scfGetVersion(){ return scfInterfaceTraits<iParticleSystem>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEmitterBase(iParticleBuiltinEmitterBase *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEmitterBase_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEmitterBase>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEmitterSphere(iParticleBuiltinEmitterSphere *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEmitterSphere_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEmitterSphere>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEmitterCone(iParticleBuiltinEmitterCone *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEmitterCone_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEmitterCone>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEmitterBox(iParticleBuiltinEmitterBox *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEmitterBox_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEmitterBox>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEmitterCylinder(iParticleBuiltinEmitterCylinder *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEmitterCylinder_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEmitterCylinder>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEmitterFactory(iParticleBuiltinEmitterFactory *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEmitterFactory_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEmitterFactory>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEffectorForce(iParticleBuiltinEffectorForce *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEffectorForce_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEffectorForce>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEffectorLinColor(iParticleBuiltinEffectorLinColor *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEffectorLinColor_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEffectorLinColor>::GetVersion(); }
SWIGINTERN void delete_iParticleBuiltinEffectorFactory(iParticleBuiltinEffectorFactory *self){ if (self) self->DecRef(); }
SWIGINTERN int iParticleBuiltinEffectorFactory_scfGetVersion(){ return scfInterfaceTraits<iParticleBuiltinEffectorFactory>::GetVersion(); }
SWIGINTERN void delete_iLoader(iLoader *self){ if (self) self->DecRef(); }
SWIGINTERN int iLoader_scfGetVersion(){ return scfInterfaceTraits<iLoader>::GetVersion(); }
SWIGINTERN void delete_iLoaderPlugin(iLoaderPlugin *self){ if (self) self->DecRef(); }
SWIGINTERN int iLoaderPlugin_scfGetVersion(){ return scfInterfaceTraits<iLoaderPlugin>::GetVersion(); }
SWIGINTERN void delete_iBinaryLoaderPlugin(iBinaryLoaderPlugin *self){ if (self) self->DecRef(); }
SWIGINTERN int iBinaryLoaderPlugin_scfGetVersion(){ return scfInterfaceTraits<iBinaryLoaderPlugin>::GetVersion(); }
SWIGINTERN void delete_iSndSysData(iSndSysData *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysData_scfGetVersion(){ return scfInterfaceTraits<iSndSysData>::GetVersion(); }
SWIGINTERN void delete_iSndSysSoftwareFilter3D(iSndSysSoftwareFilter3D *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysSoftwareFilter3D_scfGetVersion(){ return scfInterfaceTraits<iSndSysSoftwareFilter3D>::GetVersion(); }
SWIGINTERN void delete_iSndSysListener(iSndSysListener *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysListener_scfGetVersion(){ return scfInterfaceTraits<iSndSysListener>::GetVersion(); }
SWIGINTERN void delete_iSndSysLoader(iSndSysLoader *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysLoader_scfGetVersion(){ return scfInterfaceTraits<iSndSysLoader>::GetVersion(); }
SWIGINTERN void delete_iSndSysWrapper(iSndSysWrapper *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysWrapper_scfGetVersion(){ return scfInterfaceTraits<iSndSysWrapper>::GetVersion(); }
SWIGINTERN void delete_iSndSysManager(iSndSysManager *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysManager_scfGetVersion(){ return scfInterfaceTraits<iSndSysManager>::GetVersion(); }
SWIGINTERN void delete_iSndSysSource(iSndSysSource *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysSource_scfGetVersion(){ return scfInterfaceTraits<iSndSysSource>::GetVersion(); }
SWIGINTERN void delete_iSndSysStream(iSndSysStream *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysStream_scfGetVersion(){ return scfInterfaceTraits<iSndSysStream>::GetVersion(); }
SWIGINTERN void delete_iSndSysRenderer(iSndSysRenderer *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysRenderer_scfGetVersion(){ return scfInterfaceTraits<iSndSysRenderer>::GetVersion(); }
SWIGINTERN void delete_iSndSysSoftwareDriver(iSndSysSoftwareDriver *self){ if (self) self->DecRef(); }
SWIGINTERN int iSndSysSoftwareDriver_scfGetVersion(){ return scfInterfaceTraits<iSndSysSoftwareDriver>::GetVersion(); }
SWIGINTERN void delete_iComponent(iComponent *self){ if (self) self->DecRef(); }
SWIGINTERN int iComponent_scfGetVersion(){ return scfInterfaceTraits<iComponent>::GetVersion(); }
SWIGINTERN void delete_iCacheManager(iCacheManager *self){ if (self) self->DecRef(); }
SWIGINTERN int iCacheManager_scfGetVersion(){ return scfInterfaceTraits<iCacheManager>::GetVersion(); }

SWIGINTERNINLINE SV *
SWIG_From_char  SWIG_PERL_DECL_ARGS_1(char c) 
{ 
  return SWIG_FromCharPtrAndSize(&c,1);
}

SWIGINTERN void delete_iFile(iFile *self){ if (self) self->DecRef(); }
SWIGINTERN int iFile_scfGetVersion(){ return scfInterfaceTraits<iFile>::GetVersion(); }
SWIGINTERN void delete_iVFS(iVFS *self){ if (self) self->DecRef(); }
SWIGINTERN int iVFS_scfGetVersion(){ return scfInterfaceTraits<iVFS>::GetVersion(); }
SWIGINTERN void delete_iObject(iObject *self){ if (self) self->DecRef(); }
SWIGINTERN int iObject_scfGetVersion(){ return scfInterfaceTraits<iObject>::GetVersion(); }
SWIGINTERN void delete_iStringSet(iStringSet *self){ if (self) self->DecRef(); }
SWIGINTERN int iStringSet_scfGetVersion(){ return scfInterfaceTraits<iStringSet>::GetVersion(); }
SWIGINTERN void delete_iObjectRegistry(iObjectRegistry *self){ if (self) self->DecRef(); }
SWIGINTERN int iObjectRegistry_scfGetVersion(){ return scfInterfaceTraits<iObjectRegistry>::GetVersion(); }
SWIGINTERN void delete_iVirtualClock(iVirtualClock *self){ if (self) self->DecRef(); }
SWIGINTERN int iVirtualClock_scfGetVersion(){ return scfInterfaceTraits<iVirtualClock>::GetVersion(); }
SWIGINTERN csEventError iEvent_RetrieveString(iEvent *self,char const *name,char *&v){
		return self->Retrieve(name,(const char *&)v);
	}
SWIGINTERN void delete_iEvent(iEvent *self){ if (self) self->DecRef(); }
SWIGINTERN int iEvent_scfGetVersion(){ return scfInterfaceTraits<iEvent>::GetVersion(); }
SWIGINTERN void delete_iEventQueue(iEventQueue *self){ if (self) self->DecRef(); }
SWIGINTERN int iEventQueue_scfGetVersion(){ return scfInterfaceTraits<iEventQueue>::GetVersion(); }
SWIGINTERN void delete_iEventNameRegistry(iEventNameRegistry *self){ if (self) self->DecRef(); }
SWIGINTERN int iEventNameRegistry_scfGetVersion(){ return scfInterfaceTraits<iEventNameRegistry>::GetVersion(); }
SWIGINTERN void delete_iEventHandler(iEventHandler *self){ if (self) self->DecRef(); }
SWIGINTERN int iEventHandler_scfGetVersion(){ return scfInterfaceTraits<iEventHandler>::GetVersion(); }
SWIGINTERN void delete_iPluginManager(iPluginManager *self){ if (self) self->DecRef(); }
SWIGINTERN int iPluginManager_scfGetVersion(){ return scfInterfaceTraits<iPluginManager>::GetVersion(); }
SWIGINTERN void delete_iKeyboardDriver(iKeyboardDriver *self){ if (self) self->DecRef(); }
SWIGINTERN int iKeyboardDriver_scfGetVersion(){ return scfInterfaceTraits<iKeyboardDriver>::GetVersion(); }
SWIGINTERN bool iKeyboardDriver_GetKeyState__SWIG_1(iKeyboardDriver *self,char const *key){ return self->GetKeyState ((int) key[0]); }
SWIGINTERN void delete_iMouseDriver(iMouseDriver *self){ if (self) self->DecRef(); }
SWIGINTERN int iMouseDriver_scfGetVersion(){ return scfInterfaceTraits<iMouseDriver>::GetVersion(); }
SWIGINTERN void delete_iConfigFile(iConfigFile *self){ if (self) self->DecRef(); }
SWIGINTERN int iConfigFile_scfGetVersion(){ return scfInterfaceTraits<iConfigFile>::GetVersion(); }
SWIGINTERN void delete_iConfigIterator(iConfigIterator *self){ if (self) self->DecRef(); }
SWIGINTERN int iConfigIterator_scfGetVersion(){ return scfInterfaceTraits<iConfigIterator>::GetVersion(); }
SWIGINTERN void delete_iConfigManager(iConfigManager *self){ if (self) self->DecRef(); }
SWIGINTERN int iConfigManager_scfGetVersion(){ return scfInterfaceTraits<iConfigManager>::GetVersion(); }
SWIGINTERN void delete_iStringArray(iStringArray *self){ if (self) self->DecRef(); }
SWIGINTERN int iStringArray_scfGetVersion(){ return scfInterfaceTraits<iStringArray>::GetVersion(); }
SWIGINTERN void delete_iDocument(iDocument *self){ if (self) self->DecRef(); }
SWIGINTERN int iDocument_scfGetVersion(){ return scfInterfaceTraits<iDocument>::GetVersion(); }
SWIGINTERN void delete_iDocumentSystem(iDocumentSystem *self){ if (self) self->DecRef(); }
SWIGINTERN int iDocumentSystem_scfGetVersion(){ return scfInterfaceTraits<iDocumentSystem>::GetVersion(); }
SWIGINTERN void delete_iDataBuffer(iDataBuffer *self){ if (self) self->DecRef(); }
SWIGINTERN int iDataBuffer_scfGetVersion(){ return scfInterfaceTraits<iDataBuffer>::GetVersion(); }
SWIGINTERN char const *iDataBuffer___string__(iDataBuffer *self){
    return self->operator* ();
  }
SWIGINTERN char const *iDataBuffer___sv__(iDataBuffer *self){
    return self->operator* ();
  }
SWIGINTERN void delete_iGraphics2D(iGraphics2D *self){ if (self) self->DecRef(); }
SWIGINTERN int iGraphics2D_scfGetVersion(){ return scfInterfaceTraits<iGraphics2D>::GetVersion(); }
SWIGINTERN void delete_iGraphics3D(iGraphics3D *self){ if (self) self->DecRef(); }
SWIGINTERN int iGraphics3D_scfGetVersion(){ return scfInterfaceTraits<iGraphics3D>::GetVersion(); }
SWIGINTERN void delete_iFont(iFont *self){ if (self) self->DecRef(); }
SWIGINTERN int iFont_scfGetVersion(){ return scfInterfaceTraits<iFont>::GetVersion(); }
SWIGINTERN void delete_iFontServer(iFontServer *self){ if (self) self->DecRef(); }
SWIGINTERN int iFontServer_scfGetVersion(){ return scfInterfaceTraits<iFontServer>::GetVersion(); }
SWIGINTERN void delete_iHalo(iHalo *self){ if (self) self->DecRef(); }
SWIGINTERN int iHalo_scfGetVersion(){ return scfInterfaceTraits<iHalo>::GetVersion(); }
SWIGINTERN void delete_iShaderVariableContext(iShaderVariableContext *self){ if (self) self->DecRef(); }
SWIGINTERN int iShaderVariableContext_scfGetVersion(){ return scfInterfaceTraits<iShaderVariableContext>::GetVersion(); }
SWIGINTERN void delete_iShaderManager(iShaderManager *self){ if (self) self->DecRef(); }
SWIGINTERN int iShaderManager_scfGetVersion(){ return scfInterfaceTraits<iShaderManager>::GetVersion(); }
SWIGINTERN void delete_iTextureHandle(iTextureHandle *self){ if (self) self->DecRef(); }
SWIGINTERN int iTextureHandle_scfGetVersion(){ return scfInterfaceTraits<iTextureHandle>::GetVersion(); }
SWIGINTERN void delete_iTextureManager(iTextureManager *self){ if (self) self->DecRef(); }
SWIGINTERN int iTextureManager_scfGetVersion(){ return scfInterfaceTraits<iTextureManager>::GetVersion(); }
SWIGINTERN void delete_iMaterial(iMaterial *self){ if (self) self->DecRef(); }
SWIGINTERN int iMaterial_scfGetVersion(){ return scfInterfaceTraits<iMaterial>::GetVersion(); }
SWIGINTERN void delete_iImage(iImage *self){ if (self) self->DecRef(); }
SWIGINTERN int iImage_scfGetVersion(){ return scfInterfaceTraits<iImage>::GetVersion(); }
SWIGINTERN void delete_iImageIO(iImageIO *self){ if (self) self->DecRef(); }
SWIGINTERN int iImageIO_scfGetVersion(){ return scfInterfaceTraits<iImageIO>::GetVersion(); }
SWIGINTERN void delete_iReporterListener(iReporterListener *self){ if (self) self->DecRef(); }
SWIGINTERN int iReporterListener_scfGetVersion(){ return scfInterfaceTraits<iReporterListener>::GetVersion(); }
SWIGINTERN void delete_iReporterIterator(iReporterIterator *self){ if (self) self->DecRef(); }
SWIGINTERN int iReporterIterator_scfGetVersion(){ return scfInterfaceTraits<iReporterIterator>::GetVersion(); }
SWIGINTERN void delete_iReporter(iReporter *self){ if (self) self->DecRef(); }
SWIGINTERN int iReporter_scfGetVersion(){ return scfInterfaceTraits<iReporter>::GetVersion(); }
SWIGINTERN void delete_iStandardReporterListener(iStandardReporterListener *self){ if (self) self->DecRef(); }
SWIGINTERN int iStandardReporterListener_scfGetVersion(){ return scfInterfaceTraits<iStandardReporterListener>::GetVersion(); }
SWIGINTERN void delete_iView(iView *self){ if (self) self->DecRef(); }
SWIGINTERN int iView_scfGetVersion(){ return scfInterfaceTraits<iView>::GetVersion(); }
SWIGINTERN void delete_iCollider(iCollider *self){ if (self) self->DecRef(); }
SWIGINTERN int iCollider_scfGetVersion(){ return scfInterfaceTraits<iCollider>::GetVersion(); }
SWIGINTERN void delete_iCollideSystem(iCollideSystem *self){ if (self) self->DecRef(); }
SWIGINTERN int iCollideSystem_scfGetVersion(){ return scfInterfaceTraits<iCollideSystem>::GetVersion(); }
SWIGINTERN csCollisionPair *iCollideSystem_GetCollisionPairByIndex(iCollideSystem *self,int index){ return self->GetCollisionPairs() + index; }
SWIGINTERN void delete_iDynamics(iDynamics *self){ if (self) self->DecRef(); }
SWIGINTERN int iDynamics_scfGetVersion(){ return scfInterfaceTraits<iDynamics>::GetVersion(); }
SWIGINTERN void delete_iDynamicSystem(iDynamicSystem *self){ if (self) self->DecRef(); }
SWIGINTERN int iDynamicSystem_scfGetVersion(){ return scfInterfaceTraits<iDynamicSystem>::GetVersion(); }
SWIGINTERN void delete_iBodyGroup(iBodyGroup *self){ if (self) self->DecRef(); }
SWIGINTERN int iBodyGroup_scfGetVersion(){ return scfInterfaceTraits<iBodyGroup>::GetVersion(); }
SWIGINTERN void delete_iJoint(iJoint *self){ if (self) self->DecRef(); }
SWIGINTERN int iJoint_scfGetVersion(){ return scfInterfaceTraits<iJoint>::GetVersion(); }
SWIGINTERN void delete_iODEDynamicState(iODEDynamicState *self){ if (self) self->DecRef(); }
SWIGINTERN int iODEDynamicState_scfGetVersion(){ return scfInterfaceTraits<iODEDynamicState>::GetVersion(); }
SWIGINTERN void delete_iODEDynamicSystemState(iODEDynamicSystemState *self){ if (self) self->DecRef(); }
SWIGINTERN int iODEDynamicSystemState_scfGetVersion(){ return scfInterfaceTraits<iODEDynamicSystemState>::GetVersion(); }
SWIGINTERN void delete_iODEJointState(iODEJointState *self){ if (self) self->DecRef(); }
SWIGINTERN int iODEJointState_scfGetVersion(){ return scfInterfaceTraits<iODEJointState>::GetVersion(); }
SWIGINTERN void delete_iODESliderJoint(iODESliderJoint *self){ if (self) self->DecRef(); }
SWIGINTERN int iODESliderJoint_scfGetVersion(){ return scfInterfaceTraits<iODESliderJoint>::GetVersion(); }
SWIGINTERN void delete_iODEUniversalJoint(iODEUniversalJoint *self){ if (self) self->DecRef(); }
SWIGINTERN int iODEUniversalJoint_scfGetVersion(){ return scfInterfaceTraits<iODEUniversalJoint>::GetVersion(); }
SWIGINTERN void delete_iODEAMotorJoint(iODEAMotorJoint *self){ if (self) self->DecRef(); }
SWIGINTERN int iODEAMotorJoint_scfGetVersion(){ return scfInterfaceTraits<iODEAMotorJoint>::GetVersion(); }
SWIGINTERN void delete_iODEHingeJoint(iODEHingeJoint *self){ if (self) self->DecRef(); }
SWIGINTERN int iODEHingeJoint_scfGetVersion(){ return scfInterfaceTraits<iODEHingeJoint>::GetVersion(); }
SWIGINTERN void delete_iODEBallJoint(iODEBallJoint *self){ if (self) self->DecRef(); }
SWIGINTERN int iODEBallJoint_scfGetVersion(){ return scfInterfaceTraits<iODEBallJoint>::GetVersion(); }
SWIGINTERN void delete_iMovieRecorder(iMovieRecorder *self){ if (self) self->DecRef(); }
SWIGINTERN int iMovieRecorder_scfGetVersion(){ return scfInterfaceTraits<iMovieRecorder>::GetVersion(); }
SWIGINTERN void delete_iMapNode(iMapNode *self){ if (self) self->DecRef(); }
SWIGINTERN int iMapNode_scfGetVersion(){ return scfInterfaceTraits<iMapNode>::GetVersion(); }
SWIGINTERN void delete_iScriptObject(iScriptObject *self){ if (self) self->DecRef(); }
SWIGINTERN int iScriptObject_scfGetVersion(){ return scfInterfaceTraits<iScriptObject>::GetVersion(); }
SWIGINTERN void delete_iScript(iScript *self){ if (self) self->DecRef(); }
SWIGINTERN int iScript_scfGetVersion(){ return scfInterfaceTraits<iScript>::GetVersion(); }
SWIGINTERN void delete_iSimpleFormerState(iSimpleFormerState *self){ if (self) self->DecRef(); }
SWIGINTERN int iSimpleFormerState_scfGetVersion(){ return scfInterfaceTraits<iSimpleFormerState>::GetVersion(); }
SWIGINTERN void delete_iTerraFormer(iTerraFormer *self){ if (self) self->DecRef(); }
SWIGINTERN int iTerraFormer_scfGetVersion(){ return scfInterfaceTraits<iTerraFormer>::GetVersion(); }
SWIGINTERN void delete_iTerraSampler(iTerraSampler *self){ if (self) self->DecRef(); }
SWIGINTERN int iTerraSampler_scfGetVersion(){ return scfInterfaceTraits<iTerraSampler>::GetVersion(); }

  /// note that these values are only valid until the next call.
  csMouseEventData * iEvent_Mouse_get (iEvent * event)
  { 
    static csMouseEventData p; 
    if(!csMouseEventHelper::GetEventData(event, p)) return 0;
    return &p; 
  }
  csJoystickEventData * iEvent_Joystick_get (iEvent * event)
  { 
    static csJoystickEventData p; 
    if(!csJoystickEventHelper::GetEventData(event, p)) return 0;
    return &p; 
  }
  csCommandEventData * iEvent_Command_get (iEvent * event)
  { 
    static csCommandEventData p; 
    if(!csCommandEventHelper::GetEventData(event, p)) return 0;
    return &p; 
  }


#undef SCF_QUERY_INTERFACE
#undef SCF_QUERY_INTERFACE_SAFE
#undef CS_QUERY_REGISTRY
#undef CS_QUERY_REGISTRY_TAG_INTERFACE
#undef CS_QUERY_PLUGIN_CLASS
#undef CS_LOAD_PLUGIN
#undef CS_GET_CHILD_OBJECT
#undef CS_GET_NAMED_CHILD_OBJECT
#undef CS_GET_FIRST_NAMED_CHILD_OBJECT

csWrapPtr CS_QUERY_REGISTRY (iObjectRegistry *reg, const char *iface,
  int iface_ver)
{
  iBase *b = reg->Get(iface, iSCF::SCF->GetInterfaceID (iface), iface_ver);
  return csWrapPtr (iface, iface_ver, b);
}

csWrapPtr CS_QUERY_REGISTRY_TAG_INTERFACE (iObjectRegistry *reg,
  const char *tag, const char *iface, int iface_ver)
{
  iBase *b = reg->Get(tag, iSCF::SCF->GetInterfaceID (iface), iface_ver);
  return csWrapPtr (iface, iface_ver, b);
}

csWrapPtr SCF_QUERY_INTERFACE (iBase *obj, const char *iface, int iface_ver)
{
  // This call to QueryInterface ensures that IncRef is called and that
  // the object supports the interface.  However, for type safety and
  // object layout reasons the void pointer returned by QueryInterface
  // can't be wrapped inside the csWrapPtr so obj must be wrapped.
  if (obj->QueryInterface(iSCF::SCF->GetInterfaceID(iface), iface_ver))
    return csWrapPtr (iface, iface_ver, obj);
  else
    return csWrapPtr (iface, iface_ver, 0);
}

csWrapPtr SCF_QUERY_INTERFACE_SAFE (iBase *obj, const char *iface,
  int iface_ver)
{
  if (!obj)
    return csWrapPtr (iface, iface_ver, 0);

  // This call to QueryInterface ensures that IncRef is called and that
  // the object supports the interface.  However, for type safety and
  // object layout reasons the void pointer returned by QueryInterface
  // can't be wrapped inside the csWrapPtr so obj must be wrapped.
  if (obj->QueryInterface(iSCF::SCF->GetInterfaceID(iface), iface_ver))
    return csWrapPtr (iface, iface_ver, obj);
  else
    return csWrapPtr (iface, iface_ver, 0);
}

csWrapPtr CS_QUERY_PLUGIN_CLASS (iPluginManager *obj, const char *id,
  const char *iface, int iface_ver)
{
  return csWrapPtr (iface, iface_ver, obj->QueryPlugin (id, iface, iface_ver));
}

csWrapPtr CS_LOAD_PLUGIN (iPluginManager *obj, const char *id,
  const char *iface, int iface_ver)
{
  return csWrapPtr (iface, iface_ver, obj->LoadPlugin(id));
}

csWrapPtr CS_GET_CHILD_OBJECT (iObject *obj, const char *iface, int iface_ver)
{
  return csWrapPtr (iface, iface_ver, obj->GetChild(iSCF::SCF->GetInterfaceID (iface),
    iface_ver));
}

csWrapPtr CS_GET_NAMED_CHILD_OBJECT (iObject *obj, const char *iface,
  int iface_ver, const char *name)
{
  return csWrapPtr (iface, iface_ver, obj->GetChild(iSCF::SCF->GetInterfaceID (iface),
    iface_ver, name));
}

csWrapPtr CS_GET_FIRST_NAMED_CHILD_OBJECT (iObject *obj, const char *iface,
  int iface_ver, const char *name)
{
  return csWrapPtr (iface, iface_ver, obj->GetChild(iSCF::SCF->GetInterfaceID (iface),
    iface_ver, name, true));
}


#include <csutil/csstring.h>


  void Autoload (pTHXo_ CV *thisfunc)
  {
    dXSARGS;
    dTARG;
    SV *self = ST (0);
    char *prop = SvPV_nolen (ST (1));
    SV *val = ST (2);

    if (! (SvROK (self) && SvTYPE (self) == SVt_PVHV))
      croak ("No such class method %s in class %s", prop, SvPV_nolen (self));

    HV *obj = (HV *) SvRV (self);
    SV **valp = hv_fetch (obj, prop, 0, val ? 1 : 0);

    if (! valp)
      croak ("No such instance method %s in object", prop);

    if (val) sv_setsv (* valp, val);

    ST (0) = * valp;
    XSRETURN (1);
  }


  void scfInitialize ()
  {
    static char *argv[] = { 0, 0 };
    argv[0] = SvPV_nolen (get_sv ("0", 0));
    scfInitialize (1, argv);
  }


  static const int csInitializer_SetupEventHandler_DefaultMask
    = CSMASK_Nothing
    | CSMASK_Broadcast
    | CSMASK_MouseUp
    | CSMASK_MouseDown
    | CSMASK_MouseMove
    | CSMASK_Keyboard
    | CSMASK_MouseClick
    | CSMASK_MouseDoubleClick
    | CSMASK_JoystickMove
    | CSMASK_JoystickDown
    | CSMASK_JoystickUp;

  static SV * pl_csInitializer_EventHandler = 0;

  bool csInitializer_EventHandler (iEvent &event)
  {
    if (! pl_csInitializer_EventHandler) return false;
    SV *event_obj = newSViv (0);
    SWIG_MakePtr (event_obj, &event, SWIGTYPE_p_iEvent, 0);

    dSP;
    PUSHMARK (SP);
    XPUSHs (event_obj);
    PUTBACK;
    call_sv (pl_csInitializer_EventHandler, G_SCALAR);
    SPAGAIN;
    SV *result = POPs;
    PUTBACK;

    bool ok = SvTRUE (result);
    SvREFCNT_dec (event_obj);
    SvREFCNT_dec (result);
    return ok;
  }


  void pl_csInitializer_SetupEventHandler (pTHXo_ CV *thisfunc)
  {
    dXSARGS;
    dTARG;
    SV *reg_ref = ST (0);
    SV *func_rv = ST (1);
    SV *mask_sv = ST (2);
    if (! (reg_ref && func_rv))
      croak ("SetupEventHandler needs at least 2 arguments");

    iObjectRegistry* reg;
    if (SWIG_ConvertPtr(reg_ref,(void**)&reg,SWIGTYPE_p_iObjectRegistry,0) < 0)
      croak("Type error. Argument 1 must be iObjectRegistry.\n");

    unsigned int mask;
    if (mask_sv)
      mask = SvUV (mask_sv);
    else
      mask = csInitializer_SetupEventHandler_DefaultMask;

    SV *func = SvRV (func_rv);
    pl_csInitializer_EventHandler = func;

    bool ok = csInitializer::SetupEventHandler
      (reg, csInitializer_EventHandler, mask);
    XSRETURN_IV (ok ? 1 : 0);
  }


  void _csInitializer_RequestPlugins (pTHXo_ CV *thisfunc)
  {
    dXSARGS;
    dTARG;
    iObjectRegistry* reg;
    if (SWIG_ConvertPtr(ST(0),(void**)&reg,SWIGTYPE_p_iObjectRegistry,0) < 0)
      croak("Type error. Argument 1 must be iObjectRegistry.\n");

    csArray<csPluginRequest> plugins;
    for (int arg = 1; arg + 4 <= items; arg += 4)
    {
      SV *plug_sv = ST (arg);
      SV *iface_sv = ST (arg + 1);
      SV *scfid_sv = ST (arg + 2);
      SV *ver_sv = ST (arg + 3);

      const char *plug = SvPV_nolen (plug_sv);
      const char *iface = SvPV_nolen (iface_sv);
      int scfid = SvIV (scfid_sv);
      int ver = SvIV (ver_sv);

      plugins.Push(csPluginRequest(plug, iface, scfid, ver));
    }

    bool ok = true;
    if (plugins.Length() != 0)
      ok = csInitializer::RequestPlugins(reg, plugins);
    XSRETURN_IV (ok ? 1 : 0);
  }


  void csRequestPlugin (char *iface, int &idnum, int &ver)
  {
    idnum = iSCF::SCF->GetInterfaceID (iface);
    ver = scfGetVersion (iface);
  }


  #undef CS_REQUEST_PLUGIN
  #undef CS_REQUEST_VFS
  #undef CS_REQUEST_FONTSERVER
  #undef CS_REQUEST_IMAGELOADER
  #undef CS_REQUEST_NULL3D
  #undef CS_REQUEST_SOFTWARE3D
  #undef CS_REQUEST_OPENGL3D
  #undef CS_REQUEST_ENGINE
  #undef CS_REQUEST_LEVELLOADER
  #undef CS_REQUEST_LEVELSAVER
  #undef CS_REQUEST_REPORTER
  #undef CS_REQUEST_REPORTERLISTENER
  #undef CS_REQUEST_CONSOLEOUT

  void CS_REQUEST_PLUGIN
    (char *& __Iscfid__, char *& __Iiface__, int & __idnum__, int & __ver__)
  {
    __idnum__ = iSCF::SCF->GetInterfaceID (__Iiface__);
    __ver__ = scfGetVersion (__Iiface__);
    csRequestPlugin (__Iiface__, __idnum__, __ver__);
  }
  void CS_REQUEST_VFS
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.kernel.vfs";
    __iface__ = "iVFS";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_FONTSERVER
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.font.server.default";
    __iface__ = "iFontServer";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_IMAGELOADER
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.graphic.image.io.multiplexer";
    __iface__ = "iImageIO";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_NULL3D
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.graphics3d.null";
    __iface__ = "iGraphics3D";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_SOFTWARE3D
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.graphics3d.software";
    __iface__ = "iGraphics3D";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_OPENGL3D
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.graphics3d.opengl";
    __iface__ = "iGraphics3D";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_ENGINE
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.engine.3d";
    __iface__ = "iEngine";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_LEVELLOADER
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.level.loader";
    __iface__ = "iLoader";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_LEVELSAVER
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.level.saver";
    __iface__ = "iSaver";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_REPORTER
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.utilities.reporter";
    __iface__ = "iReporter";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_REPORTERLISTENER
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.utilities.stdrep";
    __iface__ = "iStandardReporterListener";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }
  void CS_REQUEST_CONSOLEOUT
    (char *& __scfid__, char *& __iface__, int & __idnum__, int & __ver__)
  {
    __scfid__ = "crystalspace.console.output.standard";
    __iface__ = "iConsoleOutput";
    csRequestPlugin (__iface__, __idnum__, __ver__);
  }


  void _GetCollisionPairs (pTHXo_ CV *thisfunc)
  {
    dXSARGS;
    dTARG;
    SV *sys_ref = ST (0);
    if (! sys_ref)
      croak("No self parameter passed to GetCollisionPairs");

    iCollideSystem* sys;
    if (SWIG_ConvertPtr(sys_ref,(void**)&sys,SWIGTYPE_p_iCollideSystem,0) < 0)
      croak("Self parameter of GetCollisionPairs must be an iCollideSystem\n");

    csCollisionPair *pairs = sys->GetCollisionPairs ();
    int num = sys->GetCollisionPairCount ();
    AV *av = newAV ();
    for (int i = 0; i < num; i++)
    {
      SV *rv = newSViv (0);
      SWIG_MakePtr (rv, pairs++, SWIGTYPE_p_csCollisionPair, 0);
      av_push (av, rv);
      SvREFCNT_dec (rv);
    }

    SV *rv = newRV ((SV *) av);
    SvREFCNT_dec ((SV *) av);
    ST (0) = rv;
    XSRETURN (1);
  }


  #undef CS_VEC_FORWARD
  #undef CS_VEC_BACKWARD
  #undef CS_VEC_RIGHT
  #undef CS_VEC_LEFT
  #undef CS_VEC_UP
  #undef CS_VEC_DOWN
  #undef CS_VEC_ROT_RIGHT
  #undef CS_VEC_ROT_LEFT
  #undef CS_VEC_TILT_RIGHT
  #undef CS_VEC_TILT_LEFT
  #undef CS_VEC_TILT_UP
  #undef CS_VEC_TILT_DOWN

  const csVector3& CS_VEC_FORWARD()
  {
    static const csVector3 v ( 0,  0,  1);
    return v;
  }
  const csVector3& CS_VEC_BACKWARD()
  {
    static const csVector3 v ( 0,  0, -1);
    return v;
  }
  const csVector3& CS_VEC_RIGHT()
  {
    static const csVector3 v ( 1,  0,  0);
    return v;
  }
  const csVector3& CS_VEC_LEFT()
  {
    static const csVector3 v (-1,  0,  0);
    return v;
  }
  const csVector3& CS_VEC_UP()
  {
    static const csVector3 v ( 0,  1,  0);
    return v;
  }
  const csVector3& CS_VEC_DOWN()
  {
    static const csVector3 v ( 0, -1,  0);
    return v;
  }
  const csVector3& CS_VEC_ROT_RIGHT()
  {
    static const csVector3 v ( 0,  1,  0);
    return v;
  }
  const csVector3& CS_VEC_ROT_LEFT()
  {
    static const csVector3 v ( 0, -1,  0);
    return v;
  }
  const csVector3& CS_VEC_TILT_RIGHT()
  {
    static const csVector3 v ( 0,  0, -1);
    return v;
  }
  const csVector3& CS_VEC_TILT_LEFT()
  {
    static const csVector3 v ( 0,  0,  1);
    return v;
  }
  const csVector3& CS_VEC_TILT_UP()
  {
    static const csVector3 v (-1,  0,  0);
    return v;
  }
  const csVector3& CS_VEC_TILT_DOWN()
  {
    static const csVector3 v ( 1,  0,  0);
    return v;
  }


    class csWrap_iEventHandler : public iEventHandler
    {
      SV *sv;
     public:
         int scfRefCount;					   csArray<void**>* scfWeakRefOwners;					   void scfRemoveRefOwners ();						    public:									   iBase *scfParent;				   virtual void IncRef ();						   virtual void DecRef ();						   virtual int GetRefCount ();						   virtual void AddRefOwner (void** ref_owner);				   virtual void RemoveRefOwner (void** ref_owner);			   virtual void *QueryInterface (scfInterfaceID iInterfaceID, int iVersion);
      csWrap_iEventHandler (SV *sv0) : sv (sv0)
      {
           csRefTrackerAccess::TrackConstruction (this);				   csRefTrackerAccess::SetDescription (this, 0);	   scfRefCount = 1;							   scfWeakRefOwners = 0;							   scfParent = 0; if (scfParent) scfParent->IncRef();		   ;
        SvREFCNT_inc (sv);
      }
      virtual ~csWrap_iEventHandler ()
      {
	SCF_DESTRUCT_IBASE();
        SvREFCNT_dec (sv);
      }

      /*@SWIG:WRAP_FUNC@*/
  virtual bool HandleEvent (iEvent &ev)
  {
    dTARG;
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK (SP);
    XPUSHs (sv);

    SV *ev_rv = newSViv (0);
    SWIG_MakePtr (ev_rv, &ev, SWIGTYPE_p_iEvent, 0);
    XPUSHs (sv_2mortal (ev_rv));

    PUTBACK;
    call_method ("HandleEvent", G_SCALAR);
    SPAGAIN;

    bool retval = (bool) (POPi);

    PUTBACK;
    FREETMPS;
    LEAVE;
    return retval;
  }
/*@SWIG@*/
    };

        void csWrap_iEventHandler::IncRef ()							 {									   ;   csRefTrackerAccess::TrackIncRef (this, scfRefCount);			   scfRefCount++;							 }					    void csWrap_iEventHandler::DecRef ()							 {									   csRefTrackerAccess::TrackDecRef (this, scfRefCount);			   if (scfRefCount == 1)							   {									     ;			     scfRemoveRefOwners ();						     if (scfParent)							       scfParent->DecRef ();						     delete this;							     return;								   }									   scfRefCount--;							 }					    int csWrap_iEventHandler::GetRefCount ()						 {									   return scfRefCount;							 }				    void csWrap_iEventHandler::AddRefOwner (void** ref_owner)				 {									   if (!scfWeakRefOwners)						     scfWeakRefOwners = new csArray<void**> (0, 4);			   scfWeakRefOwners->InsertSorted (ref_owner);				 }									 void csWrap_iEventHandler::RemoveRefOwner (void** ref_owner)				 {									   if (!scfWeakRefOwners)						     return;								   size_t index = scfWeakRefOwners->FindSortedKey (			     csArrayCmp<void**, void**> (ref_owner)); 				   if (index != csArrayItemNotFound) scfWeakRefOwners->DeleteIndex (	     index); 								 }					    void csWrap_iEventHandler::scfRemoveRefOwners ()					 {									   if (!scfWeakRefOwners) return;					   for (size_t i = 0 ; i < scfWeakRefOwners->Length () ; i++)		   {									     void** p = (*scfWeakRefOwners)[i];					     *p = 0;								   }									   delete scfWeakRefOwners;						   scfWeakRefOwners = 0;							 }				    void *csWrap_iEventHandler::QueryInterface (scfInterfaceID iInterfaceID, int iVersion)	 {									   ;
         csRefTrackerAccess::AddAlias (static_cast<iEventHandler*> (this), this);      if (iInterfaceID == scfInterfaceTraits<iEventHandler>::GetID() &&		     scfCompatibleVersion (iVersion, scfInterfaceTraits<iEventHandler>::GetVersion()))    {									     (this)->IncRef ();						     return static_cast<iEventHandler*> (this);				   }
          return scfParent ?							     scfParent->QueryInterface (iInterfaceID, iVersion) : 0;		 }
  

    class csWrap_iEventPlug : public iEventPlug
    {
      SV *sv;
     public:
         int scfRefCount;					   csArray<void**>* scfWeakRefOwners;					   void scfRemoveRefOwners ();						    public:									   iBase *scfParent;				   virtual void IncRef ();						   virtual void DecRef ();						   virtual int GetRefCount ();						   virtual void AddRefOwner (void** ref_owner);				   virtual void RemoveRefOwner (void** ref_owner);			   virtual void *QueryInterface (scfInterfaceID iInterfaceID, int iVersion);
      csWrap_iEventPlug (SV *sv0) : sv (sv0)
      {
           csRefTrackerAccess::TrackConstruction (this);				   csRefTrackerAccess::SetDescription (this, 0);	   scfRefCount = 1;							   scfWeakRefOwners = 0;							   scfParent = 0; if (scfParent) scfParent->IncRef();		   ;
        SvREFCNT_inc (sv);
      }
      virtual ~csWrap_iEventPlug ()
      {
	SCF_DESTRUCT_IBASE();
        SvREFCNT_dec (sv);
      }

      /*@SWIG:WRAP_FUNC@*/
  virtual unsigned int GetPotentiallyConflictingEvents ()
  {
    dTARG;
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK (SP);
    XPUSHs (sv);

    /**/

    PUTBACK;
    call_method ("GetPotentiallyConflictingEvents", G_SCALAR);
    SPAGAIN;

    unsigned int retval = (unsigned int) (POPu);

    PUTBACK;
    FREETMPS;
    LEAVE;
    return retval;
  }
/*@SWIG@*/
  /*@SWIG:WRAP_FUNC@*/
  virtual unsigned int QueryEventPriority (unsigned int type)
  {
    dTARG;
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK (SP);
    XPUSHs (sv);

    XPUSHu (type);

    PUTBACK;
    call_method ("QueryEventPriority", G_SCALAR);
    SPAGAIN;

    unsigned int retval = (unsigned int) (POPu);

    PUTBACK;
    FREETMPS;
    LEAVE;
    return retval;
  }
/*@SWIG@*/
  /*@SWIG:WRAP_VOID@*/
  virtual void EnableEvents (unsigned int type, bool enabled)
  {
    dTARG;
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK (SP);
    XPUSHs (sv);

    XPUSHu (type);
    XPUSHi (enabled ? 1 : 0);

    PUTBACK;
    call_method ("EnableEvents", G_DISCARD);
    SPAGAIN;

    PUTBACK;
    FREETMPS;
    LEAVE;
  }
/*@SWIG@*/
    };

        void csWrap_iEventPlug::IncRef ()							 {									   ;   csRefTrackerAccess::TrackIncRef (this, scfRefCount);			   scfRefCount++;							 }					    void csWrap_iEventPlug::DecRef ()							 {									   csRefTrackerAccess::TrackDecRef (this, scfRefCount);			   if (scfRefCount == 1)							   {									     ;			     scfRemoveRefOwners ();						     if (scfParent)							       scfParent->DecRef ();						     delete this;							     return;								   }									   scfRefCount--;							 }					    int csWrap_iEventPlug::GetRefCount ()						 {									   return scfRefCount;							 }				    void csWrap_iEventPlug::AddRefOwner (void** ref_owner)				 {									   if (!scfWeakRefOwners)						     scfWeakRefOwners = new csArray<void**> (0, 4);			   scfWeakRefOwners->InsertSorted (ref_owner);				 }									 void csWrap_iEventPlug::RemoveRefOwner (void** ref_owner)				 {									   if (!scfWeakRefOwners)						     return;								   size_t index = scfWeakRefOwners->FindSortedKey (			     csArrayCmp<void**, void**> (ref_owner)); 				   if (index != csArrayItemNotFound) scfWeakRefOwners->DeleteIndex (	     index); 								 }					    void csWrap_iEventPlug::scfRemoveRefOwners ()					 {									   if (!scfWeakRefOwners) return;					   for (size_t i = 0 ; i < scfWeakRefOwners->Length () ; i++)		   {									     void** p = (*scfWeakRefOwners)[i];					     *p = 0;								   }									   delete scfWeakRefOwners;						   scfWeakRefOwners = 0;							 }				    void *csWrap_iEventPlug::QueryInterface (scfInterfaceID iInterfaceID, int iVersion)	 {									   ;
         csRefTrackerAccess::AddAlias (static_cast<iEventPlug*> (this), this);      if (iInterfaceID == scfInterfaceTraits<iEventPlug>::GetID() &&		     scfCompatibleVersion (iVersion, scfInterfaceTraits<iEventPlug>::GetVersion()))    {									     (this)->IncRef ();						     return static_cast<iEventPlug*> (this);				   }
          return scfParent ?							     scfParent->QueryInterface (iInterfaceID, iVersion) : 0;		 }
  

    class csWrap_iAwsSink : public iAwsSink
    {
      SV *sv;
     public:
         int scfRefCount;					   csArray<void**>* scfWeakRefOwners;					   void scfRemoveRefOwners ();						    public:									   iBase *scfParent;				   virtual void IncRef ();						   virtual void DecRef ();						   virtual int GetRefCount ();						   virtual void AddRefOwner (void** ref_owner);				   virtual void RemoveRefOwner (void** ref_owner);			   virtual void *QueryInterface (scfInterfaceID iInterfaceID, int iVersion);
      csWrap_iAwsSink (SV *sv0) : sv (sv0)
      {
           csRefTrackerAccess::TrackConstruction (this);				   csRefTrackerAccess::SetDescription (this, 0);	   scfRefCount = 1;							   scfWeakRefOwners = 0;							   scfParent = 0; if (scfParent) scfParent->IncRef();		   ;
        SvREFCNT_inc (sv);
      }
      virtual ~csWrap_iAwsSink ()
      {
	SCF_DESTRUCT_IBASE();
        SvREFCNT_dec (sv);
      }

      /*@SWIG:WRAP_FUNC@*/
  virtual unsigned long GetTriggerID (const char *name)
  {
    dTARG;
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK (SP);
    XPUSHs (sv);

    XPUSHp (name, strlen (name));

    PUTBACK;
    call_method ("GetTriggerID", G_SCALAR);
    SPAGAIN;

    unsigned long retval = (unsigned long) (POPu);

    PUTBACK;
    FREETMPS;
    LEAVE;
    return retval;
  }
/*@SWIG@*/
  /*@SWIG:WRAP_VOID@*/
  virtual void HandleTrigger (int id, iAwsSource *src)
  {
    dTARG;
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK (SP);
    XPUSHs (sv);

    XPUSHi (id);
    SV *ev_rv = newSViv (0);
    SWIG_MakePtr (ev_rv, src, SWIGTYPE_p_iAwsSource, 0);
    XPUSHs (sv_2mortal (ev_rv));

    PUTBACK;
    call_method ("HandleTrigger", G_DISCARD);
    SPAGAIN;

    PUTBACK;
    FREETMPS;
    LEAVE;
  }
/*@SWIG@*/
  /*@SWIG:WRAP_VOID@*/
  virtual void RegisterTrigger (const char *n, void (*t) (void*, iAwsSource*))
  {
    dTARG;
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK (SP);
    XPUSHs (sv);

    /**/

    PUTBACK;
    call_method ("RegisterTrigger", G_DISCARD);
    SPAGAIN;

    PUTBACK;
    FREETMPS;
    LEAVE;
  }
/*@SWIG@*/
  /*@SWIG:WRAP_FUNC@*/
  virtual unsigned int GetError ()
  {
    dTARG;
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK (SP);
    XPUSHs (sv);

    /**/

    PUTBACK;
    call_method ("GetError", G_SCALAR);
    SPAGAIN;

    unsigned int retval = (unsigned int) (POPu);

    PUTBACK;
    FREETMPS;
    LEAVE;
    return retval;
  }
/*@SWIG@*/
    };

        void csWrap_iAwsSink::IncRef ()							 {									   ;   csRefTrackerAccess::TrackIncRef (this, scfRefCount);			   scfRefCount++;							 }					    void csWrap_iAwsSink::DecRef ()							 {									   csRefTrackerAccess::TrackDecRef (this, scfRefCount);			   if (scfRefCount == 1)							   {									     ;			     scfRemoveRefOwners ();						     if (scfParent)							       scfParent->DecRef ();						     delete this;							     return;								   }									   scfRefCount--;							 }					    int csWrap_iAwsSink::GetRefCount ()						 {									   return scfRefCount;							 }				    void csWrap_iAwsSink::AddRefOwner (void** ref_owner)				 {									   if (!scfWeakRefOwners)						     scfWeakRefOwners = new csArray<void**> (0, 4);			   scfWeakRefOwners->InsertSorted (ref_owner);				 }									 void csWrap_iAwsSink::RemoveRefOwner (void** ref_owner)				 {									   if (!scfWeakRefOwners)						     return;								   size_t index = scfWeakRefOwners->FindSortedKey (			     csArrayCmp<void**, void**> (ref_owner)); 				   if (index != csArrayItemNotFound) scfWeakRefOwners->DeleteIndex (	     index); 								 }					    void csWrap_iAwsSink::scfRemoveRefOwners ()					 {									   if (!scfWeakRefOwners) return;					   for (size_t i = 0 ; i < scfWeakRefOwners->Length () ; i++)		   {									     void** p = (*scfWeakRefOwners)[i];					     *p = 0;								   }									   delete scfWeakRefOwners;						   scfWeakRefOwners = 0;							 }				    void *csWrap_iAwsSink::QueryInterface (scfInterfaceID iInterfaceID, int iVersion)	 {									   ;
         csRefTrackerAccess::AddAlias (static_cast<iAwsSink*> (this), this);      if (iInterfaceID == scfInterfaceTraits<iAwsSink>::GetID() &&		     scfCompatibleVersion (iVersion, scfInterfaceTraits<iAwsSink>::GetVersion()))    {									     (this)->IncRef ();						     return static_cast<iAwsSink*> (this);				   }
          return scfParent ?							     scfParent->QueryInterface (iInterfaceID, iVersion) : 0;		 }
  
#ifdef PERL_OBJECT
#define MAGIC_CLASS _wrap_cspace_var::
class _wrap_cspace_var : public CPerlObj {
public:
#else
#define MAGIC_CLASS
#endif
SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *SWIGUNUSEDPARM(sv), MAGIC *SWIGUNUSEDPARM(mg)) {
    MAGIC_PPERL
    croak("Value is read-only.");
    return 0;
}
SWIGCLASS_STATIC int _wrap_csArrayItemNotFound_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setsv(sv,SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(csArrayItemNotFound)))  ;
  return 1;
}


SWIGCLASS_STATIC int _wrap_iSCF_SCF_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setiv(SvRV(sv),PTR2IV(iSCF::SCF));
  return 1;
}


SWIGCLASS_STATIC int _wrap_aws_debug_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setsv(sv,SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(aws_debug)))  ;
  return 1;
}


SWIGCLASS_STATIC int _wrap_AWSF_AlwaysEraseWindows_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setsv(sv,SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(AWSF_AlwaysEraseWindows)))  ;
  return 1;
}


SWIGCLASS_STATIC int _wrap_AWSF_AlwaysRedrawWindows_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setsv(sv,SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(AWSF_AlwaysRedrawWindows)))  ;
  return 1;
}


SWIGCLASS_STATIC int _wrap_AWSF_RaiseOnMouseOver_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setsv(sv,SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(AWSF_RaiseOnMouseOver)))  ;
  return 1;
}


SWIGCLASS_STATIC int _wrap_AWSF_KeyboardControl_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setsv(sv,SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(AWSF_KeyboardControl)))  ;
  return 1;
}


SWIGCLASS_STATIC int _wrap_CS_SNDSYS_STREAM_UNKNOWN_LENGTH_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setsv(sv,SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(CS_SNDSYS_STREAM_UNKNOWN_LENGTH)))  ;
  return 1;
}


SWIGCLASS_STATIC int _wrap_csInvalidStringID_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) {
  MAGIC_PPERL
  sv_setsv(sv,SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(csInvalidStringID)))  ;
  return 1;
}




#ifdef PERL_OBJECT
};
#endif

#ifdef __cplusplus
extern "C" {
#endif
XS(_wrap_csWrapPtr_Ref_set) {
  {
    csWrapPtr *arg1 = (csWrapPtr *) 0 ;
    csRef<iBase > *arg2 = (csRef<iBase > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csWrapPtr_Ref_set(self,Ref);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csWrapPtr, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csWrapPtr_Ref_set" "', argument " "1"" of type '" "csWrapPtr *""'"); 
    }
    arg1 = reinterpret_cast< csWrapPtr * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csRefTiBase_t, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csWrapPtr_Ref_set" "', argument " "2"" of type '" "csRef<iBase > *""'"); 
    }
    arg2 = reinterpret_cast< csRef<iBase > * >(argp2);
    if (arg1) (arg1)->Ref = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csWrapPtr_Ref_get) {
  {
    csWrapPtr *arg1 = (csWrapPtr *) 0 ;
    csRef<iBase > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csWrapPtr_Ref_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csWrapPtr, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csWrapPtr_Ref_get" "', argument " "1"" of type '" "csWrapPtr *""'"); 
    }
    arg1 = reinterpret_cast< csWrapPtr * >(argp1);
    result = (csRef<iBase > *)& ((arg1)->Ref);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRefTiBase_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csWrapPtr_Type_get) {
  {
    csWrapPtr *arg1 = (csWrapPtr *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csWrapPtr_Type_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csWrapPtr, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csWrapPtr_Type_get" "', argument " "1"" of type '" "csWrapPtr *""'"); 
    }
    arg1 = reinterpret_cast< csWrapPtr * >(argp1);
    result = (char *) ((arg1)->Type);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csWrapPtr_Version_set) {
  {
    csWrapPtr *arg1 = (csWrapPtr *) 0 ;
    scfInterfaceVersion arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csWrapPtr_Version_set(self,Version);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csWrapPtr, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csWrapPtr_Version_set" "', argument " "1"" of type '" "csWrapPtr *""'"); 
    }
    arg1 = reinterpret_cast< csWrapPtr * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csWrapPtr_Version_set" "', argument " "2"" of type '" "scfInterfaceVersion""'");
    } 
    arg2 = static_cast< scfInterfaceVersion >(val2);
    if (arg1) (arg1)->Version = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csWrapPtr_Version_get) {
  {
    csWrapPtr *arg1 = (csWrapPtr *) 0 ;
    scfInterfaceVersion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csWrapPtr_Version_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csWrapPtr, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csWrapPtr_Version_get" "', argument " "1"" of type '" "csWrapPtr *""'"); 
    }
    arg1 = reinterpret_cast< csWrapPtr * >(argp1);
    result = (scfInterfaceVersion) ((arg1)->Version);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csWrapPtr__SWIG_0) {
  {
    char *arg1 = (char *) 0 ;
    scfInterfaceVersion arg2 ;
    iBase *arg3 = (iBase *) 0 ;
    csWrapPtr *result = 0 ;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csWrapPtr(t,v,r);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csWrapPtr" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csWrapPtr" "', argument " "2"" of type '" "scfInterfaceVersion""'");
    } 
    arg2 = static_cast< scfInterfaceVersion >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csWrapPtr" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    result = (csWrapPtr *)new csWrapPtr((char const *)arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csWrapPtr, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csWrapPtr__SWIG_1) {
  {
    char *arg1 = (char *) 0 ;
    scfInterfaceVersion arg2 ;
    SwigValueWrapper<csPtr<iBase > > arg3 ;
    csWrapPtr *result = 0 ;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csWrapPtr(t,v,r);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csWrapPtr" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csWrapPtr" "', argument " "2"" of type '" "scfInterfaceVersion""'");
    } 
    arg2 = static_cast< scfInterfaceVersion >(val2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPtrTiBase_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csWrapPtr" "', argument " "3"" of type '" "csPtr<iBase >""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csWrapPtr" "', argument " "3"" of type '" "csPtr<iBase >""'");
      } else {
        arg3 = *(reinterpret_cast< csPtr<iBase > * >(argp3));
      }
    }
    result = (csWrapPtr *)new csWrapPtr((char const *)arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csWrapPtr, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csWrapPtr__SWIG_2) {
  {
    char *arg1 = (char *) 0 ;
    scfInterfaceVersion arg2 ;
    SwigValueWrapper<csRef<iBase > > arg3 ;
    csWrapPtr *result = 0 ;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csWrapPtr(t,v,r);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csWrapPtr" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csWrapPtr" "', argument " "2"" of type '" "scfInterfaceVersion""'");
    } 
    arg2 = static_cast< scfInterfaceVersion >(val2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiBase_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csWrapPtr" "', argument " "3"" of type '" "csRef<iBase >""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csWrapPtr" "', argument " "3"" of type '" "csRef<iBase >""'");
      } else {
        arg3 = *(reinterpret_cast< csRef<iBase > * >(argp3));
      }
    }
    result = (csWrapPtr *)new csWrapPtr((char const *)arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csWrapPtr, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csWrapPtr__SWIG_3) {
  {
    csWrapPtr *arg1 = 0 ;
    csWrapPtr *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csWrapPtr(p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csWrapPtr,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csWrapPtr" "', argument " "1"" of type '" "csWrapPtr const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csWrapPtr" "', argument " "1"" of type '" "csWrapPtr const &""'"); 
    }
    arg1 = reinterpret_cast< csWrapPtr * >(argp1);
    result = (csWrapPtr *)new csWrapPtr((csWrapPtr const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csWrapPtr, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csWrapPtr) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csWrapPtr, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csPtrTiBase_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiBase_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csWrapPtr__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csWrapPtr__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csWrapPtr__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csWrapPtr__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csWrapPtr'");
  XSRETURN(0);
}


XS(_wrap_delete_csWrapPtr) {
  {
    csWrapPtr *arg1 = (csWrapPtr *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csWrapPtr(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csWrapPtr, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csWrapPtr" "', argument " "1"" of type '" "csWrapPtr *""'"); 
    }
    arg1 = reinterpret_cast< csWrapPtr * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayThresholdVariable__SWIG_0) {
  {
    size_t arg1 ;
    csArrayThresholdVariable *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csArrayThresholdVariable(in_threshold);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csArrayThresholdVariable" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csArrayThresholdVariable *)new csArrayThresholdVariable(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayThresholdVariable, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayThresholdVariable__SWIG_1) {
  {
    csArrayThresholdVariable *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csArrayThresholdVariable();");
    }
    result = (csArrayThresholdVariable *)new csArrayThresholdVariable();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayThresholdVariable, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayThresholdVariable) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csArrayThresholdVariable__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csArrayThresholdVariable__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csArrayThresholdVariable'");
  XSRETURN(0);
}


XS(_wrap_csArrayThresholdVariable_GetThreshold) {
  {
    csArrayThresholdVariable *arg1 = (csArrayThresholdVariable *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csArrayThresholdVariable_GetThreshold(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayThresholdVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csArrayThresholdVariable_GetThreshold" "', argument " "1"" of type '" "csArrayThresholdVariable const *""'"); 
    }
    arg1 = reinterpret_cast< csArrayThresholdVariable * >(argp1);
    result = ((csArrayThresholdVariable const *)arg1)->GetThreshold();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csArrayThresholdVariable) {
  {
    csArrayThresholdVariable *arg1 = (csArrayThresholdVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csArrayThresholdVariable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayThresholdVariable, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csArrayThresholdVariable" "', argument " "1"" of type '" "csArrayThresholdVariable *""'"); 
    }
    arg1 = reinterpret_cast< csArrayThresholdVariable * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayThresholdVariableCapacityLinear__SWIG_0) {
  {
    csArrayCapacityLinear<csArrayThresholdVariable > *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csArrayThresholdVariableCapacityLinear();");
    }
    result = (csArrayCapacityLinear<csArrayThresholdVariable > *)new csArrayCapacityLinear<csArrayThresholdVariable >();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayCapacityLinearTcsArrayThresholdVariable_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayThresholdVariableCapacityLinear__SWIG_1) {
  {
    csArrayThresholdVariable *arg1 = 0 ;
    csArrayCapacityLinear<csArrayThresholdVariable > *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csArrayThresholdVariableCapacityLinear(threshold);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayThresholdVariable,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csArrayThresholdVariableCapacityLinear" "', argument " "1"" of type '" "csArrayThresholdVariable const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csArrayThresholdVariableCapacityLinear" "', argument " "1"" of type '" "csArrayThresholdVariable const &""'"); 
    }
    arg1 = reinterpret_cast< csArrayThresholdVariable * >(argp1);
    result = (csArrayCapacityLinear<csArrayThresholdVariable > *)new csArrayCapacityLinear<csArrayThresholdVariable >((csArrayThresholdVariable const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayCapacityLinearTcsArrayThresholdVariable_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayThresholdVariableCapacityLinear__SWIG_2) {
  {
    size_t arg1 ;
    csArrayCapacityLinear<csArrayThresholdVariable > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csArrayThresholdVariableCapacityLinear(x);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csArrayThresholdVariableCapacityLinear" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csArrayCapacityLinear<csArrayThresholdVariable > *)new csArrayCapacityLinear<csArrayThresholdVariable >(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayCapacityLinearTcsArrayThresholdVariable_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayThresholdVariableCapacityLinear) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayThresholdVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csArrayThresholdVariableCapacityLinear__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csArrayThresholdVariableCapacityLinear__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csArrayThresholdVariableCapacityLinear__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csArrayThresholdVariableCapacityLinear'");
  XSRETURN(0);
}


XS(_wrap_csArrayThresholdVariableCapacityLinear_IsCapacityExcessive) {
  {
    csArrayCapacityLinear<csArrayThresholdVariable > *arg1 = (csArrayCapacityLinear<csArrayThresholdVariable > *) 0 ;
    size_t arg2 ;
    size_t arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csArrayThresholdVariableCapacityLinear_IsCapacityExcessive(self,capacity,count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayCapacityLinearTcsArrayThresholdVariable_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csArrayThresholdVariableCapacityLinear_IsCapacityExcessive" "', argument " "1"" of type '" "csArrayCapacityLinear<csArrayThresholdVariable > const *""'"); 
    }
    arg1 = reinterpret_cast< csArrayCapacityLinear<csArrayThresholdVariable > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csArrayThresholdVariableCapacityLinear_IsCapacityExcessive" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csArrayThresholdVariableCapacityLinear_IsCapacityExcessive" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (bool)((csArrayCapacityLinear<csArrayThresholdVariable > const *)arg1)->IsCapacityExcessive(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csArrayThresholdVariableCapacityLinear_GetCapacity) {
  {
    csArrayCapacityLinear<csArrayThresholdVariable > *arg1 = (csArrayCapacityLinear<csArrayThresholdVariable > *) 0 ;
    size_t arg2 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csArrayThresholdVariableCapacityLinear_GetCapacity(self,count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayCapacityLinearTcsArrayThresholdVariable_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csArrayThresholdVariableCapacityLinear_GetCapacity" "', argument " "1"" of type '" "csArrayCapacityLinear<csArrayThresholdVariable > const *""'"); 
    }
    arg1 = reinterpret_cast< csArrayCapacityLinear<csArrayThresholdVariable > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csArrayThresholdVariableCapacityLinear_GetCapacity" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = ((csArrayCapacityLinear<csArrayThresholdVariable > const *)arg1)->GetCapacity(arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csArrayThresholdVariableCapacityLinear) {
  {
    csArrayCapacityLinear<csArrayThresholdVariable > *arg1 = (csArrayCapacityLinear<csArrayThresholdVariable > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csArrayThresholdVariableCapacityLinear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayCapacityLinearTcsArrayThresholdVariable_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csArrayThresholdVariableCapacityLinear" "', argument " "1"" of type '" "csArrayCapacityLinear<csArrayThresholdVariable > *""'"); 
    }
    arg1 = reinterpret_cast< csArrayCapacityLinear<csArrayThresholdVariable > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayCapacityDefault__SWIG_0) {
  {
    csArrayCapacityDefault *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csArrayCapacityDefault();");
    }
    result = (csArrayCapacityDefault *)new csArrayCapacityDefault();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayCapacityDefault, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayCapacityDefault__SWIG_1) {
  {
    csArrayThresholdVariable *arg1 = 0 ;
    csArrayCapacityDefault *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csArrayCapacityDefault(threshold);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayThresholdVariable,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csArrayCapacityDefault" "', argument " "1"" of type '" "csArrayThresholdVariable const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csArrayCapacityDefault" "', argument " "1"" of type '" "csArrayThresholdVariable const &""'"); 
    }
    arg1 = reinterpret_cast< csArrayThresholdVariable * >(argp1);
    result = (csArrayCapacityDefault *)new csArrayCapacityDefault((csArrayThresholdVariable const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayCapacityDefault, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayCapacityDefault__SWIG_2) {
  {
    size_t arg1 ;
    csArrayCapacityDefault *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csArrayCapacityDefault(x);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csArrayCapacityDefault" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csArrayCapacityDefault *)new csArrayCapacityDefault(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayCapacityDefault, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csArrayCapacityDefault) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayThresholdVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csArrayCapacityDefault__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csArrayCapacityDefault__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csArrayCapacityDefault__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csArrayCapacityDefault'");
  XSRETURN(0);
}


XS(_wrap_delete_csArrayCapacityDefault) {
  {
    csArrayCapacityDefault *arg1 = (csArrayCapacityDefault *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csArrayCapacityDefault(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayCapacityDefault, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csArrayCapacityDefault" "', argument " "1"" of type '" "csArrayCapacityDefault *""'"); 
    }
    arg1 = reinterpret_cast< csArrayCapacityDefault * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_scfCompatibleVersion) {
  {
    scfInterfaceVersion arg1 ;
    scfInterfaceVersion arg2 ;
    bool result;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: scfCompatibleVersion(iVersion,iItfVersion);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "scfCompatibleVersion" "', argument " "1"" of type '" "scfInterfaceVersion""'");
    } 
    arg1 = static_cast< scfInterfaceVersion >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "scfCompatibleVersion" "', argument " "2"" of type '" "scfInterfaceVersion""'");
    } 
    arg2 = static_cast< scfInterfaceVersion >(val2);
    result = (bool)scfCompatibleVersion(arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBase_IncRef) {
  {
    iBase *arg1 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iBase_IncRef(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBase_IncRef" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    (arg1)->IncRef();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBase_DecRef) {
  {
    iBase *arg1 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iBase_DecRef(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBase_DecRef" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    (arg1)->DecRef();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBase_GetRefCount) {
  {
    iBase *arg1 = (iBase *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iBase_GetRefCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBase_GetRefCount" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    result = (int)(arg1)->GetRefCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBase_QueryInterface) {
  {
    iBase *arg1 = (iBase *) 0 ;
    scfInterfaceID arg2 ;
    int arg3 ;
    void *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iBase_QueryInterface(self,iInterfaceID,iVersion);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBase_QueryInterface" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iBase_QueryInterface" "', argument " "2"" of type '" "scfInterfaceID""'");
    } 
    arg2 = static_cast< scfInterfaceID >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iBase_QueryInterface" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (void *)(arg1)->QueryInterface(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBase_AddRefOwner) {
  {
    iBase *arg1 = (iBase *) 0 ;
    void **arg2 = (void **) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iBase_AddRefOwner(self,ref_owner);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBase_AddRefOwner" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_void, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iBase_AddRefOwner" "', argument " "2"" of type '" "void **""'"); 
    }
    arg2 = reinterpret_cast< void ** >(argp2);
    (arg1)->AddRefOwner(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBase_RemoveRefOwner) {
  {
    iBase *arg1 = (iBase *) 0 ;
    void **arg2 = (void **) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iBase_RemoveRefOwner(self,ref_owner);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBase_RemoveRefOwner" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_void, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iBase_RemoveRefOwner" "', argument " "2"" of type '" "void **""'"); 
    }
    arg2 = reinterpret_cast< void ** >(argp2);
    (arg1)->RemoveRefOwner(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBase_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iBase_scfGetVersion();");
    }
    result = (int)iBase_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClasses__SWIG_0) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    iDocument *arg2 = (iDocument *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSCF_RegisterClasses(self,metadata,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClasses" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClasses" "', argument " "2"" of type '" "iDocument *""'"); 
    }
    arg2 = reinterpret_cast< iDocument * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClasses" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->RegisterClasses(arg2,(char const *)arg3);
    
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClasses__SWIG_1) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    iDocument *arg2 = (iDocument *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_RegisterClasses(self,metadata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClasses" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClasses" "', argument " "2"" of type '" "iDocument *""'"); 
    }
    arg2 = reinterpret_cast< iDocument * >(argp2);
    (arg1)->RegisterClasses(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClasses__SWIG_2) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSCF_RegisterClasses(self,xml,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClasses" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClasses" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClasses" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->RegisterClasses((char const *)arg2,(char const *)arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClasses__SWIG_3) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_RegisterClasses(self,xml);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClasses" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClasses" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->RegisterClasses((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClasses__SWIG_4) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    iDocument *arg3 = (iDocument *) 0 ;
    char *arg4 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSCF_RegisterClasses(self,pluginPath,metadata,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClasses" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClasses" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClasses" "', argument " "3"" of type '" "iDocument *""'"); 
    }
    arg3 = reinterpret_cast< iDocument * >(argp3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSCF_RegisterClasses" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    (arg1)->RegisterClasses((char const *)arg2,arg3,(char const *)arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClasses__SWIG_5) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    iDocument *arg3 = (iDocument *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSCF_RegisterClasses(self,pluginPath,metadata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClasses" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClasses" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClasses" "', argument " "3"" of type '" "iDocument *""'"); 
    }
    arg3 = reinterpret_cast< iDocument * >(argp3);
    (arg1)->RegisterClasses((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClasses) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClasses__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClasses__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClasses__SWIG_0); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClasses__SWIG_5); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClasses__SWIG_2); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClasses__SWIG_4); return;
    }
  }
  
  croak("No matching function for overloaded 'iSCF_RegisterClasses'");
  XSRETURN(0);
}


XS(_wrap_iSCF_ClassRegistered) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_ClassRegistered(self,iClassID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_ClassRegistered" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_ClassRegistered" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->ClassRegistered((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_CreateInstance) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_CreateInstance(self,iClassID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_CreateInstance" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_CreateInstance" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iBase *)(arg1)->CreateInstance((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_GetClassDescription) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_GetClassDescription(self,iClassID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_GetClassDescription" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_GetClassDescription" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (char *)(arg1)->GetClassDescription((char const *)arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_GetClassDependencies) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_GetClassDependencies(self,iClassID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_GetClassDependencies" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_GetClassDependencies" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (char *)(arg1)->GetClassDependencies((char const *)arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_GetPluginMetadata) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csRef<iDocument > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_GetPluginMetadata(self,iClassID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_GetPluginMetadata" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_GetPluginMetadata" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->GetPluginMetadata((char const *)arg2);
    {
      csRef<iDocument> rf ((csRef<iDocument>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDocument*)rf, SWIG_TypeQuery("cspace::""iDocument"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_UnloadUnusedModules) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSCF_UnloadUnusedModules(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_UnloadUnusedModules" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    (arg1)->UnloadUnusedModules();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClass__SWIG_0) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    char *arg6 = (char *) 0 ;
    char *arg7 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int res6 ;
    char *buf6 = 0 ;
    int alloc6 = 0 ;
    int res7 ;
    char *buf7 = 0 ;
    int alloc7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iSCF_RegisterClass(self,iClassID,iLibraryName,iFactoryClass,Description,Dependencies,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClass" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClass" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClass" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSCF_RegisterClass" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSCF_RegisterClass" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    res6 = SWIG_AsCharPtrAndSize(ST(5), &buf6, NULL, &alloc6);
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iSCF_RegisterClass" "', argument " "6"" of type '" "char const *""'");
    }
    arg6 = buf6;
    res7 = SWIG_AsCharPtrAndSize(ST(6), &buf7, NULL, &alloc7);
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iSCF_RegisterClass" "', argument " "7"" of type '" "char const *""'");
    }
    arg7 = buf7;
    result = (bool)(arg1)->RegisterClass((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    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;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    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;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClass__SWIG_1) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    char *arg6 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int res6 ;
    char *buf6 = 0 ;
    int alloc6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iSCF_RegisterClass(self,iClassID,iLibraryName,iFactoryClass,Description,Dependencies);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClass" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClass" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClass" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSCF_RegisterClass" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSCF_RegisterClass" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    res6 = SWIG_AsCharPtrAndSize(ST(5), &buf6, NULL, &alloc6);
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iSCF_RegisterClass" "', argument " "6"" of type '" "char const *""'");
    }
    arg6 = buf6;
    result = (bool)(arg1)->RegisterClass((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClass__SWIG_2) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSCF_RegisterClass(self,iClassID,iLibraryName,iFactoryClass,Description);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClass" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterClass" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClass" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSCF_RegisterClass" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSCF_RegisterClass" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    result = (bool)(arg1)->RegisterClass((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClass__SWIG_3) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    scfFactoryFunc arg2 = (scfFactoryFunc) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    char *arg6 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int res6 ;
    char *buf6 = 0 ;
    int alloc6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iSCF_RegisterClass(self,scfFactoryFunc,iClassID,Description,Dependencies,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClass" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    {
      int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_iBase__p_iBase);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "iSCF_RegisterClass" "', argument " "2"" of type '" "scfFactoryFunc""'"); 
      }
    }
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClass" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSCF_RegisterClass" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSCF_RegisterClass" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    res6 = SWIG_AsCharPtrAndSize(ST(5), &buf6, NULL, &alloc6);
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iSCF_RegisterClass" "', argument " "6"" of type '" "char const *""'");
    }
    arg6 = buf6;
    result = (bool)(arg1)->RegisterClass(arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    if (alloc6 == SWIG_NEWOBJ) delete[] buf6;
    XSRETURN(argvi);
  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;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClass__SWIG_4) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    scfFactoryFunc arg2 = (scfFactoryFunc) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSCF_RegisterClass(self,scfFactoryFunc,iClassID,Description,Dependencies);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClass" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    {
      int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_iBase__p_iBase);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "iSCF_RegisterClass" "', argument " "2"" of type '" "scfFactoryFunc""'"); 
      }
    }
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClass" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSCF_RegisterClass" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSCF_RegisterClass" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    result = (bool)(arg1)->RegisterClass(arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClass__SWIG_5) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    scfFactoryFunc arg2 = (scfFactoryFunc) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSCF_RegisterClass(self,scfFactoryFunc,iClassID,Description);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterClass" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    {
      int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_iBase__p_iBase);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "iSCF_RegisterClass" "', argument " "2"" of type '" "scfFactoryFunc""'"); 
      }
    }
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterClass" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSCF_RegisterClass" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = (bool)(arg1)->RegisterClass(arg2,(char const *)arg3,(char const *)arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_RegisterClass) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertFunctionPtr(ST(1), &ptr, SWIGTYPE_p_f_p_iBase__p_iBase);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertFunctionPtr(ST(1), &ptr, SWIGTYPE_p_f_p_iBase__p_iBase);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(4), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(4), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertFunctionPtr(ST(1), &ptr, SWIGTYPE_p_f_p_iBase__p_iBase);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(4), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(5), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(4), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(5), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(4), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(5), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(6), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClass__SWIG_5); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClass__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClass__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClass__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClass__SWIG_1); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_RegisterClass__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSCF_RegisterClass'");
  XSRETURN(0);
}


XS(_wrap_iSCF_RegisterFactoryFunc) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    scfFactoryFunc arg2 = (scfFactoryFunc) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSCF_RegisterFactoryFunc(self,scfFactoryFunc,FactClass);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterFactoryFunc" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    {
      int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_iBase__p_iBase);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "iSCF_RegisterFactoryFunc" "', argument " "2"" of type '" "scfFactoryFunc""'"); 
      }
    }
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSCF_RegisterFactoryFunc" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->RegisterFactoryFunc(arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_UnregisterClass) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_UnregisterClass(self,iClassID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_UnregisterClass" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_UnregisterClass" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->UnregisterClass((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_GetInterfaceName) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    scfInterfaceID arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_GetInterfaceName(self,scfInterfaceID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_GetInterfaceName" "', argument " "1"" of type '" "iSCF const *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSCF_GetInterfaceName" "', argument " "2"" of type '" "scfInterfaceID""'");
    } 
    arg2 = static_cast< scfInterfaceID >(val2);
    result = (char *)((iSCF const *)arg1)->GetInterfaceName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_GetInterfaceID) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    scfInterfaceID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_GetInterfaceID(self,iInterface);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_GetInterfaceID" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_GetInterfaceID" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (scfInterfaceID)(arg1)->GetInterfaceID((char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_Finish) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSCF_Finish(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_Finish" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    (arg1)->Finish();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_QueryClassList) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csRef<iStringArray > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_QueryClassList(self,pattern);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_QueryClassList" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_QueryClassList" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->QueryClassList((char const *)arg2);
    {
      csRef<iStringArray> rf ((csRef<iStringArray>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iStringArray*)rf, SWIG_TypeQuery("cspace::""iStringArray"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_ScanPluginsPath__SWIG_0) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    char *arg4 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSCF_ScanPluginsPath(self,path,recursive,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_ScanPluginsPath" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_ScanPluginsPath" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSCF_ScanPluginsPath" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSCF_ScanPluginsPath" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    (arg1)->ScanPluginsPath((char const *)arg2,arg3,(char const *)arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_ScanPluginsPath__SWIG_1) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSCF_ScanPluginsPath(self,path,recursive);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_ScanPluginsPath" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_ScanPluginsPath" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSCF_ScanPluginsPath" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->ScanPluginsPath((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_ScanPluginsPath__SWIG_2) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_ScanPluginsPath(self,path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_ScanPluginsPath" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_ScanPluginsPath" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->ScanPluginsPath((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_ScanPluginsPath) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSCF, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_ScanPluginsPath__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_ScanPluginsPath__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSCF_ScanPluginsPath__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSCF_ScanPluginsPath'");
  XSRETURN(0);
}


XS(_wrap_iSCF_RegisterPlugin) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSCF_RegisterPlugin(self,path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSCF_RegisterPlugin" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSCF_RegisterPlugin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->RegisterPlugin((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSCF) {
  {
    iSCF *arg1 = (iSCF *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSCF(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSCF, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSCF" "', argument " "1"" of type '" "iSCF *""'"); 
    }
    arg1 = reinterpret_cast< iSCF * >(argp1);
    delete_iSCF(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSCF_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSCF_scfGetVersion();");
    }
    result = (int)iSCF_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iFactory_CreateInstance) {
  {
    iFactory *arg1 = (iFactory *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFactory_CreateInstance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFactory_CreateInstance" "', argument " "1"" of type '" "iFactory *""'"); 
    }
    arg1 = reinterpret_cast< iFactory * >(argp1);
    result = (iBase *)(arg1)->CreateInstance();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFactory_TryUnload) {
  {
    iFactory *arg1 = (iFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFactory_TryUnload(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFactory_TryUnload" "', argument " "1"" of type '" "iFactory *""'"); 
    }
    arg1 = reinterpret_cast< iFactory * >(argp1);
    (arg1)->TryUnload();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFactory_QueryDescription) {
  {
    iFactory *arg1 = (iFactory *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFactory_QueryDescription(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFactory_QueryDescription" "', argument " "1"" of type '" "iFactory *""'"); 
    }
    arg1 = reinterpret_cast< iFactory * >(argp1);
    result = (char *)(arg1)->QueryDescription();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFactory_QueryDependencies) {
  {
    iFactory *arg1 = (iFactory *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFactory_QueryDependencies(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFactory_QueryDependencies" "', argument " "1"" of type '" "iFactory *""'"); 
    }
    arg1 = reinterpret_cast< iFactory * >(argp1);
    result = (char *)(arg1)->QueryDependencies();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFactory_QueryClassID) {
  {
    iFactory *arg1 = (iFactory *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFactory_QueryClassID(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFactory_QueryClassID" "', argument " "1"" of type '" "iFactory *""'"); 
    }
    arg1 = reinterpret_cast< iFactory * >(argp1);
    result = (char *)(arg1)->QueryClassID();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFactory_QueryModuleName) {
  {
    iFactory *arg1 = (iFactory *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFactory_QueryModuleName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFactory_QueryModuleName" "', argument " "1"" of type '" "iFactory *""'"); 
    }
    arg1 = reinterpret_cast< iFactory * >(argp1);
    result = (char *)(arg1)->QueryModuleName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iFactory) {
  {
    iFactory *arg1 = (iFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iFactory" "', argument " "1"" of type '" "iFactory *""'"); 
    }
    arg1 = reinterpret_cast< iFactory * >(argp1);
    delete_iFactory(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFactory_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iFactory_scfGetVersion();");
    }
    result = (int)iFactory_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_scfRegisterStaticClass__SWIG_0) {
  {
    scfFactoryFunc arg1 = (scfFactoryFunc) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: scfRegisterStaticClass(scfFactoryFunc,iClassID,Description,Dependencies);");
    }
    {
      int res = SWIG_ConvertFunctionPtr(ST(0), (void**)(&arg1), SWIGTYPE_p_f_p_iBase__p_iBase);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "scfRegisterStaticClass" "', argument " "1"" of type '" "scfFactoryFunc""'"); 
      }
    }
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "scfRegisterStaticClass" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "scfRegisterStaticClass" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "scfRegisterStaticClass" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    scfRegisterStaticClass(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_scfRegisterStaticClass__SWIG_1) {
  {
    scfFactoryFunc arg1 = (scfFactoryFunc) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: scfRegisterStaticClass(scfFactoryFunc,iClassID,Description);");
    }
    {
      int res = SWIG_ConvertFunctionPtr(ST(0), (void**)(&arg1), SWIGTYPE_p_f_p_iBase__p_iBase);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "scfRegisterStaticClass" "', argument " "1"" of type '" "scfFactoryFunc""'"); 
      }
    }
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "scfRegisterStaticClass" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "scfRegisterStaticClass" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    scfRegisterStaticClass(arg1,(char const *)arg2,(char const *)arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_scfRegisterStaticClass) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *ptr = 0;
        int res = SWIG_ConvertFunctionPtr(ST(0), &ptr, SWIGTYPE_p_f_p_iBase__p_iBase);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *ptr = 0;
        int res = SWIG_ConvertFunctionPtr(ST(0), &ptr, SWIGTYPE_p_f_p_iBase__p_iBase);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_scfRegisterStaticClass__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_scfRegisterStaticClass__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'scfRegisterStaticClass'");
  XSRETURN(0);
}


XS(_wrap_scfRegisterStaticClasses) {
  {
    char *arg1 = (char *) 0 ;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: scfRegisterStaticClasses(xml);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "scfRegisterStaticClasses" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    scfRegisterStaticClasses((char const *)arg1);
    
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    SWIG_croak_null();
  }
}


XS(_wrap_scfRegisterStaticFactoryFunc) {
  {
    scfFactoryFunc arg1 = (scfFactoryFunc) 0 ;
    char *arg2 = (char *) 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: scfRegisterStaticFactoryFunc(scfFactoryFunc,FactClass);");
    }
    {
      int res = SWIG_ConvertFunctionPtr(ST(0), (void**)(&arg1), SWIGTYPE_p_f_p_iBase__p_iBase);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "scfRegisterStaticFactoryFunc" "', argument " "1"" of type '" "scfFactoryFunc""'"); 
      }
    }
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "scfRegisterStaticFactoryFunc" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    scfRegisterStaticFactoryFunc(arg1,(char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDebugHelper_GetSupportedTests) {
  {
    iDebugHelper *arg1 = (iDebugHelper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDebugHelper_GetSupportedTests(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDebugHelper_GetSupportedTests" "', argument " "1"" of type '" "iDebugHelper const *""'"); 
    }
    arg1 = reinterpret_cast< iDebugHelper * >(argp1);
    result = (int)((iDebugHelper const *)arg1)->GetSupportedTests();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDebugHelper_UnitTest) {
  {
    iDebugHelper *arg1 = (iDebugHelper *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDebugHelper_UnitTest(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDebugHelper_UnitTest" "', argument " "1"" of type '" "iDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< iDebugHelper * >(argp1);
    result = (arg1)->UnitTest();
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDebugHelper_StateTest) {
  {
    iDebugHelper *arg1 = (iDebugHelper *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDebugHelper_StateTest(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDebugHelper_StateTest" "', argument " "1"" of type '" "iDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< iDebugHelper * >(argp1);
    result = (arg1)->StateTest();
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDebugHelper_Benchmark) {
  {
    iDebugHelper *arg1 = (iDebugHelper *) 0 ;
    int arg2 ;
    csTicks result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDebugHelper_Benchmark(self,num_iterations);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDebugHelper_Benchmark" "', argument " "1"" of type '" "iDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< iDebugHelper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDebugHelper_Benchmark" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csTicks)(arg1)->Benchmark(arg2);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDebugHelper_Dump__SWIG_0) {
  {
    iDebugHelper *arg1 = (iDebugHelper *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDebugHelper_Dump(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDebugHelper_Dump" "', argument " "1"" of type '" "iDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< iDebugHelper * >(argp1);
    result = (arg1)->Dump();
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDebugHelper_Dump__SWIG_1) {
  {
    iDebugHelper *arg1 = (iDebugHelper *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDebugHelper_Dump(self,g3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDebugHelper_Dump" "', argument " "1"" of type '" "iDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< iDebugHelper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDebugHelper_Dump" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    (arg1)->Dump(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDebugHelper_Dump) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDebugHelper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDebugHelper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDebugHelper_Dump__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDebugHelper_Dump__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iDebugHelper_Dump'");
  XSRETURN(0);
}


XS(_wrap_iDebugHelper_DebugCommand) {
  {
    iDebugHelper *arg1 = (iDebugHelper *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDebugHelper_DebugCommand(self,cmd);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDebugHelper_DebugCommand" "', argument " "1"" of type '" "iDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< iDebugHelper * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDebugHelper_DebugCommand" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->DebugCommand((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDebugHelper) {
  {
    iDebugHelper *arg1 = (iDebugHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDebugHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDebugHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDebugHelper" "', argument " "1"" of type '" "iDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< iDebugHelper * >(argp1);
    delete_iDebugHelper(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDebugHelper_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iDebugHelper_scfGetVersion();");
    }
    result = (int)iDebugHelper_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_Initialize) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    int arg2 ;
    char **arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCommandLineParser_Initialize(self,argc,argv);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_Initialize" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    {
      // Convert incoming Perl array reference to argc/argv[].  Note that we
      // manually determine and prepend the script name to the incoming @ARGV array
      // since C functions expect argv[0] to be the program name, whereas the Perl
      // @ARGV array is filled only with script arguments.
      AV *av = (AV *) SvRV (ST(1));
      if (SvTYPE (av) != SVt_PVAV)
      croak ("%s", "Argument must be an array reference");
      arg2 = av_len (av) + 2; // +1 to get actual array length; +1 for script name
      arg3 = new char* [arg2];
      arg3[0] = SvPV_nolen(get_sv("0", 0));
      for (int i = 1; i < arg2; i++)
      {
        SV **sv = av_fetch (av, i - 1, 0);
        arg3[i] = SvPV_nolen (*sv);
      }
    }
    (arg1)->Initialize(arg2,(char const *const (*))arg3);
    
    
    {
      delete[] arg3;
      
      // Let caller know that we consumed the entire array (i.e. we `shifted'
      // all elements). It is safe to do this only after all usage of arg3[]
      // since arg3[] contains live references to strings in ST(1).
      av_clear((AV*)SvRV(ST(1)));
    }
    XSRETURN(argvi);
  fail:
    
    {
      delete[] arg3;
      
      // Let caller know that we consumed the entire array (i.e. we `shifted'
      // all elements). It is safe to do this only after all usage of arg3[]
      // since arg3[] contains live references to strings in ST(1).
      av_clear((AV*)SvRV(ST(1)));
    }
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_Reset) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCommandLineParser_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_Reset" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetOption__SWIG_0) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t arg3 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCommandLineParser_GetOption(self,iName,iIndex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetOption" "', argument " "1"" of type '" "iCommandLineParser const *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_GetOption" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCommandLineParser_GetOption" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (char *)((iCommandLineParser const *)arg1)->GetOption((char const *)arg2,arg3);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetOption__SWIG_1) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCommandLineParser_GetOption(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetOption" "', argument " "1"" of type '" "iCommandLineParser const *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_GetOption" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (char *)((iCommandLineParser const *)arg1)->GetOption((char const *)arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetOption) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_GetOption__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_GetOption__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iCommandLineParser_GetOption'");
  XSRETURN(0);
}


XS(_wrap_iCommandLineParser_GetName__SWIG_0) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    size_t arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCommandLineParser_GetName(self,iIndex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetName" "', argument " "1"" of type '" "iCommandLineParser const *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCommandLineParser_GetName" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (char *)((iCommandLineParser const *)arg1)->GetName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetName__SWIG_1) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCommandLineParser_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetName" "', argument " "1"" of type '" "iCommandLineParser const *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    result = (char *)((iCommandLineParser const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetName) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_GetName__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_GetName__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iCommandLineParser_GetName'");
  XSRETURN(0);
}


XS(_wrap_iCommandLineParser_AddOption) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCommandLineParser_AddOption(self,iName,iValue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_AddOption" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_AddOption" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCommandLineParser_AddOption" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->AddOption((char const *)arg2,(char const *)arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_AddName) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCommandLineParser_AddName(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_AddName" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_AddName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->AddName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_ReplaceOption__SWIG_0) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    size_t arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    size_t val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iCommandLineParser_ReplaceOption(self,iName,iValue,iIndex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_ReplaceOption" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_ReplaceOption" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCommandLineParser_ReplaceOption" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iCommandLineParser_ReplaceOption" "', argument " "4"" of type '" "size_t""'");
    } 
    arg4 = static_cast< size_t >(val4);
    result = (bool)(arg1)->ReplaceOption((char const *)arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_ReplaceOption__SWIG_1) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCommandLineParser_ReplaceOption(self,iName,iValue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_ReplaceOption" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_ReplaceOption" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCommandLineParser_ReplaceOption" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->ReplaceOption((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_ReplaceOption) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_ReplaceOption__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_ReplaceOption__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iCommandLineParser_ReplaceOption'");
  XSRETURN(0);
}


XS(_wrap_iCommandLineParser_ReplaceName__SWIG_0) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCommandLineParser_ReplaceName(self,iValue,iIndex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_ReplaceName" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_ReplaceName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCommandLineParser_ReplaceName" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (bool)(arg1)->ReplaceName((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_ReplaceName__SWIG_1) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCommandLineParser_ReplaceName(self,iValue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_ReplaceName" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_ReplaceName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->ReplaceName((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_ReplaceName) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_ReplaceName__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_ReplaceName__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iCommandLineParser_ReplaceName'");
  XSRETURN(0);
}


XS(_wrap_iCommandLineParser_GetBoolOption__SWIG_0) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCommandLineParser_GetBoolOption(self,iName,defaultValue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetBoolOption" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_GetBoolOption" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCommandLineParser_GetBoolOption" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->GetBoolOption((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetBoolOption__SWIG_1) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCommandLineParser_GetBoolOption(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetBoolOption" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCommandLineParser_GetBoolOption" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->GetBoolOption((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetBoolOption) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_GetBoolOption__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCommandLineParser_GetBoolOption__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iCommandLineParser_GetBoolOption'");
  XSRETURN(0);
}


XS(_wrap_iCommandLineParser_GetResourceDir) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCommandLineParser_GetResourceDir(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetResourceDir" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    result = (char *)(arg1)->GetResourceDir();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetAppDir) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCommandLineParser_GetAppDir(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetAppDir" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    result = (char *)(arg1)->GetAppDir();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetAppPath) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCommandLineParser_GetAppPath(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetAppPath" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    result = (char *)(arg1)->GetAppPath();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_GetOptionName) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    size_t arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCommandLineParser_GetOptionName(self,iIndex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCommandLineParser_GetOptionName" "', argument " "1"" of type '" "iCommandLineParser const *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCommandLineParser_GetOptionName" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (char *)((iCommandLineParser const *)arg1)->GetOptionName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iCommandLineParser) {
  {
    iCommandLineParser *arg1 = (iCommandLineParser *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iCommandLineParser(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCommandLineParser, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iCommandLineParser" "', argument " "1"" of type '" "iCommandLineParser *""'"); 
    }
    arg1 = reinterpret_cast< iCommandLineParser * >(argp1);
    delete_iCommandLineParser(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCommandLineParser_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iCommandLineParser_scfGetVersion();");
    }
    result = (int)iCommandLineParser_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_red_set) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor_red_set(self,red);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_red_set" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor_red_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->red = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_red_get) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColor_red_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_red_get" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    result = (float) ((arg1)->red);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_green_set) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor_green_set(self,green);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_green_set" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor_green_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->green = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_green_get) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColor_green_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_green_get" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    result = (float) ((arg1)->green);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_blue_set) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor_blue_set(self,blue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_blue_set" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor_blue_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->blue = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_blue_get) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColor_blue_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_blue_get" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    result = (float) ((arg1)->blue);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor__SWIG_0) {
  {
    csColor *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csColor();");
    }
    result = (csColor *)new csColor();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor__SWIG_1) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    csColor *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csColor(r,g,b);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csColor" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csColor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csColor" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (csColor *)new csColor(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor__SWIG_2) {
  {
    csColor *arg1 = 0 ;
    csColor *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csColor(c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csColor" "', argument " "1"" of type '" "csColor const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csColor" "', argument " "1"" of type '" "csColor const &""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    result = (csColor *)new csColor((csColor const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColor__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColor__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColor__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csColor'");
  XSRETURN(0);
}


XS(_wrap_csColor_Set__SWIG_0) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csColor_Set(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_Set" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csColor_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csColor_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->Set(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_Set__SWIG_1) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor_Set(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_Set" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor_Set" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor_Set" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    (arg1)->Set((csColor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor_Set__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor_Set__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csColor_Set'");
  XSRETURN(0);
}


XS(_wrap_csColor_Clamp) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csColor_Clamp(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_Clamp" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor_Clamp" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csColor_Clamp" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csColor_Clamp" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->Clamp(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_ClampDown) {
  {
    csColor *arg1 = (csColor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColor_ClampDown(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_ClampDown" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    (arg1)->ClampDown();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___copy__) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___copy__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___copy__" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor___copy__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor___copy__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    {
      csColor &_result_ref = (arg1)->operator =((csColor const &)*arg2);
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___mult_ass____SWIG_0) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___mult_ass__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___mult_ass__" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor___mult_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csColor &_result_ref = (arg1)->operator *=(arg2);
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___add_ass__) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___add_ass__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___add_ass__" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor___add_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor___add_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    {
      csColor &_result_ref = (arg1)->operator +=((csColor const &)*arg2);
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___subtr_ass__) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___subtr_ass__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___subtr_ass__" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor___subtr_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor___subtr_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    {
      csColor &_result_ref = (arg1)->operator -=((csColor const &)*arg2);
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___mult_ass____SWIG_1) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___mult_ass__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___mult_ass__" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor___mult_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor___mult_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    {
      csColor &_result_ref = (arg1)->operator *=((csColor const &)*arg2);
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___mult_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor___mult_ass____SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor___mult_ass____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csColor___mult_ass__'");
  XSRETURN(0);
}


XS(_wrap_csColor___mul__) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    csColor result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___mul__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___mul__" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor___mul__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (arg1)->operator *(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor(static_cast< const csColor& >(result))), SWIGTYPE_p_csColor, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___eq__) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___eq__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___eq__" "', argument " "1"" of type '" "csColor const *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor___eq__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor___eq__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    result = (bool)((csColor const *)arg1)->operator ==((csColor const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___ne__) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___ne__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___ne__" "', argument " "1"" of type '" "csColor const *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor___ne__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor___ne__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    result = (bool)((csColor const *)arg1)->operator !=((csColor const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_Add) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csColor_Add(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_Add" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor_Add" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csColor_Add" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csColor_Add" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->Add(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor_Subtract) {
  {
    csColor *arg1 = (csColor *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csColor_Subtract(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor_Subtract" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor_Subtract" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csColor_Subtract" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csColor_Subtract" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->Subtract(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___add__) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    csColor result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___add__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___add__" "', argument " "1"" of type '" "csColor const *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor___add__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor___add__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    result = csColor_operator_Sa_((csColor const *)arg1,(csColor const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor(static_cast< const csColor& >(result))), SWIGTYPE_p_csColor, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor___sub__) {
  {
    csColor *arg1 = (csColor *) 0 ;
    csColor *arg2 = 0 ;
    csColor result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor___sub__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor___sub__" "', argument " "1"" of type '" "csColor const *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor___sub__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor___sub__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    result = csColor_operator_Ss_((csColor const *)arg1,(csColor const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor(static_cast< const csColor& >(result))), SWIGTYPE_p_csColor, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csColor) {
  {
    csColor *arg1 = (csColor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csColor" "', argument " "1"" of type '" "csColor *""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4_alpha_set) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4_alpha_set(self,alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4_alpha_set" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor4_alpha_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->alpha = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4_alpha_get) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColor4_alpha_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4_alpha_get" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    result = (float) ((arg1)->alpha);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor4__SWIG_0) {
  {
    csColor4 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csColor4();");
    }
    result = (csColor4 *)new csColor4();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor4__SWIG_1) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    csColor4 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csColor4(r,g,b,a);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csColor4" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csColor4" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csColor4" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csColor4" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (csColor4 *)new csColor4(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor4__SWIG_2) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    csColor4 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csColor4(r,g,b);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csColor4" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csColor4" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csColor4" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (csColor4 *)new csColor4(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor4__SWIG_3) {
  {
    csColor *arg1 = 0 ;
    csColor4 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csColor4(c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csColor4" "', argument " "1"" of type '" "csColor const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csColor4" "', argument " "1"" of type '" "csColor const &""'"); 
    }
    arg1 = reinterpret_cast< csColor * >(argp1);
    result = (csColor4 *)new csColor4((csColor const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColor4) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColor4__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColor4__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColor4__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColor4__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csColor4'");
  XSRETURN(0);
}


XS(_wrap_csColor4_Set__SWIG_0) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4_Set(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4_Set" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4_Set" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4_Set" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    (arg1)->Set((csColor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4_Set__SWIG_1) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor4 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4_Set(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4_Set" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4_Set" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4_Set" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    (arg1)->Set((csColor4 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4_Set__SWIG_2) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csColor4_Set(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4_Set" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor4_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csColor4_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csColor4_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->Set(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4_Set__SWIG_3) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csColor4_Set(self,r,g,b,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4_Set" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor4_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csColor4_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csColor4_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csColor4_Set" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->Set(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4_Set__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4_Set__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4_Set__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4_Set__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'csColor4_Set'");
  XSRETURN(0);
}


XS(_wrap_csColor4___copy____SWIG_0) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor4 *arg2 = 0 ;
    csColor4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___copy__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___copy__" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4___copy__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4___copy__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    {
      csColor4 &_result_ref = (arg1)->operator =((csColor4 const &)*arg2);
      result = (csColor4 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4___copy____SWIG_1) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor *arg2 = 0 ;
    csColor4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___copy__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___copy__" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4___copy__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4___copy__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    {
      csColor4 &_result_ref = (arg1)->operator =((csColor const &)*arg2);
      result = (csColor4 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4___copy__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4___copy____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4___copy____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csColor4___copy__'");
  XSRETURN(0);
}


XS(_wrap_csColor4___mult_ass__) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    float arg2 ;
    csColor4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___mult_ass__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___mult_ass__" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColor4___mult_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csColor4 &_result_ref = (arg1)->operator *=(arg2);
      result = (csColor4 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4___add_ass____SWIG_0) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor4 *arg2 = 0 ;
    csColor4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___add_ass__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___add_ass__" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4___add_ass__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4___add_ass__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    {
      csColor4 &_result_ref = (arg1)->operator +=((csColor4 const &)*arg2);
      result = (csColor4 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4___add_ass____SWIG_1) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor *arg2 = 0 ;
    csColor4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___add_ass__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___add_ass__" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4___add_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4___add_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    {
      csColor4 &_result_ref = (arg1)->operator +=((csColor const &)*arg2);
      result = (csColor4 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4___add_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4___add_ass____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4___add_ass____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csColor4___add_ass__'");
  XSRETURN(0);
}


XS(_wrap_csColor4___subtr_ass____SWIG_0) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor4 *arg2 = 0 ;
    csColor4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___subtr_ass__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___subtr_ass__" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4___subtr_ass__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4___subtr_ass__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    {
      csColor4 &_result_ref = (arg1)->operator -=((csColor4 const &)*arg2);
      result = (csColor4 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4___subtr_ass____SWIG_1) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor *arg2 = 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___subtr_ass__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___subtr_ass__" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4___subtr_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4___subtr_ass__" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    {
      csColor &_result_ref = (arg1)->operator -=((csColor const &)*arg2);
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4___subtr_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4___subtr_ass____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColor4___subtr_ass____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csColor4___subtr_ass__'");
  XSRETURN(0);
}


XS(_wrap_csColor4___eq__) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor4 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___eq__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___eq__" "', argument " "1"" of type '" "csColor4 const *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4___eq__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4___eq__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    result = (bool)((csColor4 const *)arg1)->operator ==((csColor4 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColor4___ne__) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    csColor4 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColor4___ne__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColor4___ne__" "', argument " "1"" of type '" "csColor4 const *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColor4___ne__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColor4___ne__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    result = (bool)((csColor4 const *)arg1)->operator !=((csColor4 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csColor4) {
  {
    csColor4 *arg1 = (csColor4 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csColor4(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColor4, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csColor4" "', argument " "1"" of type '" "csColor4 *""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_0) {
  {
    csColor4 *arg1 = 0 ;
    float arg2 ;
    csColor4 result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__div__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator /((csColor4 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor4(static_cast< const csColor4& >(result))), SWIGTYPE_p_csColor4, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_0) {
  {
    csColor4 *arg1 = 0 ;
    csColor4 *arg2 = 0 ;
    csColor4 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    result = operator *((csColor4 const &)*arg1,(csColor4 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor4(static_cast< const csColor4& >(result))), SWIGTYPE_p_csColor4, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_1) {
  {
    csColor4 *arg1 = 0 ;
    float arg2 ;
    csColor4 result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(s,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__mult__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator *((csColor4 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor4(static_cast< const csColor4& >(result))), SWIGTYPE_p_csColor4, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_2) {
  {
    float arg1 ;
    csColor4 *arg2 = 0 ;
    csColor4 result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(f,s);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__mult__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    result = operator *(arg1,(csColor4 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor4(static_cast< const csColor4& >(result))), SWIGTYPE_p_csColor4, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_0) {
  {
    csColor4 *arg1 = 0 ;
    csColor4 *arg2 = 0 ;
    csColor4 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(s1,s2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    result = operator +((csColor4 const &)*arg1,(csColor4 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor4(static_cast< const csColor4& >(result))), SWIGTYPE_p_csColor4, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_0) {
  {
    csColor4 *arg1 = 0 ;
    csColor4 *arg2 = 0 ;
    csColor4 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __subtr__(s1,s2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csColor4 const &""'"); 
    }
    arg1 = reinterpret_cast< csColor4 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__subtr__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    result = operator -((csColor4 const &)*arg1,(csColor4 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csColor4(static_cast< const csColor4& >(result))), SWIGTYPE_p_csColor4, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandLineHelper_Help__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iCommandLineParser *arg2 = (iCommandLineParser *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCommandLineHelper_Help(object_reg,cmdline);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandLineHelper_Help" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCommandLineHelper_Help" "', argument " "2"" of type '" "iCommandLineParser *""'"); 
    }
    arg2 = reinterpret_cast< iCommandLineParser * >(argp2);
    csCommandLineHelper::Help(arg1,arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandLineHelper_Help__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCommandLineHelper_Help(object_reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandLineHelper_Help" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    csCommandLineHelper::Help(arg1);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandLineHelper_Help) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCommandLineHelper_Help__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCommandLineHelper_Help__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csCommandLineHelper_Help'");
  XSRETURN(0);
}


XS(_wrap_csCommandLineHelper_CheckHelp__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iCommandLineParser *arg2 = (iCommandLineParser *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCommandLineHelper_CheckHelp(object_reg,cmdline);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandLineHelper_CheckHelp" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCommandLineParser, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCommandLineHelper_CheckHelp" "', argument " "2"" of type '" "iCommandLineParser *""'"); 
    }
    arg2 = reinterpret_cast< iCommandLineParser * >(argp2);
    result = (bool)csCommandLineHelper::CheckHelp(arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandLineHelper_CheckHelp__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCommandLineHelper_CheckHelp(object_reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandLineHelper_CheckHelp" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (bool)csCommandLineHelper::CheckHelp(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandLineHelper_CheckHelp) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCommandLineParser, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCommandLineHelper_CheckHelp__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCommandLineHelper_CheckHelp__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csCommandLineHelper_CheckHelp'");
  XSRETURN(0);
}


XS(_wrap_new_csCommandLineHelper) {
  {
    csCommandLineHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csCommandLineHelper();");
    }
    result = (csCommandLineHelper *)new csCommandLineHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCommandLineHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csCommandLineHelper) {
  {
    csCommandLineHelper *arg1 = (csCommandLineHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csCommandLineHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCommandLineHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csCommandLineHelper" "', argument " "1"" of type '" "csCommandLineHelper *""'"); 
    }
    arg1 = reinterpret_cast< csCommandLineHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringSet__SWIG_0) {
  {
    size_t arg1 ;
    csStringSet *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csStringSet(size);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csStringSet" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csStringSet *)new csStringSet(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStringSet, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringSet__SWIG_1) {
  {
    csStringSet *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csStringSet();");
    }
    result = (csStringSet *)new csStringSet();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStringSet, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringSet__SWIG_2) {
  {
    csStringSet *arg1 = 0 ;
    csStringSet *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csStringSet(s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csStringSet,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csStringSet" "', argument " "1"" of type '" "csStringSet const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csStringSet" "', argument " "1"" of type '" "csStringSet const &""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    result = (csStringSet *)new csStringSet((csStringSet const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStringSet, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringSet) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStringSet__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStringSet__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStringSet__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csStringSet'");
  XSRETURN(0);
}


XS(_wrap_delete_csStringSet) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csStringSet(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csStringSet" "', argument " "1"" of type '" "csStringSet *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet___copy__) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    csStringSet *arg2 = 0 ;
    csStringSet *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringSet___copy__(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet___copy__" "', argument " "1"" of type '" "csStringSet *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csStringSet,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csStringSet___copy__" "', argument " "2"" of type '" "csStringSet const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csStringSet___copy__" "', argument " "2"" of type '" "csStringSet const &""'"); 
    }
    arg2 = reinterpret_cast< csStringSet * >(argp2);
    {
      csStringSet &_result_ref = (arg1)->operator =((csStringSet const &)*arg2);
      result = (csStringSet *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStringSet, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_Request__SWIG_0) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    char *arg2 = (char *) 0 ;
    csStringID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringSet_Request(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_Request" "', argument " "1"" of type '" "csStringSet *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csStringSet_Request" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csStringID)(arg1)->Request((char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_Request__SWIG_1) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    csStringID arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringSet_Request(self,csStringID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_Request" "', argument " "1"" of type '" "csStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csStringSet_Request" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (char *)((csStringSet const *)arg1)->Request(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_Request) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csStringSet_Request__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csStringSet_Request__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csStringSet_Request'");
  XSRETURN(0);
}


XS(_wrap_csStringSet_Contains__SWIG_0) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringSet_Contains(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_Contains" "', argument " "1"" of type '" "csStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csStringSet_Contains" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)((csStringSet const *)arg1)->Contains((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_Contains__SWIG_1) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    csStringID arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringSet_Contains(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_Contains" "', argument " "1"" of type '" "csStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csStringSet_Contains" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (bool)((csStringSet const *)arg1)->Contains(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_Contains) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csStringSet_Contains__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csStringSet_Contains__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csStringSet_Contains'");
  XSRETURN(0);
}


XS(_wrap_csStringSet_Delete__SWIG_0) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringSet_Delete(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_Delete" "', argument " "1"" of type '" "csStringSet *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csStringSet_Delete" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Delete((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_Delete__SWIG_1) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    csStringID arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringSet_Delete(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_Delete" "', argument " "1"" of type '" "csStringSet *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csStringSet_Delete" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (bool)(arg1)->Delete(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_Delete) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csStringSet_Delete__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csStringSet_Delete__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csStringSet_Delete'");
  XSRETURN(0);
}


XS(_wrap_csStringSet_Empty) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStringSet_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_Empty" "', argument " "1"" of type '" "csStringSet *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_Clear) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStringSet_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_Clear" "', argument " "1"" of type '" "csStringSet *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_GetSize) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStringSet_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_GetSize" "', argument " "1"" of type '" "csStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    result = ((csStringSet const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringSet_IsEmpty) {
  {
    csStringSet *arg1 = (csStringSet *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStringSet_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringSet_IsEmpty" "', argument " "1"" of type '" "csStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< csStringSet * >(argp1);
    result = (bool)((csStringSet const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringIDSet__SWIG_0) {
  {
    int arg1 ;
    int arg2 ;
    int arg3 ;
    csSet<csStringID > *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csStringIDSet(size,grow_rate,max_size);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csStringIDSet" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csStringIDSet" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csStringIDSet" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (csSet<csStringID > *)new csSet<csStringID >(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringIDSet__SWIG_1) {
  {
    int arg1 ;
    int arg2 ;
    csSet<csStringID > *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csStringIDSet(size,grow_rate);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csStringIDSet" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csStringIDSet" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csSet<csStringID > *)new csSet<csStringID >(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringIDSet__SWIG_2) {
  {
    int arg1 ;
    csSet<csStringID > *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csStringIDSet(size);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csStringIDSet" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    result = (csSet<csStringID > *)new csSet<csStringID >(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringIDSet__SWIG_3) {
  {
    csSet<csStringID > *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csStringIDSet();");
    }
    result = (csSet<csStringID > *)new csSet<csStringID >();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStringIDSet) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStringIDSet__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStringIDSet__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStringIDSet__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStringIDSet__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csStringIDSet'");
  XSRETURN(0);
}


XS(_wrap_csStringIDSet_Add) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    csStringID *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csStringID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringIDSet_Add(self,object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_Add" "', argument " "1"" of type '" "csSet<csStringID > *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csStringIDSet_Add" "', argument " "2"" of type '" "csStringID""'");
    } 
    temp2 = static_cast< csStringID >(val2);
    arg2 = &temp2;
    (arg1)->Add((csStringID const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringIDSet_AddNoTest) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    csStringID *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csStringID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringIDSet_AddNoTest(self,object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_AddNoTest" "', argument " "1"" of type '" "csSet<csStringID > *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csStringIDSet_AddNoTest" "', argument " "2"" of type '" "csStringID""'");
    } 
    temp2 = static_cast< csStringID >(val2);
    arg2 = &temp2;
    (arg1)->AddNoTest((csStringID const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringIDSet_Contains) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    csStringID *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csStringID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringIDSet_Contains(self,object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_Contains" "', argument " "1"" of type '" "csSet<csStringID > const *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csStringIDSet_Contains" "', argument " "2"" of type '" "csStringID""'");
    } 
    temp2 = static_cast< csStringID >(val2);
    arg2 = &temp2;
    result = (bool)((csSet<csStringID > const *)arg1)->Contains((csStringID const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringIDSet_In) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    csStringID *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csStringID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringIDSet_In(self,object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_In" "', argument " "1"" of type '" "csSet<csStringID > const *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csStringIDSet_In" "', argument " "2"" of type '" "csStringID""'");
    } 
    temp2 = static_cast< csStringID >(val2);
    arg2 = &temp2;
    result = (bool)((csSet<csStringID > const *)arg1)->In((csStringID const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringIDSet_DeleteAll) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStringIDSet_DeleteAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_DeleteAll" "', argument " "1"" of type '" "csSet<csStringID > *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    (arg1)->DeleteAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringIDSet_Empty) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStringIDSet_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_Empty" "', argument " "1"" of type '" "csSet<csStringID > *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringIDSet_Delete) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    csStringID *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csStringID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStringIDSet_Delete(self,object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_Delete" "', argument " "1"" of type '" "csSet<csStringID > *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csStringIDSet_Delete" "', argument " "2"" of type '" "csStringID""'");
    } 
    temp2 = static_cast< csStringID >(val2);
    arg2 = &temp2;
    result = (bool)(arg1)->Delete((csStringID const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringIDSet_GetSize) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStringIDSet_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_GetSize" "', argument " "1"" of type '" "csSet<csStringID > const *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    result = ((csSet<csStringID > const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStringIDSet_IsEmpty) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStringIDSet_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStringIDSet_IsEmpty" "', argument " "1"" of type '" "csSet<csStringID > const *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    result = (bool)((csSet<csStringID > const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csStringIDSet) {
  {
    csSet<csStringID > *arg1 = (csSet<csStringID > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csStringIDSet(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csStringIDSet" "', argument " "1"" of type '" "csSet<csStringID > *""'"); 
    }
    arg1 = reinterpret_cast< csSet<csStringID > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString_GetData) {
  {
    iString *arg1 = (iString *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iString_GetData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString_GetData" "', argument " "1"" of type '" "iString const *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    result = (char *)((iString const *)arg1)->GetData();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString___ne__) {
  {
    iString *arg1 = (iString *) 0 ;
    iString *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iString___ne__(self,Str);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___ne__" "', argument " "1"" of type '" "iString const *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iString,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iString___ne__" "', argument " "2"" of type '" "iString const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iString___ne__" "', argument " "2"" of type '" "iString const &""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    result = (bool)((iString const *)arg1)->operator !=((iString const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iString) {
  {
    iString *arg1 = (iString *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iString(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iString" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    delete_iString(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iString_scfGetVersion();");
    }
    result = (int)iString_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iString___seq__) {
  {
    iString *arg1 = (iString *) 0 ;
    iString *arg2 = (iString *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iString___seq__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___seq__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iString___seq__" "', argument " "2"" of type '" "iString *""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    result = (bool)iString___seq__(arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString___string__) {
  {
    iString *arg1 = (iString *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iString___string__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___string__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    result = (char *)iString___string__(arg1);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString___sv__) {
  {
    iString *arg1 = (iString *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iString___sv__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___sv__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    result = (char *)iString___sv__(arg1);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString___av__) {
  {
    iString *arg1 = (iString *) 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iString___av__(self,__chars__,__len__);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___av__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iString___av__" "', argument " "2"" of type '" "char const *&""'");
    }
    arg2 = &buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iString___av__" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iString___av__" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    iString___av__(arg1,(char const *&)*arg2,*arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString_length) {
  {
    iString *arg1 = (iString *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iString_length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString_length" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    result = (int)iString_length(arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString___add__) {
  {
    iString *arg1 = (iString *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iString___add__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___add__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iString___add__" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = iString___add__(arg1,(char const *)arg2);
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iString___concat____SWIG_0) {
  {
    iString *arg1 = (iString *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iString___concat__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___concat__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iString___concat__" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = iString___concat____SWIG_0(arg1,(char const *)arg2);
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iString___concat_ass____SWIG_0) {
  {
    iString *arg1 = (iString *) 0 ;
    char *arg2 = (char *) 0 ;
    iString *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iString___concat_ass__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___concat_ass__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iString___concat_ass__" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iString *)iString___concat_ass____SWIG_0(arg1,(char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iString, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iString___concat____SWIG_1) {
  {
    iString *arg1 = (iString *) 0 ;
    iString *arg2 = (iString *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iString___concat__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___concat__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iString___concat__" "', argument " "2"" of type '" "iString *""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    result = iString___concat____SWIG_1(arg1,arg2);
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString___concat__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iString___concat____SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iString___concat____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iString___concat__'");
  XSRETURN(0);
}


XS(_wrap_iString___concat_ass____SWIG_1) {
  {
    iString *arg1 = (iString *) 0 ;
    iString *arg2 = (iString *) 0 ;
    iString *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iString___concat_ass__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iString___concat_ass__" "', argument " "1"" of type '" "iString *""'"); 
    }
    arg1 = reinterpret_cast< iString * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iString___concat_ass__" "', argument " "2"" of type '" "iString *""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    result = (iString *)iString___concat_ass____SWIG_1(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iString, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iString___concat_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iString___concat_ass____SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iString___concat_ass____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iString___concat_ass__'");
  XSRETURN(0);
}


XS(_wrap___add____SWIG_1) {
  {
    char *arg1 = (char *) 0 ;
    csStringBase *arg2 = 0 ;
    csStringBase result;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(iStr1,iStr2);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csStringBase,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csStringBase const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csStringBase const &""'"); 
    }
    arg2 = reinterpret_cast< csStringBase * >(argp2);
    result = operator +((char const *)arg1,(csStringBase const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csStringBase(static_cast< const csStringBase& >(result))), SWIGTYPE_p_csStringBase, SWIG_POINTER_OWN | 0); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_2) {
  {
    csStringBase *arg1 = 0 ;
    char *arg2 = (char *) 0 ;
    csStringBase result;
    void *argp1 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(iStr1,iStr2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csStringBase,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csStringBase const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csStringBase const &""'"); 
    }
    arg1 = reinterpret_cast< csStringBase * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = operator +((csStringBase const &)*arg1,(char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csStringBase(static_cast< const csStringBase& >(result))), SWIGTYPE_p_csStringBase, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_new_csString__SWIG_0) {
  {
    csString *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csString();");
    }
    result = (csString *)new csString();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csString, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csString__SWIG_1) {
  {
    csString *arg1 = 0 ;
    csString *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csString(copy);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csString" "', argument " "1"" of type '" "csString const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csString" "', argument " "1"" of type '" "csString const &""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    result = (csString *)new csString((csString const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csString, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csString__SWIG_2) {
  {
    csStringBase *arg1 = 0 ;
    csString *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csString(copy);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csStringBase,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csString" "', argument " "1"" of type '" "csStringBase const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csString" "', argument " "1"" of type '" "csStringBase const &""'"); 
    }
    arg1 = reinterpret_cast< csStringBase * >(argp1);
    result = (csString *)new csString((csStringBase const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csString, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csString__SWIG_3) {
  {
    char *arg1 = (char *) 0 ;
    csString *result = 0 ;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csString(src);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csString" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    result = (csString *)new csString((char const *)arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csString, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    SWIG_croak_null();
  }
}


XS(_wrap_new_csString__SWIG_4) {
  {
    char *arg1 = (char *) 0 ;
    size_t arg2 ;
    csString *result = 0 ;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csString(src,_length);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csString" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csString" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (csString *)new csString((char const *)arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csString, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csString) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csString__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csString__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csString__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csString__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csString__SWIG_4); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csString'");
  XSRETURN(0);
}


XS(_wrap_csString___eq__) {
  {
    csString *arg1 = (csString *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csString___eq__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___eq__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csString___eq__" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)csString___eq__(arg1,(char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csString___seq__) {
  {
    csString *arg1 = (csString *) 0 ;
    csString *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csString___seq__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___seq__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csString___seq__" "', argument " "2"" of type '" "csString &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csString___seq__" "', argument " "2"" of type '" "csString &""'"); 
    }
    arg2 = reinterpret_cast< csString * >(argp2);
    result = (bool)csString___seq__(arg1,*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csString___string__) {
  {
    csString *arg1 = (csString *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csString___string__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___string__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    result = (char *)csString___string__(arg1);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csString___sv__) {
  {
    csString *arg1 = (csString *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csString___sv__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___sv__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    result = (char *)csString___sv__(arg1);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csString___av__) {
  {
    csString *arg1 = (csString *) 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csString___av__(self,__chars__,__len__);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___av__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csString___av__" "', argument " "2"" of type '" "char const *&""'");
    }
    arg2 = &buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csString___av__" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csString___av__" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    csString___av__(arg1,(char const *&)*arg2,*arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_csString_length) {
  {
    csString *arg1 = (csString *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csString_length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString_length" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    result = (int)csString_length(arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csString___add__) {
  {
    csString *arg1 = (csString *) 0 ;
    char *arg2 = (char *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csString___add__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___add__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csString___add__" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = csString___add__(arg1,(char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csString___concat____SWIG_0) {
  {
    csString *arg1 = (csString *) 0 ;
    char *arg2 = (char *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csString___concat__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___concat__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csString___concat__" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = csString___concat____SWIG_0(arg1,(char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csString___concat_ass____SWIG_0) {
  {
    csString *arg1 = (csString *) 0 ;
    char *arg2 = (char *) 0 ;
    csString *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csString___concat_ass__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___concat_ass__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csString___concat_ass__" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csString *)csString___concat_ass____SWIG_0(arg1,(char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csString, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csString___concat____SWIG_1) {
  {
    csString *arg1 = (csString *) 0 ;
    csString *arg2 = 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csString___concat__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___concat__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csString___concat__" "', argument " "2"" of type '" "csString &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csString___concat__" "', argument " "2"" of type '" "csString &""'"); 
    }
    arg2 = reinterpret_cast< csString * >(argp2);
    result = csString___concat____SWIG_1(arg1,*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csString___concat__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csString___concat____SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csString___concat____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csString___concat__'");
  XSRETURN(0);
}


XS(_wrap_csString___concat_ass____SWIG_1) {
  {
    csString *arg1 = (csString *) 0 ;
    csString *arg2 = 0 ;
    csString *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csString___concat_ass__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csString___concat_ass__" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csString___concat_ass__" "', argument " "2"" of type '" "csString &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csString___concat_ass__" "', argument " "2"" of type '" "csString &""'"); 
    }
    arg2 = reinterpret_cast< csString * >(argp2);
    result = (csString *)csString___concat_ass____SWIG_1(arg1,*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csString, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csString___concat_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csString___concat_ass____SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csString___concat_ass____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csString___concat_ass__'");
  XSRETURN(0);
}


XS(_wrap_delete_csString) {
  {
    csString *arg1 = (csString *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csString(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csString, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csString" "', argument " "1"" of type '" "csString *""'"); 
    }
    arg1 = reinterpret_cast< csString * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRefCount) {
  {
    csRefCount *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csRefCount();");
    }
    result = (csRefCount *)new csRefCount();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRefCount, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csRefCount_IncRef) {
  {
    csRefCount *arg1 = (csRefCount *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRefCount_IncRef(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRefCount, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRefCount_IncRef" "', argument " "1"" of type '" "csRefCount *""'"); 
    }
    arg1 = reinterpret_cast< csRefCount * >(argp1);
    (arg1)->IncRef();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRefCount_DecRef) {
  {
    csRefCount *arg1 = (csRefCount *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRefCount_DecRef(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRefCount, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRefCount_DecRef" "', argument " "1"" of type '" "csRefCount *""'"); 
    }
    arg1 = reinterpret_cast< csRefCount * >(argp1);
    (arg1)->DecRef();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRefCount_GetRefCount) {
  {
    csRefCount *arg1 = (csRefCount *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRefCount_GetRefCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRefCount, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRefCount_GetRefCount" "', argument " "1"" of type '" "csRefCount const *""'"); 
    }
    arg1 = reinterpret_cast< csRefCount * >(argp1);
    result = (int)((csRefCount const *)arg1)->GetRefCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_x_set) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2_x_set(self,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_x_set" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2_x_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->x = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_x_get) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector2_x_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_x_get" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = (float) ((arg1)->x);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_y_set) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2_y_set(self,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_y_set" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2_y_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->y = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_y_get) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector2_y_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_y_get" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = (float) ((arg1)->y);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector2__SWIG_0) {
  {
    csVector2 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csVector2();");
    }
    result = (csVector2 *)new csVector2();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector2__SWIG_1) {
  {
    float arg1 ;
    csVector2 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csVector2(v);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csVector2" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    result = (csVector2 *)new csVector2(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector2__SWIG_2) {
  {
    float arg1 ;
    float arg2 ;
    csVector2 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csVector2(x,y);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csVector2" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csVector2" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (csVector2 *)new csVector2(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector2__SWIG_3) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csVector2(o);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csVector2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csVector2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = (csVector2 *)new csVector2((csVector2 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector2) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector2__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector2__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector2__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector2__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csVector2'");
  XSRETURN(0);
}


XS(_wrap_csVector2_Description) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector2_Description(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_Description" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = ((csVector2 const *)arg1)->Description();
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_Set__SWIG_0) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csVector2_Set(self,ix,iy);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_Set" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csVector2_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->Set(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_Set__SWIG_1) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2_Set(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_Set" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2_Set" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2_Set" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->Set((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_Set__SWIG_2) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float *arg2 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2_Set(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_Set" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2_Set" "', argument " "2"" of type '" "float const *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    (arg1)->Set((float const *)arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_Set__SWIG_3) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2_Set(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_Set" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Set(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector2_Set__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector2_Set__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector2_Set__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector2_Set__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector2_Set'");
  XSRETURN(0);
}


XS(_wrap_csVector2_Get) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float *arg2 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2_Get(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_Get" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2_Get" "', argument " "2"" of type '" "float *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    (arg1)->Get(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_Norm) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector2_Norm(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_Norm" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = (float)((csVector2 const *)arg1)->Norm();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_SquaredNorm) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector2_SquaredNorm(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_SquaredNorm" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = (float)((csVector2 const *)arg1)->SquaredNorm();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_Rotate) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2_Rotate(self,angle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_Rotate" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2_Rotate" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Rotate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2_IsLeft) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csVector2_IsLeft(self,p0,p1);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2_IsLeft" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2_IsLeft" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2_IsLeft" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csVector2_IsLeft" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2_IsLeft" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (float)(arg1)->IsLeft((csVector2 const &)*arg2,(csVector2 const &)*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___add_ass__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___add_ass__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___add_ass__" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2___add_ass__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___add_ass__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    {
      csVector2 &_result_ref = (arg1)->operator +=((csVector2 const &)*arg2);
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___subtr_ass__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___subtr_ass__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___subtr_ass__" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2___subtr_ass__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___subtr_ass__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    {
      csVector2 &_result_ref = (arg1)->operator -=((csVector2 const &)*arg2);
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___mult_ass__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___mult_ass__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___mult_ass__" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2___mult_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csVector2 &_result_ref = (arg1)->operator *=(arg2);
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___divide_ass__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___divide_ass__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___divide_ass__" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2___divide_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csVector2 &_result_ref = (arg1)->operator /=(arg2);
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___add____SWIG_0) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector2___add__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___add__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = ((csVector2 const *)arg1)->operator +();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___neg__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector2___neg__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___neg__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = ((csVector2 const *)arg1)->operator -();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_3) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = operator +((csVector2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_1) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __subtr__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__subtr__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = operator -((csVector2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_3) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (float)operator *((csVector2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_4) {
  {
    csVector2 *arg1 = 0 ;
    float arg2 ;
    csVector2 result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__mult__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator *((csVector2 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_5) {
  {
    float arg1 ;
    csVector2 *arg2 = 0 ;
    csVector2 result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(f,v);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__mult__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = operator *(arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_1) {
  {
    csVector2 *arg1 = 0 ;
    float arg2 ;
    csVector2 result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__div__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator /((csVector2 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___eq____SWIG_3) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __eq__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__eq__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__eq__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)operator ==((csVector2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___ne____SWIG_3) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __ne__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__ne__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__ne__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)operator !=((csVector2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___lt____SWIG_1) {
  {
    csVector2 *arg1 = 0 ;
    float arg2 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __lt__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lt__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__lt__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)operator <((csVector2 const &)*arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___gt____SWIG_0) {
  {
    float arg1 ;
    csVector2 *arg2 = 0 ;
    bool result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __gt__(f,v);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__gt__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__gt__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__gt__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)operator >(arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___add____SWIG_1) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___add__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___add__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2___add__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___add__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = csVector2_operator_Sa___SWIG_1((csVector2 const *)arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___add__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector2___add____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector2___add____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector2___add__'");
  XSRETURN(0);
}


XS(_wrap_csVector2___sub__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___sub__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___sub__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2___sub__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___sub__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = csVector2_operator_Ss_((csVector2 const *)arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___mul____SWIG_0) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___mul__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___mul__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2___mul__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___mul__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (float)csVector2_operator_Sm___SWIG_0((csVector2 const *)arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___mul____SWIG_1) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___mul__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___mul__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2___mul__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = csVector2_operator_Sm___SWIG_1((csVector2 const *)arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___mul__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector2___mul____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector2___mul____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector2___mul__'");
  XSRETURN(0);
}


XS(_wrap_csVector2___div__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___div__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___div__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2___div__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = csVector2_operator_Sd_((csVector2 const *)arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___eq__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___eq__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___eq__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2___eq__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___eq__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)csVector2_operator_Se__Se_((csVector2 const *)arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___ne__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___ne__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___ne__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2___ne__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___ne__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)csVector2_operator_SN__Se_((csVector2 const *)arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___lt__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___lt__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___lt__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2___lt__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)csVector2_operator_Sl_((csVector2 const *)arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___gt__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector2___gt__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___gt__" "', argument " "1"" of type '" "csVector2 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector2___gt__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)csVector2_operator_Sg_((csVector2 const *)arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___abs__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector2___abs__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___abs__" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = (float)csVector2___abs__(arg1);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector2___av__) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csVector2___av__(self,__v1__,__v2__);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector2___av__" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector2___av__" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___av__" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csVector2___av__" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector2___av__" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    csVector2___av__(arg1,*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csVector2) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csVector2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csVector2" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_x_set) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_x_set(self,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_x_set" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3_x_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->x = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_x_get) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_x_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_x_get" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (float) ((arg1)->x);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_y_set) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_y_set(self,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_y_set" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3_y_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->y = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_y_get) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_y_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_y_get" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (float) ((arg1)->y);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_z_set) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_z_set(self,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_z_set" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3_z_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->z = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_z_get) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_z_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_z_get" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (float) ((arg1)->z);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3__SWIG_0) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csVector3();");
    }
    result = (csVector3 *)new csVector3();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3__SWIG_1) {
  {
    float arg1 ;
    csVector3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csVector3(m);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csVector3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    result = (csVector3 *)new csVector3(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3__SWIG_2) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    csVector3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csVector3(ix,iy,iz);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csVector3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csVector3" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csVector3" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (csVector3 *)new csVector3(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3__SWIG_3) {
  {
    float arg1 ;
    float arg2 ;
    csVector3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csVector3(ix,iy);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csVector3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csVector3" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (csVector3 *)new csVector3(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3__SWIG_4) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csVector3(v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csVector3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csVector3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (csVector3 *)new csVector3((csVector3 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3__SWIG_5) {
  {
    csDVector3 *arg1 = 0 ;
    csVector3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csVector3(csDVector3 const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csDVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csVector3" "', argument " "1"" of type '" "csDVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csVector3" "', argument " "1"" of type '" "csDVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csDVector3 * >(argp1);
    result = (csVector3 *)new csVector3((csDVector3 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csDVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector3__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector3__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector3__SWIG_5); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector3__SWIG_1); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector3__SWIG_3); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector3__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csVector3'");
  XSRETURN(0);
}


XS(_wrap_csVector3_Description) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_Description(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Description" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = ((csVector3 const *)arg1)->Description();
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_4) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator +((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_5) {
  {
    csDVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csDVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csDVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csDVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csDVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csDVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator +((csDVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csDVector3(static_cast< const csDVector3& >(result))), SWIGTYPE_p_csDVector3, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_6) {
  {
    csVector3 *arg1 = 0 ;
    csDVector3 *arg2 = 0 ;
    csDVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csDVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csDVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csDVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csDVector3 * >(argp2);
    result = operator +((csVector3 const &)*arg1,(csDVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csDVector3(static_cast< const csDVector3& >(result))), SWIGTYPE_p_csDVector3, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_2) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __subtr__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__subtr__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator -((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_3) {
  {
    csVector3 *arg1 = 0 ;
    csDVector3 *arg2 = 0 ;
    csDVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __subtr__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csDVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__subtr__" "', argument " "2"" of type '" "csDVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "2"" of type '" "csDVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csDVector3 * >(argp2);
    result = operator -((csVector3 const &)*arg1,(csDVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csDVector3(static_cast< const csDVector3& >(result))), SWIGTYPE_p_csDVector3, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_4) {
  {
    csDVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csDVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __subtr__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csDVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csDVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csDVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csDVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__subtr__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator -((csDVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csDVector3(static_cast< const csDVector3& >(result))), SWIGTYPE_p_csDVector3, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_6) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (float)operator *((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___modulo__) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __modulo__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__modulo__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__modulo__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__modulo__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__modulo__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator %((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Cross) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csVector3_Cross(self,px,py);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Cross" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3_Cross" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3_Cross" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csVector3_Cross" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3_Cross" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->Cross((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_7) {
  {
    csVector3 *arg1 = 0 ;
    double arg2 ;
    csDVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    double val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__mult__" "', argument " "2"" of type '" "double""'");
    } 
    arg2 = static_cast< double >(val2);
    result = operator *((csVector3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csDVector3(static_cast< const csDVector3& >(result))), SWIGTYPE_p_csDVector3, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_8) {
  {
    double arg1 ;
    csVector3 *arg2 = 0 ;
    csDVector3 result;
    double val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(f,v);");
    }
    ecode1 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__mult__" "', argument " "1"" of type '" "double""'");
    } 
    arg1 = static_cast< double >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator *(arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csDVector3(static_cast< const csDVector3& >(result))), SWIGTYPE_p_csDVector3, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_9) {
  {
    csVector3 *arg1 = 0 ;
    int arg2 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__mult__" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = operator *((csVector3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_10) {
  {
    int arg1 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    int val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(f,v);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__mult__" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator *(arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_2) {
  {
    csVector3 *arg1 = 0 ;
    double arg2 ;
    csDVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    double val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__div__" "', argument " "2"" of type '" "double""'");
    } 
    arg2 = static_cast< double >(val2);
    result = operator /((csVector3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csDVector3(static_cast< const csDVector3& >(result))), SWIGTYPE_p_csDVector3, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_3) {
  {
    csVector3 *arg1 = 0 ;
    int arg2 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__div__" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = operator /((csVector3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___eq____SWIG_4) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __eq__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__eq__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__eq__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)operator ==((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___ne____SWIG_4) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __ne__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__ne__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__ne__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)operator !=((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___rshift__) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __rshift__(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__rshift__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__rshift__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__rshift__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__rshift__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator >>((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___lt____SWIG_2) {
  {
    csVector3 *arg1 = 0 ;
    float arg2 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __lt__(v,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lt__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__lt__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)operator <((csVector3 const &)*arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___gt____SWIG_1) {
  {
    float arg1 ;
    csVector3 *arg2 = 0 ;
    bool result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __gt__(f,v);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__gt__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__gt__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__gt__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)operator >(arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___add_ass__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___add_ass__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___add_ass__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___add_ass__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___add_ass__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    {
      csVector3 &_result_ref = (arg1)->operator +=((csVector3 const &)*arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___subtr_ass__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___subtr_ass__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___subtr_ass__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___subtr_ass__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___subtr_ass__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    {
      csVector3 &_result_ref = (arg1)->operator -=((csVector3 const &)*arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___mult_ass____SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___mult_ass__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___mult_ass__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3___mult_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csVector3 &_result_ref = (arg1)->operator *=(arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___divide_ass____SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___divide_ass__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___divide_ass__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3___divide_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csVector3 &_result_ref = (arg1)->operator /=(arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___add____SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3___add__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___add__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = ((csVector3 const *)arg1)->operator +();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___neg__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3___neg__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___neg__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = ((csVector3 const *)arg1)->operator -();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Set__SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csVector3_Set(self,sx,sy,sz);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Set" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csVector3_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csVector3_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->Set(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Set__SWIG_1) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_Set(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Set" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->Set((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Set__SWIG_2) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float *arg2 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_Set(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Set" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3_Set" "', argument " "2"" of type '" "float const *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    (arg1)->Set((float const *)arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Set__SWIG_3) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_Set(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Set" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Set(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3_Set__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3_Set__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3_Set__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3_Set__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3_Set'");
  XSRETURN(0);
}


XS(_wrap_csVector3_Get) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float *arg2 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_Get(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Get" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3_Get" "', argument " "2"" of type '" "float *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    (arg1)->Get(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Norm) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_Norm(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Norm" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (float)((csVector3 const *)arg1)->Norm();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_SquaredNorm) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_SquaredNorm(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_SquaredNorm" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (float)((csVector3 const *)arg1)->SquaredNorm();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Unit) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_Unit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Unit" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = ((csVector3 const *)arg1)->Unit();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_Normalize) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_Normalize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_Normalize" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    (arg1)->Normalize();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_IsZero__SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_IsZero(self,precision);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_IsZero" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3_IsZero" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)((csVector3 const *)arg1)->IsZero(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_IsZero__SWIG_1) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_IsZero(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_IsZero" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (bool)((csVector3 const *)arg1)->IsZero();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_IsZero) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3_IsZero__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3_IsZero__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3_IsZero'");
  XSRETURN(0);
}


XS(_wrap_csVector3_UnitAxisClamped) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_UnitAxisClamped(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_UnitAxisClamped" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = ((csVector3 const *)arg1)->UnitAxisClamped();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3_DominantAxis) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3_DominantAxis(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_DominantAxis" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = ((csVector3 const *)arg1)->DominantAxis();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___add____SWIG_1) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___add__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___add__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = csVector3_operator_Sa___SWIG_1((csVector3 const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___add__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___add____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___add____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3___add__'");
  XSRETURN(0);
}


XS(_wrap_csVector3___sub__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___sub__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___sub__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___sub__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___sub__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = csVector3_operator_Ss_((csVector3 const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___mul____SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___mul__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___mul__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___mul__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___mul__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (float)csVector3_operator_Sm___SWIG_0((csVector3 const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___mul____SWIG_1) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___mul__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___mul__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3___mul__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = csVector3_operator_Sm___SWIG_1((csVector3 const *)arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___mul__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___mul____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___mul____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3___mul__'");
  XSRETURN(0);
}


XS(_wrap_csVector3___div____SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___div__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___div__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3___div__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = csVector3_operator_Sd___SWIG_0((csVector3 const *)arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___eq__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___eq__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___eq__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___eq__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___eq__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)csVector3_operator_Se__Se_((csVector3 const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___ne__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___ne__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___ne__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___ne__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___ne__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)csVector3_operator_SN__Se_((csVector3 const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___lt__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___lt__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___lt__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3___lt__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)csVector3_operator_Sl_((csVector3 const *)arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___gt__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___gt__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___gt__" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3___gt__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)csVector3_operator_Sg_((csVector3 const *)arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___mult_ass____SWIG_1) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csTransform *arg2 = 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___mult_ass__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___mult_ass__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    {
      csVector3 &_result_ref = csVector3_operator_Sm__Se___SWIG_1(arg1,(csTransform const &)*arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___mult_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___mult_ass____SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___mult_ass____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3___mult_ass__'");
  XSRETURN(0);
}


XS(_wrap_csVector3___divide_ass____SWIG_1) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___divide_ass__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___divide_ass__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    {
      csVector3 &_result_ref = csVector3_operator_Sd__Se___SWIG_1(arg1,(csReversibleTransform const &)*arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___divide_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___divide_ass____SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___divide_ass____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3___divide_ass__'");
  XSRETURN(0);
}


XS(_wrap_csVector3___div____SWIG_1) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3___div__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___div__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = csVector3_operator_Sd___SWIG_1(arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___div__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___div____SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3___div____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3___div__'");
  XSRETURN(0);
}


XS(_wrap_csVector3_project) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3_project(self,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3_project" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3_project" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3_project" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = csVector3_project((csVector3 const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___abs__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3___abs__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___abs__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (float)csVector3___abs__(arg1);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___av__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    float *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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csVector3___av__(self,__v1__,__v2__,__v3__);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___av__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3___av__" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___av__" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csVector3___av__" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___av__" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csVector3___av__" "', argument " "4"" of type '" "float &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3___av__" "', argument " "4"" of type '" "float &""'"); 
    }
    arg4 = reinterpret_cast< float * >(argp4);
    csVector3___av__(arg1,*arg2,*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3___bool__) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3___bool__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3___bool__" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (bool)csVector3___bool__(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csVector3) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csVector3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csVector3" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_m11_set) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2_m11_set(self,m11);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_m11_set" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix2_m11_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m11 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_m11_get) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_m11_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_m11_get" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = (float) ((arg1)->m11);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_m12_set) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2_m12_set(self,m12);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_m12_set" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix2_m12_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m12 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_m12_get) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_m12_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_m12_get" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = (float) ((arg1)->m12);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_m21_set) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2_m21_set(self,m21);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_m21_set" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix2_m21_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m21 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_m21_get) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_m21_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_m21_get" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = (float) ((arg1)->m21);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_m22_set) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2_m22_set(self,m22);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_m22_set" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix2_m22_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m22 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_m22_get) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_m22_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_m22_get" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = (float) ((arg1)->m22);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix2__SWIG_0) {
  {
    csMatrix2 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csMatrix2();");
    }
    result = (csMatrix2 *)new csMatrix2();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix2__SWIG_1) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    csMatrix2 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csMatrix2(m11,m12,m21,m22);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csMatrix2" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csMatrix2" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csMatrix2" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csMatrix2" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (csMatrix2 *)new csMatrix2(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix2) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csMatrix2__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csMatrix2__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csMatrix2'");
  XSRETURN(0);
}


XS(_wrap_csMatrix2_Row1) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_Row1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Row1" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = ((csMatrix2 const *)arg1)->Row1();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_Row2) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_Row2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Row2" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = ((csMatrix2 const *)arg1)->Row2();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_Col1) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_Col1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Col1" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = ((csMatrix2 const *)arg1)->Col1();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_Col2) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_Col2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Col2" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = ((csMatrix2 const *)arg1)->Col2();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_Set) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csMatrix2_Set(self,m11,m12,m21,m22);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Set" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix2_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csMatrix2_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csMatrix2_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csMatrix2_Set" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->Set(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2___add_ass__) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csMatrix2 *arg2 = 0 ;
    csMatrix2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2___add_ass__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2___add_ass__" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix2___add_ass__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix2___add_ass__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix2 * >(argp2);
    {
      csMatrix2 &_result_ref = (arg1)->operator +=((csMatrix2 const &)*arg2);
      result = (csMatrix2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2___subtr_ass__) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csMatrix2 *arg2 = 0 ;
    csMatrix2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2___subtr_ass__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2___subtr_ass__" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix2___subtr_ass__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix2___subtr_ass__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix2 * >(argp2);
    {
      csMatrix2 &_result_ref = (arg1)->operator -=((csMatrix2 const &)*arg2);
      result = (csMatrix2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2___mult_ass____SWIG_0) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csMatrix2 *arg2 = 0 ;
    csMatrix2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2___mult_ass__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2___mult_ass__" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix2___mult_ass__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix2___mult_ass__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix2 * >(argp2);
    {
      csMatrix2 &_result_ref = (arg1)->operator *=((csMatrix2 const &)*arg2);
      result = (csMatrix2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2___mult_ass____SWIG_1) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float arg2 ;
    csMatrix2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2___mult_ass__(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2___mult_ass__" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix2___mult_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csMatrix2 &_result_ref = (arg1)->operator *=(arg2);
      result = (csMatrix2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2___mult_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix2___mult_ass____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix2___mult_ass____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csMatrix2___mult_ass__'");
  XSRETURN(0);
}


XS(_wrap_csMatrix2___divide_ass__) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float arg2 ;
    csMatrix2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix2___divide_ass__(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2___divide_ass__" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix2___divide_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csMatrix2 &_result_ref = (arg1)->operator /=(arg2);
      result = (csMatrix2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2___add__) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csMatrix2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2___add__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2___add__" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = ((csMatrix2 const *)arg1)->operator +();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2___neg__) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csMatrix2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2___neg__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2___neg__" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = ((csMatrix2 const *)arg1)->operator -();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_Transpose) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_Transpose(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Transpose" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    (arg1)->Transpose();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_GetTranspose) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csMatrix2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_GetTranspose(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_GetTranspose" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = ((csMatrix2 const *)arg1)->GetTranspose();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_GetInverse) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    csMatrix2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_GetInverse(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_GetInverse" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = ((csMatrix2 const *)arg1)->GetInverse();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_Invert) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_Invert(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Invert" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    (arg1)->Invert();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_Determinant) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_Determinant(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Determinant" "', argument " "1"" of type '" "csMatrix2 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    result = (float)((csMatrix2 const *)arg1)->Determinant();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix2_Identity) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix2_Identity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix2_Identity" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    (arg1)->Identity();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_7) {
  {
    csMatrix2 *arg1 = 0 ;
    csMatrix2 *arg2 = 0 ;
    csMatrix2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(m1,m2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix2 * >(argp2);
    result = operator +((csMatrix2 const &)*arg1,(csMatrix2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_5) {
  {
    csMatrix2 *arg1 = 0 ;
    csMatrix2 *arg2 = 0 ;
    csMatrix2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __subtr__(m1,m2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__subtr__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix2 * >(argp2);
    result = operator -((csMatrix2 const &)*arg1,(csMatrix2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_11) {
  {
    csMatrix2 *arg1 = 0 ;
    csMatrix2 *arg2 = 0 ;
    csMatrix2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(m1,m2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix2 * >(argp2);
    result = operator *((csMatrix2 const &)*arg1,(csMatrix2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_12) {
  {
    csMatrix2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(m,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = operator *((csMatrix2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_13) {
  {
    csMatrix2 *arg1 = 0 ;
    float arg2 ;
    csMatrix2 result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(m,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__mult__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator *((csMatrix2 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_14) {
  {
    float arg1 ;
    csMatrix2 *arg2 = 0 ;
    csMatrix2 result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(f,m);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__mult__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix2 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix2 * >(argp2);
    result = operator *(arg1,(csMatrix2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_4) {
  {
    csMatrix2 *arg1 = 0 ;
    float arg2 ;
    csMatrix2 result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(m,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csMatrix2 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__div__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator /((csMatrix2 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix2(static_cast< const csMatrix2& >(result))), SWIGTYPE_p_csMatrix2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csMatrix2) {
  {
    csMatrix2 *arg1 = (csMatrix2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csMatrix2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix2, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csMatrix2" "', argument " "1"" of type '" "csMatrix2 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix2 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m11_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m11_set(self,m11);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m11_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m11_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m11 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m11_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m11_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m11_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m11);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m12_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m12_set(self,m12);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m12_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m12_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m12 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m12_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m12_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m12_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m12);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m13_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m13_set(self,m13);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m13_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m13_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m13 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m13_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m13_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m13_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m13);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m21_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m21_set(self,m21);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m21_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m21_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m21 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m21_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m21_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m21_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m21);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m22_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m22_set(self,m22);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m22_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m22_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m22 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m22_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m22_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m22_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m22);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m23_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m23_set(self,m23);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m23_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m23_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m23 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m23_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m23_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m23_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m23);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m31_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m31_set(self,m31);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m31_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m31_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m31 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m31_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m31_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m31_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m31);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m32_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m32_set(self,m32);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m32_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m32_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m32 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m32_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m32_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m32_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m32);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m33_set) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_m33_set(self,m33);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m33_set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_m33_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->m33 = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_m33_get) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_m33_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_m33_get" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float) ((arg1)->m33);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix3__SWIG_0) {
  {
    csMatrix3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csMatrix3();");
    }
    result = (csMatrix3 *)new csMatrix3();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix3__SWIG_1) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    float arg8 ;
    float arg9 ;
    csMatrix3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    float val8 ;
    int ecode8 = 0 ;
    float val9 ;
    int ecode9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 9) || (items > 9)) {
      SWIG_croak("Usage: new_csMatrix3(am11,am12,am13,am21,am22,am23,am31,am32,am33);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csMatrix3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csMatrix3" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csMatrix3" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csMatrix3" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_csMatrix3" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_csMatrix3" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "new_csMatrix3" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    ecode8 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "new_csMatrix3" "', argument " "8"" of type '" "float""'");
    } 
    arg8 = static_cast< float >(val8);
    ecode9 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "new_csMatrix3" "', argument " "9"" of type '" "float""'");
    } 
    arg9 = static_cast< float >(val9);
    result = (csMatrix3 *)new csMatrix3(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix3__SWIG_2) {
  {
    csMatrix3 *arg1 = 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csMatrix3(o);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csMatrix3" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csMatrix3" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (csMatrix3 *)new csMatrix3((csMatrix3 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix3__SWIG_3) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    csMatrix3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csMatrix3(x,y,z,angle);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csMatrix3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csMatrix3" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csMatrix3" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csMatrix3" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (csMatrix3 *)new csMatrix3(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix3__SWIG_4) {
  {
    csQuaternion *arg1 = 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csMatrix3(quat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csMatrix3" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csMatrix3" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = (csMatrix3 *)new csMatrix3((csQuaternion const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMatrix3) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 9) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csMatrix3__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csMatrix3__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csMatrix3__SWIG_4); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csMatrix3__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csMatrix3__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csMatrix3'");
  XSRETURN(0);
}


XS(_wrap_csMatrix3_Row1) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Row1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Row1" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->Row1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Row2) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Row2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Row2" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->Row2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Row3) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Row3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Row3" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->Row3();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Col1) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Col1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Col1" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->Col1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Col2) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Col2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Col2" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->Col2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Col3) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Col3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Col3" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->Col3();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Set__SWIG_0) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    float arg8 ;
    float arg9 ;
    float arg10 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    float val8 ;
    int ecode8 = 0 ;
    float val9 ;
    int ecode9 = 0 ;
    float val10 ;
    int ecode10 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 10) || (items > 10)) {
      SWIG_croak("Usage: csMatrix3_Set(self,o11,o12,o13,o21,o22,o23,o31,o32,o33);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csMatrix3_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csMatrix3_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csMatrix3_Set" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csMatrix3_Set" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "csMatrix3_Set" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    ecode8 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "csMatrix3_Set" "', argument " "8"" of type '" "float""'");
    } 
    arg8 = static_cast< float >(val8);
    ecode9 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "csMatrix3_Set" "', argument " "9"" of type '" "float""'");
    } 
    arg9 = static_cast< float >(val9);
    ecode10 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(9), &val10);
    if (!SWIG_IsOK(ecode10)) {
      SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "csMatrix3_Set" "', argument " "10"" of type '" "float""'");
    } 
    arg10 = static_cast< float >(val10);
    (arg1)->Set(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10);
    
    
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Set__SWIG_1) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_Set(self,o);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3_Set" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3_Set" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->Set((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Set__SWIG_2) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csQuaternion *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3_Set(self,csQuaternion const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Set" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3_Set" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3_Set" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    (arg1)->Set((csQuaternion const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 10) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(9), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3_Set__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3_Set__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3_Set__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csMatrix3_Set'");
  XSRETURN(0);
}


XS(_wrap_csMatrix3___copy__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___copy__(self,o);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___copy__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___copy__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___copy__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    {
      csMatrix3 &_result_ref = (arg1)->operator =((csMatrix3 const &)*arg2);
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___add_ass__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___add_ass__(self,csMatrix3 const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___add_ass__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___add_ass__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___add_ass__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    {
      csMatrix3 &_result_ref = (arg1)->operator +=((csMatrix3 const &)*arg2);
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___subtr_ass__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___subtr_ass__(self,csMatrix3 const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___subtr_ass__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___subtr_ass__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___subtr_ass__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    {
      csMatrix3 &_result_ref = (arg1)->operator -=((csMatrix3 const &)*arg2);
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___mult_ass____SWIG_0) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___mult_ass__(self,csMatrix3 const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___mult_ass__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___mult_ass__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___mult_ass__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    {
      csMatrix3 &_result_ref = (arg1)->operator *=((csMatrix3 const &)*arg2);
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___mult_ass____SWIG_1) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___mult_ass__(self,float);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___mult_ass__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3___mult_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csMatrix3 &_result_ref = (arg1)->operator *=(arg2);
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___divide_ass__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___divide_ass__(self,float);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___divide_ass__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3___divide_ass__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    {
      csMatrix3 &_result_ref = (arg1)->operator /=(arg2);
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___add____SWIG_0) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3___add__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___add__" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->operator +();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___neg__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3___neg__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___neg__" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->operator -();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Transpose) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Transpose(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Transpose" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    (arg1)->Transpose();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_GetTranspose) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_GetTranspose(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_GetTranspose" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->GetTranspose();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_GetInverse) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_GetInverse(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_GetInverse" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = ((csMatrix3 const *)arg1)->GetInverse();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Invert) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Invert(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Invert" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    (arg1)->Invert();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Determinant) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Determinant(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Determinant" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (float)((csMatrix3 const *)arg1)->Determinant();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_Identity) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_Identity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_Identity" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    (arg1)->Identity();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3_IsIdentity) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMatrix3_IsIdentity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3_IsIdentity" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    result = (bool)((csMatrix3 const *)arg1)->IsIdentity();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_8) {
  {
    csMatrix3 *arg1 = 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(m1,m2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = operator +((csMatrix3 const &)*arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_6) {
  {
    csMatrix3 *arg1 = 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __subtr__(m1,m2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__subtr__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = operator -((csMatrix3 const &)*arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_15) {
  {
    csMatrix3 *arg1 = 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(m1,m2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = operator *((csMatrix3 const &)*arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_16) {
  {
    csMatrix3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(m,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator *((csMatrix3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_17) {
  {
    csMatrix3 *arg1 = 0 ;
    float arg2 ;
    csMatrix3 result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(m,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__mult__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator *((csMatrix3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_18) {
  {
    float arg1 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(f,m);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__mult__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = operator *(arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_5) {
  {
    csMatrix3 *arg1 = 0 ;
    float arg2 ;
    csMatrix3 result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(m,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__div__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator /((csMatrix3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___eq____SWIG_5) {
  {
    csMatrix3 *arg1 = 0 ;
    csMatrix3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __eq__(m1,m2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__eq__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__eq__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = (bool)operator ==((csMatrix3 const &)*arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___ne____SWIG_5) {
  {
    csMatrix3 *arg1 = 0 ;
    csMatrix3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __ne__(m1,m2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__ne__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__ne__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = (bool)operator !=((csMatrix3 const &)*arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___lt____SWIG_3) {
  {
    csMatrix3 *arg1 = 0 ;
    float arg2 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __lt__(m,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lt__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__lt__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)operator <((csMatrix3 const &)*arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___gt____SWIG_2) {
  {
    float arg1 ;
    csMatrix3 *arg2 = 0 ;
    bool result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __gt__(f,m);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__gt__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__gt__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__gt__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = (bool)operator >(arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___add____SWIG_1) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___add__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___add__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___add__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___add__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = csMatrix3_operator_Sa___SWIG_1(arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___add__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___add____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___add____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csMatrix3___add__'");
  XSRETURN(0);
}


XS(_wrap_csMatrix3___sub__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___sub__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___sub__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___sub__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___sub__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = csMatrix3_operator_Ss_(arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___mul____SWIG_0) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___mul__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___mul__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___mul__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___mul__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = csMatrix3_operator_Sm___SWIG_0(arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___mul____SWIG_1) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___mul__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___mul__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___mul__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___mul__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = csMatrix3_operator_Sm___SWIG_1(arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___mul____SWIG_2) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___mul__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___mul__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3___mul__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = csMatrix3_operator_Sm___SWIG_2(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___div__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___div__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___div__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3___div__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = csMatrix3_operator_Sd_(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___eq__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___eq__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___eq__" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___eq__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___eq__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = (bool)csMatrix3_operator_Se__Se_((csMatrix3 const *)arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___ne__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csMatrix3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___ne__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___ne__" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___ne__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___ne__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = (bool)csMatrix3_operator_SN__Se_((csMatrix3 const *)arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___lt__) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___lt__(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___lt__" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMatrix3___lt__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)csMatrix3_operator_Sl_((csMatrix3 const *)arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___mul____SWIG_3) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csTransform *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___mul__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___mul__" "', argument " "1"" of type '" "csMatrix3 const *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___mul__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___mul__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    result = csMatrix3_operator_Sm___SWIG_3((csMatrix3 const *)arg1,(csTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___mul__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___mul____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___mul____SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___mul____SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___mul____SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csMatrix3___mul__'");
  XSRETURN(0);
}


XS(_wrap_csMatrix3___mult_ass____SWIG_2) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    csTransform *arg2 = 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMatrix3___mult_ass__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMatrix3___mult_ass__" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMatrix3___mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMatrix3___mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    {
      csMatrix3 &_result_ref = csMatrix3_operator_Sm__Se___SWIG_2(arg1,(csTransform const &)*arg2);
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMatrix3___mult_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___mult_ass____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___mult_ass____SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMatrix3___mult_ass____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csMatrix3___mult_ass__'");
  XSRETURN(0);
}


XS(_wrap_delete_csMatrix3) {
  {
    csMatrix3 *arg1 = (csMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csMatrix3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMatrix3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csMatrix3" "', argument " "1"" of type '" "csMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csXRotMatrix3) {
  {
    float arg1 ;
    csXRotMatrix3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csXRotMatrix3(angle);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csXRotMatrix3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    result = (csXRotMatrix3 *)new csXRotMatrix3(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csXRotMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csXRotMatrix3) {
  {
    csXRotMatrix3 *arg1 = (csXRotMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csXRotMatrix3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csXRotMatrix3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csXRotMatrix3" "', argument " "1"" of type '" "csXRotMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csXRotMatrix3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csYRotMatrix3) {
  {
    float arg1 ;
    csYRotMatrix3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csYRotMatrix3(angle);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csYRotMatrix3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    result = (csYRotMatrix3 *)new csYRotMatrix3(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csYRotMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csYRotMatrix3) {
  {
    csYRotMatrix3 *arg1 = (csYRotMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csYRotMatrix3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csYRotMatrix3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csYRotMatrix3" "', argument " "1"" of type '" "csYRotMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csYRotMatrix3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csZRotMatrix3) {
  {
    float arg1 ;
    csZRotMatrix3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csZRotMatrix3(angle);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csZRotMatrix3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    result = (csZRotMatrix3 *)new csZRotMatrix3(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csZRotMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csZRotMatrix3) {
  {
    csZRotMatrix3 *arg1 = (csZRotMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csZRotMatrix3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csZRotMatrix3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csZRotMatrix3" "', argument " "1"" of type '" "csZRotMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csZRotMatrix3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csXScaleMatrix3) {
  {
    float arg1 ;
    csXScaleMatrix3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csXScaleMatrix3(scaler);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csXScaleMatrix3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    result = (csXScaleMatrix3 *)new csXScaleMatrix3(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csXScaleMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csXScaleMatrix3) {
  {
    csXScaleMatrix3 *arg1 = (csXScaleMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csXScaleMatrix3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csXScaleMatrix3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csXScaleMatrix3" "', argument " "1"" of type '" "csXScaleMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csXScaleMatrix3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csYScaleMatrix3) {
  {
    float arg1 ;
    csYScaleMatrix3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csYScaleMatrix3(scaler);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csYScaleMatrix3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    result = (csYScaleMatrix3 *)new csYScaleMatrix3(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csYScaleMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csYScaleMatrix3) {
  {
    csYScaleMatrix3 *arg1 = (csYScaleMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csYScaleMatrix3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csYScaleMatrix3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csYScaleMatrix3" "', argument " "1"" of type '" "csYScaleMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csYScaleMatrix3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csZScaleMatrix3) {
  {
    float arg1 ;
    csZScaleMatrix3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csZScaleMatrix3(scaler);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csZScaleMatrix3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    result = (csZScaleMatrix3 *)new csZScaleMatrix3(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csZScaleMatrix3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csZScaleMatrix3) {
  {
    csZScaleMatrix3 *arg1 = (csZScaleMatrix3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csZScaleMatrix3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csZScaleMatrix3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csZScaleMatrix3" "', argument " "1"" of type '" "csZScaleMatrix3 *""'"); 
    }
    arg1 = reinterpret_cast< csZScaleMatrix3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csTransform) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csTransform" "', argument " "1"" of type '" "csTransform *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTransform__SWIG_0) {
  {
    csTransform *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csTransform();");
    }
    result = (csTransform *)new csTransform();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTransform__SWIG_1) {
  {
    csMatrix3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csTransform *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csTransform(other2this,origin_pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csTransform" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csTransform" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csTransform" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csTransform" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (csTransform *)new csTransform((csMatrix3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTransform) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csTransform__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csTransform__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csTransform'");
  XSRETURN(0);
}


XS(_wrap_csTransform_Identity) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_Identity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_Identity" "', argument " "1"" of type '" "csTransform *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    (arg1)->Identity();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_IsIdentity) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_IsIdentity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_IsIdentity" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    result = (bool)((csTransform const *)arg1)->IsIdentity();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_GetO2T) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_GetO2T(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_GetO2T" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    {
      csMatrix3 const &_result_ref = ((csTransform const *)arg1)->GetO2T();
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_GetO2TTranslation) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_GetO2TTranslation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_GetO2TTranslation" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    {
      csVector3 const &_result_ref = ((csTransform const *)arg1)->GetO2TTranslation();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_GetOrigin) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_GetOrigin(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_GetOrigin" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    {
      csVector3 const &_result_ref = ((csTransform const *)arg1)->GetOrigin();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_SetO2T) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_SetO2T(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_SetO2T" "', argument " "1"" of type '" "csTransform *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_SetO2T" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_SetO2T" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->SetO2T((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_SetO2TTranslation) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_SetO2TTranslation(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_SetO2TTranslation" "', argument " "1"" of type '" "csTransform *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_SetO2TTranslation" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_SetO2TTranslation" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetO2TTranslation((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_SetOrigin) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_SetOrigin(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_SetOrigin" "', argument " "1"" of type '" "csTransform *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_SetOrigin" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_SetOrigin" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetOrigin((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_Translate) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_Translate(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_Translate" "', argument " "1"" of type '" "csTransform *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_Translate" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Translate" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->Translate((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_Other2This__SWIG_0) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_Other2This(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_Other2This" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_Other2This" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Other2This" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = ((csTransform const *)arg1)->Other2This((csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_Other2ThisRelative__SWIG_0) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_Other2ThisRelative(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_Other2ThisRelative" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_Other2ThisRelative" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Other2ThisRelative" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = ((csTransform const *)arg1)->Other2ThisRelative((csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_Other2This__SWIG_1) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csPlane3 *arg2 = 0 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_Other2This(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_Other2This" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_Other2This" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Other2This" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = ((csTransform const *)arg1)->Other2This((csPlane3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_Other2ThisRelative__SWIG_1) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csPlane3 *arg2 = 0 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_Other2ThisRelative(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_Other2ThisRelative" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_Other2ThisRelative" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Other2ThisRelative" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = ((csTransform const *)arg1)->Other2ThisRelative((csPlane3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_Other2ThisRelative) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform_Other2ThisRelative__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform_Other2ThisRelative__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csTransform_Other2ThisRelative'");
  XSRETURN(0);
}


XS(_wrap_csTransform_Other2This__SWIG_2) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csPlane3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csPlane3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csTransform_Other2This(self,p,point,result);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_Other2This" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_Other2This" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Other2This" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csTransform_Other2This" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Other2This" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csTransform_Other2This" "', argument " "4"" of type '" "csPlane3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Other2This" "', argument " "4"" of type '" "csPlane3 &""'"); 
    }
    arg4 = reinterpret_cast< csPlane3 * >(argp4);
    ((csTransform const *)arg1)->Other2This((csPlane3 const &)*arg2,(csVector3 const &)*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_Other2This__SWIG_3) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csSphere *arg2 = 0 ;
    csSphere result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform_Other2This(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_Other2This" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform_Other2This" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_Other2This" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    result = ((csTransform const *)arg1)->Other2This((csSphere const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_Other2This) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform_Other2This__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform_Other2This__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform_Other2This__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform_Other2This__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csTransform_Other2This'");
  XSRETURN(0);
}


XS(_wrap___mult____SWIG_19) {
  {
    csVector3 *arg1 = 0 ;
    csTransform *arg2 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(v,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    result = operator *((csVector3 const &)*arg1,(csTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_20) {
  {
    csTransform *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(t,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator *((csTransform const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult_ass____SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csTransform *arg2 = 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult_ass__(v,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult_ass__" "', argument " "1"" of type '" "csVector3 &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "1"" of type '" "csVector3 &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    {
      csVector3 &_result_ref = operator *=(*arg1,(csTransform const &)*arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_21) {
  {
    csPlane3 *arg1 = 0 ;
    csTransform *arg2 = 0 ;
    csPlane3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(p,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    result = operator *((csPlane3 const &)*arg1,(csTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_22) {
  {
    csTransform *arg1 = 0 ;
    csPlane3 *arg2 = 0 ;
    csPlane3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(t,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = operator *((csTransform const &)*arg1,(csPlane3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult_ass____SWIG_1) {
  {
    csPlane3 *arg1 = 0 ;
    csTransform *arg2 = 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult_ass__(p,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult_ass__" "', argument " "1"" of type '" "csPlane3 &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "1"" of type '" "csPlane3 &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    {
      csPlane3 &_result_ref = operator *=(*arg1,(csTransform const &)*arg2);
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_23) {
  {
    csSphere *arg1 = 0 ;
    csTransform *arg2 = 0 ;
    csSphere result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(p,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csSphere const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csSphere const &""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    result = operator *((csSphere const &)*arg1,(csTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_24) {
  {
    csTransform *arg1 = 0 ;
    csSphere *arg2 = 0 ;
    csSphere result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(t,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    result = operator *((csTransform const &)*arg1,(csSphere const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult_ass____SWIG_2) {
  {
    csSphere *arg1 = 0 ;
    csTransform *arg2 = 0 ;
    csSphere *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult_ass__(p,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult_ass__" "', argument " "1"" of type '" "csSphere &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "1"" of type '" "csSphere &""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    {
      csSphere &_result_ref = operator *=(*arg1,(csTransform const &)*arg2);
      result = (csSphere *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSphere, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_25) {
  {
    csMatrix3 *arg1 = 0 ;
    csTransform *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(m,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    result = operator *((csMatrix3 const &)*arg1,(csTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_26) {
  {
    csTransform *arg1 = 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(t,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = operator *((csTransform const &)*arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult_ass____SWIG_3) {
  {
    csMatrix3 *arg1 = 0 ;
    csTransform *arg2 = 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult_ass__(m,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult_ass__" "', argument " "1"" of type '" "csMatrix3 &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "1"" of type '" "csMatrix3 &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    {
      csMatrix3 &_result_ref = operator *=(*arg1,(csTransform const &)*arg2);
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_27) {
  {
    csTransform *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csTransform result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(t1,t2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = operator *((csTransform const &)*arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csTransform(static_cast< const csTransform& >(result))), SWIGTYPE_p_csTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_GetReflect) {
  {
    csPlane3 *arg1 = 0 ;
    csTransform result;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_GetReflect(pl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_GetReflect" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform_GetReflect" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = csTransform::GetReflect((csPlane3 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj((new csTransform(static_cast< const csTransform& >(result))), SWIGTYPE_p_csTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_GetFront) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_GetFront(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_GetFront" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    result = ((csTransform const *)arg1)->GetFront();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_GetUp) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_GetUp(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_GetUp" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    result = ((csTransform const *)arg1)->GetUp();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform_GetRight) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTransform_GetRight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform_GetRight" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    result = ((csTransform const *)arg1)->GetRight();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform___mul____SWIG_0) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform___mul__(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform___mul__" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = csTransform_operator_Sm___SWIG_0((csTransform const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform___mul____SWIG_1) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csPlane3 *arg2 = 0 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform___mul__(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform___mul__" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = csTransform_operator_Sm___SWIG_1((csTransform const *)arg1,(csPlane3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform___mul____SWIG_2) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csSphere *arg2 = 0 ;
    csSphere result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform___mul__(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform___mul__" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    result = csTransform_operator_Sm___SWIG_2((csTransform const *)arg1,(csSphere const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform___mul____SWIG_3) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform___mul__(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform___mul__" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = csTransform_operator_Sm___SWIG_3((csTransform const *)arg1,(csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform___mul____SWIG_4) {
  {
    csTransform *arg1 = (csTransform *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTransform___mul__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTransform___mul__" "', argument " "1"" of type '" "csTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csTransform___mul__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = csTransform_operator_Sm___SWIG_4((csTransform const *)arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csTransform(static_cast< const csTransform& >(result))), SWIGTYPE_p_csTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTransform___mul__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform___mul____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform___mul____SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform___mul____SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform___mul____SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csTransform___mul____SWIG_4); return;
    }
  }
  
  croak("No matching function for overloaded 'csTransform___mul__'");
  XSRETURN(0);
}


XS(_wrap_new_csReversibleTransform__SWIG_1) {
  {
    csReversibleTransform *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csReversibleTransform();");
    }
    result = (csReversibleTransform *)new csReversibleTransform();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csReversibleTransform__SWIG_2) {
  {
    csMatrix3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csReversibleTransform(o2t,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csReversibleTransform" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csReversibleTransform" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csReversibleTransform" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csReversibleTransform" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (csReversibleTransform *)new csReversibleTransform((csMatrix3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csReversibleTransform__SWIG_3) {
  {
    csTransform *arg1 = 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csReversibleTransform(t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csReversibleTransform" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csReversibleTransform" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    result = (csReversibleTransform *)new csReversibleTransform((csTransform const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csReversibleTransform__SWIG_4) {
  {
    csReversibleTransform *arg1 = 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csReversibleTransform(t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csReversibleTransform" "', argument " "1"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csReversibleTransform" "', argument " "1"" of type '" "csReversibleTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    result = (csReversibleTransform *)new csReversibleTransform((csReversibleTransform const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csReversibleTransform) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csReversibleTransform__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csReversibleTransform__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csReversibleTransform__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csReversibleTransform__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csReversibleTransform'");
  XSRETURN(0);
}


XS(_wrap_csReversibleTransform_GetT2O) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csMatrix3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csReversibleTransform_GetT2O(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_GetT2O" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    {
      csMatrix3 const &_result_ref = ((csReversibleTransform const *)arg1)->GetT2O();
      result = (csMatrix3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMatrix3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_GetT2OTranslation) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csReversibleTransform_GetT2OTranslation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_GetT2OTranslation" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    result = ((csReversibleTransform const *)arg1)->GetT2OTranslation();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_GetInverse) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csReversibleTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csReversibleTransform_GetInverse(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_GetInverse" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    result = ((csReversibleTransform const *)arg1)->GetInverse();
    ST(argvi) = SWIG_NewPointerObj((new csReversibleTransform(static_cast< const csReversibleTransform& >(result))), SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_SetO2T) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_SetO2T(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_SetO2T" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_SetO2T" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_SetO2T" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->SetO2T((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_SetT2O) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_SetT2O(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_SetT2O" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_SetT2O" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_SetT2O" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->SetT2O((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_This2Other__SWIG_0) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_This2Other(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_This2Other" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_This2Other" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_This2Other" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = ((csReversibleTransform const *)arg1)->This2Other((csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_This2OtherRelative__SWIG_0) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_This2OtherRelative(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_This2OtherRelative" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_This2OtherRelative" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_This2OtherRelative" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = ((csReversibleTransform const *)arg1)->This2OtherRelative((csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_This2Other__SWIG_1) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csPlane3 *arg2 = 0 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_This2Other(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_This2Other" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_This2Other" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_This2Other" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = ((csReversibleTransform const *)arg1)->This2Other((csPlane3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_This2OtherRelative__SWIG_1) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csPlane3 *arg2 = 0 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_This2OtherRelative(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_This2OtherRelative" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_This2OtherRelative" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_This2OtherRelative" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = ((csReversibleTransform const *)arg1)->This2OtherRelative((csPlane3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_This2OtherRelative) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_This2OtherRelative__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_This2OtherRelative__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csReversibleTransform_This2OtherRelative'");
  XSRETURN(0);
}


XS(_wrap_csReversibleTransform_This2Other__SWIG_2) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csPlane3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csPlane3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csReversibleTransform_This2Other(self,p,point,result);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_This2Other" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_This2Other" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_This2Other" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csReversibleTransform_This2Other" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_This2Other" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csReversibleTransform_This2Other" "', argument " "4"" of type '" "csPlane3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_This2Other" "', argument " "4"" of type '" "csPlane3 &""'"); 
    }
    arg4 = reinterpret_cast< csPlane3 * >(argp4);
    ((csReversibleTransform const *)arg1)->This2Other((csPlane3 const &)*arg2,(csVector3 const &)*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_This2Other__SWIG_3) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csSphere *arg2 = 0 ;
    csSphere result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_This2Other(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_This2Other" "', argument " "1"" of type '" "csReversibleTransform const *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_This2Other" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_This2Other" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    result = ((csReversibleTransform const *)arg1)->This2Other((csSphere const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_This2Other) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_This2Other__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_This2Other__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_This2Other__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_This2Other__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csReversibleTransform_This2Other'");
  XSRETURN(0);
}


XS(_wrap_csReversibleTransform_RotateOther__SWIG_0) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csReversibleTransform_RotateOther(self,v,angle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_RotateOther" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_RotateOther" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_RotateOther" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csReversibleTransform_RotateOther" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->RotateOther((csVector3 const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_RotateThis__SWIG_0) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csReversibleTransform_RotateThis(self,v,angle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_RotateThis" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_RotateThis" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_RotateThis" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csReversibleTransform_RotateThis" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->RotateThis((csVector3 const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_RotateOther__SWIG_1) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_RotateOther(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_RotateOther" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_RotateOther" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_RotateOther" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->RotateOther((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_RotateOther) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_RotateOther__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_RotateOther__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csReversibleTransform_RotateOther'");
  XSRETURN(0);
}


XS(_wrap_csReversibleTransform_RotateThis__SWIG_1) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform_RotateThis(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_RotateThis" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_RotateThis" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_RotateThis" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->RotateThis((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform_RotateThis) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_RotateThis__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csReversibleTransform_RotateThis__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csReversibleTransform_RotateThis'");
  XSRETURN(0);
}


XS(_wrap_csReversibleTransform_LookAt) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csReversibleTransform_LookAt(self,v,up);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform_LookAt" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform_LookAt" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_LookAt" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csReversibleTransform_LookAt" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform_LookAt" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->LookAt((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_6) {
  {
    csVector3 *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(v,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = operator /((csVector3 const &)*arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___divide_ass____SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __divide_ass__(v,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__divide_ass__" "', argument " "1"" of type '" "csVector3 &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__divide_ass__" "', argument " "1"" of type '" "csVector3 &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    {
      csVector3 &_result_ref = operator /=(*arg1,(csReversibleTransform const &)*arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_7) {
  {
    csPlane3 *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csPlane3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(p,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = operator /((csPlane3 const &)*arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___divide_ass____SWIG_1) {
  {
    csPlane3 *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __divide_ass__(p,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__divide_ass__" "', argument " "1"" of type '" "csPlane3 &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__divide_ass__" "', argument " "1"" of type '" "csPlane3 &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    {
      csPlane3 &_result_ref = operator /=(*arg1,(csReversibleTransform const &)*arg2);
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_8) {
  {
    csSphere *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csSphere result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(p,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csSphere const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csSphere const &""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = operator /((csSphere const &)*arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult_ass____SWIG_4) {
  {
    csReversibleTransform *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult_ass__(t1,t2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult_ass__" "', argument " "1"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "1"" of type '" "csReversibleTransform &""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    {
      csReversibleTransform &_result_ref = operator *=(*arg1,(csReversibleTransform const &)*arg2);
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult_ass____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult_ass____SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult_ass____SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult_ass____SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult_ass____SWIG_4); return;
    }
  }
  
  croak("No matching function for overloaded '__mult_ass__'");
  XSRETURN(0);
}


XS(_wrap___mult____SWIG_28) {
  {
    csReversibleTransform *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(t1,t2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csReversibleTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = operator *((csReversibleTransform const &)*arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csReversibleTransform(static_cast< const csReversibleTransform& >(result))), SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___divide_ass____SWIG_2) {
  {
    csReversibleTransform *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __divide_ass__(t1,t2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__divide_ass__" "', argument " "1"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__divide_ass__" "', argument " "1"" of type '" "csReversibleTransform &""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    {
      csReversibleTransform &_result_ref = operator /=(*arg1,(csReversibleTransform const &)*arg2);
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___divide_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___divide_ass____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___divide_ass____SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___divide_ass____SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded '__divide_ass__'");
  XSRETURN(0);
}


XS(_wrap___div____SWIG_9) {
  {
    csReversibleTransform *arg1 = 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(t1,t2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csReversibleTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = operator /((csReversibleTransform const &)*arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csReversibleTransform(static_cast< const csReversibleTransform& >(result))), SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform___mult_ass__) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform___mult_ass__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform___mult_ass__" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform___mult_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform___mult_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    {
      csReversibleTransform &_result_ref = csReversibleTransform_operator_Sm__Se_(arg1,(csReversibleTransform const &)*arg2);
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform___mul__) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform___mul__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform___mul__" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform___mul__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform___mul__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = csReversibleTransform_operator_Sm_(arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csReversibleTransform(static_cast< const csReversibleTransform& >(result))), SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform___divide_ass__) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform___divide_ass__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform___divide_ass__" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform___divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform___divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    {
      csReversibleTransform &_result_ref = csReversibleTransform_operator_Sd__Se_(arg1,(csReversibleTransform const &)*arg2);
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csReversibleTransform___div__) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csReversibleTransform___div__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReversibleTransform___div__" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csReversibleTransform___div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csReversibleTransform___div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = csReversibleTransform_operator_Sd_(arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csReversibleTransform(static_cast< const csReversibleTransform& >(result))), SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csReversibleTransform) {
  {
    csReversibleTransform *arg1 = (csReversibleTransform *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csReversibleTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csReversibleTransform" "', argument " "1"" of type '" "csReversibleTransform *""'"); 
    }
    arg1 = reinterpret_cast< csReversibleTransform * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csOrthoTransform__SWIG_0) {
  {
    csOrthoTransform *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csOrthoTransform();");
    }
    result = (csOrthoTransform *)new csOrthoTransform();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csOrthoTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csOrthoTransform__SWIG_1) {
  {
    csMatrix3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csOrthoTransform *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csOrthoTransform(o2t,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csOrthoTransform" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csOrthoTransform" "', argument " "1"" of type '" "csMatrix3 const &""'"); 
    }
    arg1 = reinterpret_cast< csMatrix3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csOrthoTransform" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csOrthoTransform" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (csOrthoTransform *)new csOrthoTransform((csMatrix3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csOrthoTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csOrthoTransform__SWIG_2) {
  {
    csTransform *arg1 = 0 ;
    csOrthoTransform *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csOrthoTransform(t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csOrthoTransform" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csOrthoTransform" "', argument " "1"" of type '" "csTransform const &""'"); 
    }
    arg1 = reinterpret_cast< csTransform * >(argp1);
    result = (csOrthoTransform *)new csOrthoTransform((csTransform const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csOrthoTransform, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csOrthoTransform) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csOrthoTransform__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csOrthoTransform__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csOrthoTransform__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csOrthoTransform'");
  XSRETURN(0);
}


XS(_wrap_csOrthoTransform_SetO2T) {
  {
    csOrthoTransform *arg1 = (csOrthoTransform *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csOrthoTransform_SetO2T(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csOrthoTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csOrthoTransform_SetO2T" "', argument " "1"" of type '" "csOrthoTransform *""'"); 
    }
    arg1 = reinterpret_cast< csOrthoTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csOrthoTransform_SetO2T" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csOrthoTransform_SetO2T" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->SetO2T((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csOrthoTransform_SetT2O) {
  {
    csOrthoTransform *arg1 = (csOrthoTransform *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csOrthoTransform_SetT2O(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csOrthoTransform, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csOrthoTransform_SetT2O" "', argument " "1"" of type '" "csOrthoTransform *""'"); 
    }
    arg1 = reinterpret_cast< csOrthoTransform * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csOrthoTransform_SetT2O" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csOrthoTransform_SetT2O" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->SetT2O((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csOrthoTransform) {
  {
    csOrthoTransform *arg1 = (csOrthoTransform *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csOrthoTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csOrthoTransform, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csOrthoTransform" "', argument " "1"" of type '" "csOrthoTransform *""'"); 
    }
    arg1 = reinterpret_cast< csOrthoTransform * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSphere__SWIG_0) {
  {
    csSphere *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSphere();");
    }
    result = (csSphere *)new csSphere();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSphere, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSphere__SWIG_1) {
  {
    csVector3 *arg1 = 0 ;
    float arg2 ;
    csSphere *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csSphere(center,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csSphere" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csSphere" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csSphere" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (csSphere *)new csSphere((csVector3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSphere, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSphere__SWIG_2) {
  {
    csSphere *arg1 = 0 ;
    csSphere *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csSphere(s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csSphere" "', argument " "1"" of type '" "csSphere const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csSphere" "', argument " "1"" of type '" "csSphere const &""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    result = (csSphere *)new csSphere((csSphere const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSphere, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSphere) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csSphere__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csSphere__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csSphere__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csSphere'");
  XSRETURN(0);
}


XS(_wrap_csSphere_GetCenter) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSphere_GetCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSphere_GetCenter" "', argument " "1"" of type '" "csSphere const *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    {
      csVector3 const &_result_ref = ((csSphere const *)arg1)->GetCenter();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSphere_SetCenter) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSphere_SetCenter(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSphere_SetCenter" "', argument " "1"" of type '" "csSphere *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSphere_SetCenter" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSphere_SetCenter" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetCenter((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSphere_GetRadius) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSphere_GetRadius(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSphere_GetRadius" "', argument " "1"" of type '" "csSphere const *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    result = (float)((csSphere const *)arg1)->GetRadius();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSphere_SetRadius) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSphere_SetRadius(self,r);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSphere_SetRadius" "', argument " "1"" of type '" "csSphere *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSphere_SetRadius" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetRadius(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSphere_Union) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSphere_Union(self,ocenter,oradius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSphere_Union" "', argument " "1"" of type '" "csSphere *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSphere_Union" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSphere_Union" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csSphere_Union" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->Union((csVector3 const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_9) {
  {
    csSphere *arg1 = 0 ;
    csSphere *arg2 = 0 ;
    csSphere result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(s1,s2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csSphere const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csSphere const &""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    result = operator +((csSphere const &)*arg1,(csSphere const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSphere___add_ass__) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    csSphere *arg2 = 0 ;
    csSphere *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSphere___add_ass__(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSphere___add_ass__" "', argument " "1"" of type '" "csSphere *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSphere___add_ass__" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSphere___add_ass__" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    {
      csSphere &_result_ref = (arg1)->operator +=((csSphere const &)*arg2);
      result = (csSphere *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSphere, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSphere___mult_ass__) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    csTransform *arg2 = 0 ;
    csSphere *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSphere___mult_ass__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSphere___mult_ass__" "', argument " "1"" of type '" "csSphere *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSphere___mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSphere___mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    {
      csSphere &_result_ref = csSphere_operator_Sm__Se_(arg1,(csTransform const &)*arg2);
      result = (csSphere *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSphere, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSphere___div__) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csSphere result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSphere___div__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSphere___div__" "', argument " "1"" of type '" "csSphere *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSphere___div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSphere___div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = csSphere_operator_Sd_(arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSphere) {
  {
    csSphere *arg1 = (csSphere *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSphere(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSphere, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSphere" "', argument " "1"" of type '" "csSphere *""'"); 
    }
    arg1 = reinterpret_cast< csSphere * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csEllipsoid__SWIG_0) {
  {
    csEllipsoid *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csEllipsoid();");
    }
    result = (csEllipsoid *)new csEllipsoid();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEllipsoid, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csEllipsoid__SWIG_1) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csEllipsoid *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csEllipsoid(center,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csEllipsoid" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csEllipsoid" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csEllipsoid" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csEllipsoid" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (csEllipsoid *)new csEllipsoid((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEllipsoid, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csEllipsoid__SWIG_2) {
  {
    csEllipsoid *arg1 = 0 ;
    csEllipsoid *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csEllipsoid(s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csEllipsoid,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csEllipsoid" "', argument " "1"" of type '" "csEllipsoid const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csEllipsoid" "', argument " "1"" of type '" "csEllipsoid const &""'"); 
    }
    arg1 = reinterpret_cast< csEllipsoid * >(argp1);
    result = (csEllipsoid *)new csEllipsoid((csEllipsoid const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEllipsoid, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csEllipsoid) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csEllipsoid, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csEllipsoid__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csEllipsoid__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csEllipsoid__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csEllipsoid'");
  XSRETURN(0);
}


XS(_wrap_csEllipsoid_GetCenter) {
  {
    csEllipsoid *arg1 = (csEllipsoid *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csEllipsoid_GetCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEllipsoid, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEllipsoid_GetCenter" "', argument " "1"" of type '" "csEllipsoid const *""'"); 
    }
    arg1 = reinterpret_cast< csEllipsoid * >(argp1);
    {
      csVector3 const &_result_ref = ((csEllipsoid const *)arg1)->GetCenter();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEllipsoid_SetCenter) {
  {
    csEllipsoid *arg1 = (csEllipsoid *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csEllipsoid_SetCenter(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEllipsoid, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEllipsoid_SetCenter" "', argument " "1"" of type '" "csEllipsoid *""'"); 
    }
    arg1 = reinterpret_cast< csEllipsoid * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csEllipsoid_SetCenter" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csEllipsoid_SetCenter" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetCenter((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEllipsoid_GetRadius) {
  {
    csEllipsoid *arg1 = (csEllipsoid *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csEllipsoid_GetRadius(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEllipsoid, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEllipsoid_GetRadius" "', argument " "1"" of type '" "csEllipsoid const *""'"); 
    }
    arg1 = reinterpret_cast< csEllipsoid * >(argp1);
    {
      csVector3 const &_result_ref = ((csEllipsoid const *)arg1)->GetRadius();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEllipsoid_SetRadius) {
  {
    csEllipsoid *arg1 = (csEllipsoid *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csEllipsoid_SetRadius(self,r);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEllipsoid, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEllipsoid_SetRadius" "', argument " "1"" of type '" "csEllipsoid *""'"); 
    }
    arg1 = reinterpret_cast< csEllipsoid * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csEllipsoid_SetRadius" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csEllipsoid_SetRadius" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetRadius((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csEllipsoid) {
  {
    csEllipsoid *arg1 = (csEllipsoid *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csEllipsoid(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEllipsoid, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csEllipsoid" "', argument " "1"" of type '" "csEllipsoid *""'"); 
    }
    arg1 = reinterpret_cast< csEllipsoid * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_norm_set) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane2_norm_set(self,norm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_norm_set" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane2_norm_set" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    if (arg1) (arg1)->norm = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_norm_get) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_norm_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_norm_get" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    result = (csVector2 *)& ((arg1)->norm);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_CC_set) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane2_CC_set(self,CC);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_CC_set" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPlane2_CC_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->CC = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_CC_get) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_CC_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_CC_get" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    result = (float) ((arg1)->CC);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane2__SWIG_0) {
  {
    csPlane2 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPlane2();");
    }
    result = (csPlane2 *)new csPlane2();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane2__SWIG_1) {
  {
    csVector2 *arg1 = 0 ;
    float arg2 ;
    csPlane2 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csPlane2(plane_norm,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPlane2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csPlane2" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (csPlane2 *)new csPlane2((csVector2 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane2__SWIG_2) {
  {
    csVector2 *arg1 = 0 ;
    csPlane2 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPlane2(plane_norm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPlane2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = (csPlane2 *)new csPlane2((csVector2 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane2__SWIG_3) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    csPlane2 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csPlane2(a,b,c);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPlane2" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csPlane2" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csPlane2" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (csPlane2 *)new csPlane2(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane2__SWIG_4) {
  {
    float arg1 ;
    float arg2 ;
    csPlane2 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csPlane2(a,b);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPlane2" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csPlane2" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (csPlane2 *)new csPlane2(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_Set__SWIG_0) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPlane2_Set(self,v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_Set" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane2_Set" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane2_Set" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPlane2_Set" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane2_Set" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    (arg1)->Set((csVector2 const &)*arg2,(csVector2 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_Set__SWIG_1) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csSegment2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane2_Set(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_Set" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane2_Set" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane2_Set" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    arg2 = reinterpret_cast< csSegment2 * >(argp2);
    (arg1)->Set((csSegment2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane2__SWIG_5) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csPlane2 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csPlane2(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPlane2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csPlane2" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane2" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (csPlane2 *)new csPlane2((csVector2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane2__SWIG_6) {
  {
    csSegment2 *arg1 = 0 ;
    csPlane2 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPlane2(s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPlane2" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane2" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    result = (csPlane2 *)new csPlane2((csSegment2 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane2) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane2__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane2__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane2__SWIG_6); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane2__SWIG_5); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane2__SWIG_1); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane2__SWIG_4); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane2__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csPlane2'");
  XSRETURN(0);
}


XS(_wrap_csPlane2_Normal) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_Normal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_Normal" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    {
      csVector2 &_result_ref = (arg1)->Normal();
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_GetNormal) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_GetNormal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_GetNormal" "', argument " "1"" of type '" "csPlane2 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    result = ((csPlane2 const *)arg1)->GetNormal();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_A) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_A(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_A" "', argument " "1"" of type '" "csPlane2 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    result = (float)((csPlane2 const *)arg1)->A();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_B) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_B(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_B" "', argument " "1"" of type '" "csPlane2 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    result = (float)((csPlane2 const *)arg1)->B();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_C) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_C(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_C" "', argument " "1"" of type '" "csPlane2 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    result = (float)((csPlane2 const *)arg1)->C();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_Set__SWIG_2) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPlane2_Set(self,a,b,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_Set" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPlane2_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPlane2_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPlane2_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->Set(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSegment2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane2_Set__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane2_Set__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane2_Set__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csPlane2_Set'");
  XSRETURN(0);
}


XS(_wrap_csPlane2_Classify__SWIG_0) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csVector2 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane2_Classify(self,pt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_Classify" "', argument " "1"" of type '" "csPlane2 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane2_Classify" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane2_Classify" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (float)((csPlane2 const *)arg1)->Classify((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_Classify__SWIG_1) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    csVector2 *arg4 = 0 ;
    float result;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPlane2_Classify(A,B,C,pt);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csPlane2_Classify" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPlane2_Classify" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPlane2_Classify" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPlane2_Classify" "', argument " "4"" of type '" "csVector2 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane2_Classify" "', argument " "4"" of type '" "csVector2 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    result = (float)csPlane2::Classify(arg1,arg2,arg3,(csVector2 const &)*arg4);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_Classify) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane2_Classify__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane2_Classify__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csPlane2_Classify'");
  XSRETURN(0);
}


XS(_wrap_csPlane2_Distance) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csVector2 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane2_Distance(self,pt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_Distance" "', argument " "1"" of type '" "csPlane2 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane2_Distance" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane2_Distance" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (float)((csPlane2 const *)arg1)->Distance((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_SquaredDistance) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    csVector2 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane2_SquaredDistance(self,pt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_SquaredDistance" "', argument " "1"" of type '" "csPlane2 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane2_SquaredDistance" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane2_SquaredDistance" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (float)((csPlane2 const *)arg1)->SquaredDistance((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_Invert) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_Invert(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_Invert" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    (arg1)->Invert();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane2_Normalize) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane2_Normalize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane2_Normalize" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    (arg1)->Normalize();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPlane2) {
  {
    csPlane2 *arg1 = (csPlane2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPlane2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane2, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPlane2" "', argument " "1"" of type '" "csPlane2 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_norm_set) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane3_norm_set(self,norm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_norm_set" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_norm_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->norm = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_norm_get) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_norm_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_norm_get" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = (csVector3 *)& ((arg1)->norm);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_DD_set) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane3_DD_set(self,DD);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_DD_set" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPlane3_DD_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->DD = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_DD_get) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_DD_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_DD_get" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = (float) ((arg1)->DD);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane3__SWIG_0) {
  {
    csPlane3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPlane3();");
    }
    result = (csPlane3 *)new csPlane3();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane3__SWIG_1) {
  {
    csVector3 *arg1 = 0 ;
    float arg2 ;
    csPlane3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csPlane3(plane_norm,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPlane3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csPlane3" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (csPlane3 *)new csPlane3((csVector3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane3__SWIG_2) {
  {
    csVector3 *arg1 = 0 ;
    csPlane3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPlane3(plane_norm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPlane3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (csPlane3 *)new csPlane3((csVector3 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane3__SWIG_3) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    csPlane3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csPlane3(a,b,c,d);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPlane3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csPlane3" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csPlane3" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csPlane3" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (csPlane3 *)new csPlane3(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane3__SWIG_4) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    csPlane3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csPlane3(a,b,c);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPlane3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csPlane3" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csPlane3" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (csPlane3 *)new csPlane3(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane3__SWIG_5) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csPlane3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csPlane3(v1,v2,v3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPlane3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csPlane3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csPlane3" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane3" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (csPlane3 *)new csPlane3((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane3__SWIG_6) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csPlane3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csPlane3(v2,v3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPlane3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csPlane3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPlane3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (csPlane3 *)new csPlane3((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPlane3) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane3__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane3__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane3__SWIG_6); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane3__SWIG_1); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane3__SWIG_5); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane3__SWIG_4); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPlane3__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csPlane3'");
  XSRETURN(0);
}


XS(_wrap_csPlane3_Normal) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_Normal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Normal" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    {
      csVector3 const &_result_ref = ((csPlane3 const *)arg1)->Normal();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_A) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_A(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_A" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = (float)((csPlane3 const *)arg1)->A();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_B) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_B(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_B" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = (float)((csPlane3 const *)arg1)->B();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_C) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_C(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_C" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = (float)((csPlane3 const *)arg1)->C();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_D) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_D" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = (float)((csPlane3 const *)arg1)->D();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_GetNormal) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_GetNormal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_GetNormal" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    {
      csVector3 const &_result_ref = ((csPlane3 const *)arg1)->GetNormal();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Set__SWIG_0) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csPlane3_Set(self,a,b,c,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Set" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPlane3_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPlane3_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPlane3_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csPlane3_Set" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->Set(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Set__SWIG_1) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPlane3_Set(self,normal,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Set" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPlane3_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->Set((csVector3 const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Set__SWIG_2) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPlane3_Set(self,v1,v2,v3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Set" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPlane3_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPlane3_Set" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Set" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    (arg1)->Set((csVector3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Set__SWIG_3) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPlane3_Set(self,v2,v3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Set" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPlane3_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->Set((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_Set__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_Set__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_Set__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_Set__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csPlane3_Set'");
  XSRETURN(0);
}


XS(_wrap_csPlane3_SetOrigin) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane3_SetOrigin(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_SetOrigin" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_SetOrigin" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_SetOrigin" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetOrigin((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Classify__SWIG_0) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane3_Classify(self,pt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Classify" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_Classify" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Classify" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (float)((csPlane3 const *)arg1)->Classify((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Classify__SWIG_1) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    csVector3 *arg5 = 0 ;
    float result;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csPlane3_Classify(A,B,C,D,pt);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csPlane3_Classify" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPlane3_Classify" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPlane3_Classify" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPlane3_Classify" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csPlane3_Classify" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Classify" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (float)csPlane3::Classify(arg1,arg2,arg3,arg4,(csVector3 const &)*arg5);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Classify) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_Classify__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_Classify__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csPlane3_Classify'");
  XSRETURN(0);
}


XS(_wrap_csPlane3_Distance) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane3_Distance(self,pt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Distance" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_Distance" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_Distance" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (float)((csPlane3 const *)arg1)->Distance((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Invert) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_Invert(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Invert" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    (arg1)->Invert();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_Normalize) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_Normalize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Normalize" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    (arg1)->Normalize();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_FindPoint) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_FindPoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_FindPoint" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = ((csPlane3 const *)arg1)->FindPoint();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_ClipPolygon__SWIG_0) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 **arg2 = 0 ;
    int *arg3 = 0 ;
    bool arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPlane3_ClipPolygon(self,pverts,num_verts,reversed);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_ClipPolygon" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_ClipPolygon" "', argument " "2"" of type '" "csVector3 *&""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_ClipPolygon" "', argument " "2"" of type '" "csVector3 *&""'"); 
    }
    arg2 = reinterpret_cast< csVector3 ** >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPlane3_ClipPolygon" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_ClipPolygon" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPlane3_ClipPolygon" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    result = (bool)(arg1)->ClipPolygon(*arg2,*arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_ClipPolygon__SWIG_1) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 **arg2 = 0 ;
    int *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPlane3_ClipPolygon(self,pverts,num_verts);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_ClipPolygon" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_ClipPolygon" "', argument " "2"" of type '" "csVector3 *&""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_ClipPolygon" "', argument " "2"" of type '" "csVector3 *&""'"); 
    }
    arg2 = reinterpret_cast< csVector3 ** >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPlane3_ClipPolygon" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_ClipPolygon" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    result = (bool)(arg1)->ClipPolygon(*arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_ClipPolygon__SWIG_2) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    size_t arg3 ;
    csVector3 *arg4 = (csVector3 *) 0 ;
    size_t *arg5 = 0 ;
    csVertexStatus *arg6 = (csVertexStatus *) 0 ;
    bool arg7 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    bool val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: csPlane3_ClipPolygon(self,InVerts,InCount,OutPolygon,OutCount,OutStatus,reversed);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_ClipPolygon" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_ClipPolygon" "', argument " "2"" of type '" "csVector3 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPlane3_ClipPolygon" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPlane3_ClipPolygon" "', argument " "4"" of type '" "csVector3 *""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csPlane3_ClipPolygon" "', argument " "5"" of type '" "size_t &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_ClipPolygon" "', argument " "5"" of type '" "size_t &""'"); 
    }
    arg5 = reinterpret_cast< size_t * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csPlane3_ClipPolygon" "', argument " "6"" of type '" "csVertexStatus *""'"); 
    }
    arg6 = reinterpret_cast< csVertexStatus * >(argp6);
    ecode7 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "csPlane3_ClipPolygon" "', argument " "7"" of type '" "bool""'");
    } 
    arg7 = static_cast< bool >(val7);
    result = ((csPlane3 const *)arg1)->ClipPolygon((csVector3 const *)arg2,arg3,arg4,*arg5,arg6,arg7);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_ClipPolygon__SWIG_3) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    size_t arg3 ;
    csVector3 *arg4 = (csVector3 *) 0 ;
    size_t *arg5 = 0 ;
    csVertexStatus *arg6 = (csVertexStatus *) 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: csPlane3_ClipPolygon(self,InVerts,InCount,OutPolygon,OutCount,OutStatus);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_ClipPolygon" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3_ClipPolygon" "', argument " "2"" of type '" "csVector3 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPlane3_ClipPolygon" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPlane3_ClipPolygon" "', argument " "4"" of type '" "csVector3 *""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csPlane3_ClipPolygon" "', argument " "5"" of type '" "size_t &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3_ClipPolygon" "', argument " "5"" of type '" "size_t &""'"); 
    }
    arg5 = reinterpret_cast< size_t * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csPlane3_ClipPolygon" "', argument " "6"" of type '" "csVertexStatus *""'"); 
    }
    arg6 = reinterpret_cast< csVertexStatus * >(argp6);
    result = ((csPlane3 const *)arg1)->ClipPolygon((csVector3 const *)arg2,arg3,arg4,*arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3_ClipPolygon) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_size_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csVertexStatus, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_size_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csVertexStatus, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_ClipPolygon__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_ClipPolygon__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_ClipPolygon__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPlane3_ClipPolygon__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csPlane3_ClipPolygon'");
  XSRETURN(0);
}


XS(_wrap_csPlane3_Description) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlane3_Description(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3_Description" "', argument " "1"" of type '" "csPlane3 const *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    result = ((csPlane3 const *)arg1)->Description();
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3___mult_ass__) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csTransform *arg2 = 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane3___mult_ass__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3___mult_ass__" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3___mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3___mult_ass__" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    {
      csPlane3 &_result_ref = csPlane3_operator_Sm__Se_(arg1,(csTransform const &)*arg2);
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3___divide_ass__) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane3___divide_ass__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3___divide_ass__" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3___divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3___divide_ass__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    {
      csPlane3 &_result_ref = csPlane3_operator_Sd__Se_(arg1,(csReversibleTransform const &)*arg2);
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlane3___div__) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPlane3___div__(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlane3___div__" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPlane3___div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPlane3___div__" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = csPlane3_operator_Sd_(arg1,(csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPlane3) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPlane3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPlane3" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_WhichSide2D__SWIG_0) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    int result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath2_WhichSide2D(v,s1,s2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_WhichSide2D" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_WhichSide2D" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_WhichSide2D" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_WhichSide2D" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath2_WhichSide2D" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_WhichSide2D" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (int)csMath2::WhichSide2D((csVector2 const &)*arg1,(csVector2 const &)*arg2,(csVector2 const &)*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_WhichSide2D__SWIG_1) {
  {
    csVector2 *arg1 = 0 ;
    csSegment2 *arg2 = 0 ;
    int result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMath2_WhichSide2D(v,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_WhichSide2D" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_WhichSide2D" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_WhichSide2D" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_WhichSide2D" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    arg2 = reinterpret_cast< csSegment2 * >(argp2);
    result = (int)csMath2::WhichSide2D((csVector2 const &)*arg1,(csSegment2 const &)*arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_WhichSide2D) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSegment2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMath2_WhichSide2D__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMath2_WhichSide2D__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csMath2_WhichSide2D'");
  XSRETURN(0);
}


XS(_wrap_csMath2_InPoly2D) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    int arg3 ;
    csBox2 *arg4 = (csBox2 *) 0 ;
    int result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csMath2_InPoly2D(v,P,n,bounding_box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_InPoly2D" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_InPoly2D" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_InPoly2D" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csMath2_InPoly2D" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csMath2_InPoly2D" "', argument " "4"" of type '" "csBox2 *""'"); 
    }
    arg4 = reinterpret_cast< csBox2 * >(argp4);
    result = (int)csMath2::InPoly2D((csVector2 const &)*arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_Area2) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath2_Area2(a,b,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_Area2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Area2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_Area2" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Area2" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath2_Area2" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Area2" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (float)csMath2::Area2((csVector2 const &)*arg1,(csVector2 const &)*arg2,(csVector2 const &)*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_Right) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath2_Right(a,b,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_Right" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Right" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_Right" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Right" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath2_Right" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Right" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (float)csMath2::Right((csVector2 const &)*arg1,(csVector2 const &)*arg2,(csVector2 const &)*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_Left) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath2_Left(a,b,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_Left" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Left" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_Left" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Left" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath2_Left" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Left" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (float)csMath2::Left((csVector2 const &)*arg1,(csVector2 const &)*arg2,(csVector2 const &)*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_Visible) {
  {
    csVector2 *arg1 = 0 ;
    csPlane2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMath2_Visible(p,pl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_Visible" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Visible" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_Visible" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_Visible" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane2 * >(argp2);
    result = (bool)csMath2::Visible((csVector2 const &)*arg1,(csPlane2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_PlanesEqual) {
  {
    csPlane2 *arg1 = 0 ;
    csPlane2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMath2_PlanesEqual(p1,p2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_PlanesEqual" "', argument " "1"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_PlanesEqual" "', argument " "1"" of type '" "csPlane2 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_PlanesEqual" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_PlanesEqual" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane2 * >(argp2);
    result = (bool)csMath2::PlanesEqual((csPlane2 const &)*arg1,(csPlane2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath2_PlanesClose) {
  {
    csPlane2 *arg1 = 0 ;
    csPlane2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMath2_PlanesClose(p1,p2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath2_PlanesClose" "', argument " "1"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_PlanesClose" "', argument " "1"" of type '" "csPlane2 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath2_PlanesClose" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath2_PlanesClose" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane2 * >(argp2);
    result = (bool)csMath2::PlanesClose((csPlane2 const &)*arg1,(csPlane2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMath2) {
  {
    csMath2 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csMath2();");
    }
    result = (csMath2 *)new csMath2();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMath2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csMath2) {
  {
    csMath2 *arg1 = (csMath2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csMath2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMath2, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csMath2" "', argument " "1"" of type '" "csMath2 *""'"); 
    }
    arg1 = reinterpret_cast< csMath2 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_PlanePolygon) {
  {
    csPlane2 *arg1 = 0 ;
    csPoly2D *arg2 = (csPoly2D *) 0 ;
    csSegment2 *arg3 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect2_PlanePolygon(plane,poly,segment);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_PlanePolygon" "', argument " "1"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_PlanePolygon" "', argument " "1"" of type '" "csPlane2 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_PlanePolygon" "', argument " "2"" of type '" "csPoly2D *""'"); 
    }
    arg2 = reinterpret_cast< csPoly2D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_PlanePolygon" "', argument " "3"" of type '" "csSegment2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_PlanePolygon" "', argument " "3"" of type '" "csSegment2 &""'"); 
    }
    arg3 = reinterpret_cast< csSegment2 * >(argp3);
    result = (bool)csIntersect2::PlanePolygon((csPlane2 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_SegmentSegment) {
  {
    csSegment2 *arg1 = 0 ;
    csSegment2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    float *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg4 = &temp4;
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect2_SegmentSegment(a,b,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_SegmentSegment" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentSegment" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_SegmentSegment" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentSegment" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    arg2 = reinterpret_cast< csSegment2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_SegmentSegment" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentSegment" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (bool)csIntersect2::SegmentSegment((csSegment2 const &)*arg1,(csSegment2 const &)*arg2,*arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_SegmentLine) {
  {
    csSegment2 *arg1 = 0 ;
    csSegment2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    float *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg4 = &temp4;
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect2_SegmentLine(a,b,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_SegmentLine" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentLine" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_SegmentLine" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentLine" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    arg2 = reinterpret_cast< csSegment2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_SegmentLine" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentLine" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (bool)csIntersect2::SegmentLine((csSegment2 const &)*arg1,(csSegment2 const &)*arg2,*arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_LineLine) {
  {
    csSegment2 *arg1 = 0 ;
    csSegment2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect2_LineLine(a,b,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_LineLine" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_LineLine" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_LineLine" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_LineLine" "', argument " "2"" of type '" "csSegment2 const &""'"); 
    }
    arg2 = reinterpret_cast< csSegment2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_LineLine" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_LineLine" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (bool)csIntersect2::LineLine((csSegment2 const &)*arg1,(csSegment2 const &)*arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_SegmentPlane__SWIG_0) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csPlane2 *arg3 = 0 ;
    csVector2 *arg4 = 0 ;
    float *arg5 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect2_SegmentPlane(u,v,p,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_SegmentPlane" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlane" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_SegmentPlane" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlane" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_SegmentPlane" "', argument " "3"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlane" "', argument " "3"" of type '" "csPlane2 const &""'"); 
    }
    arg3 = reinterpret_cast< csPlane2 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect2_SegmentPlane" "', argument " "4"" of type '" "csVector2 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlane" "', argument " "4"" of type '" "csVector2 &""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    result = (bool)csIntersect2::SegmentPlane((csVector2 const &)*arg1,(csVector2 const &)*arg2,(csPlane2 const &)*arg3,*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_SegmentPlane__SWIG_1) {
  {
    csSegment2 *arg1 = 0 ;
    csPlane2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    float *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg4 = &temp4;
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect2_SegmentPlane(uv,p,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_SegmentPlane" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlane" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_SegmentPlane" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlane" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_SegmentPlane" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlane" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (bool)csIntersect2::SegmentPlane((csSegment2 const &)*arg1,(csPlane2 const &)*arg2,*arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_SegmentPlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csPlane2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect2_SegmentPlane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect2_SegmentPlane__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect2_SegmentPlane'");
  XSRETURN(0);
}


XS(_wrap_csIntersect2_SegmentPlaneNoTest__SWIG_0) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csPlane2 *arg3 = 0 ;
    csVector2 *arg4 = 0 ;
    float *arg5 = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect2_SegmentPlaneNoTest(u,v,p,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "3"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "3"" of type '" "csPlane2 const &""'"); 
    }
    arg3 = reinterpret_cast< csPlane2 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "4"" of type '" "csVector2 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "4"" of type '" "csVector2 &""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    csIntersect2::SegmentPlaneNoTest((csVector2 const &)*arg1,(csVector2 const &)*arg2,(csPlane2 const &)*arg3,*arg4,*arg5);
    
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_SegmentPlaneNoTest__SWIG_1) {
  {
    csSegment2 *arg1 = 0 ;
    csPlane2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    float *arg4 = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg4 = &temp4;
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect2_SegmentPlaneNoTest(uv,p,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "1"" of type '" "csSegment2 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_SegmentPlaneNoTest" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    csIntersect2::SegmentPlaneNoTest((csSegment2 const &)*arg1,(csPlane2 const &)*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect2_SegmentPlaneNoTest) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csPlane2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect2_SegmentPlaneNoTest__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect2_SegmentPlaneNoTest__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect2_SegmentPlaneNoTest'");
  XSRETURN(0);
}


XS(_wrap_csIntersect2_PlanePlane) {
  {
    csPlane2 *arg1 = 0 ;
    csPlane2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect2_PlanePlane(p1,p2,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect2_PlanePlane" "', argument " "1"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_PlanePlane" "', argument " "1"" of type '" "csPlane2 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect2_PlanePlane" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_PlanePlane" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect2_PlanePlane" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect2_PlanePlane" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (bool)csIntersect2::PlanePlane((csPlane2 const &)*arg1,(csPlane2 const &)*arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csIntersect2) {
  {
    csIntersect2 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csIntersect2();");
    }
    result = (csIntersect2 *)new csIntersect2();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csIntersect2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csIntersect2) {
  {
    csIntersect2 *arg1 = (csIntersect2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csIntersect2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersect2, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csIntersect2" "', argument " "1"" of type '" "csIntersect2 *""'"); 
    }
    arg1 = reinterpret_cast< csIntersect2 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly2D__SWIG_0) {
  {
    size_t arg1 ;
    csPoly2D *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPoly2D(start_size);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPoly2D" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csPoly2D *)new csPoly2D(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly2D, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly2D__SWIG_1) {
  {
    csPoly2D *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPoly2D();");
    }
    result = (csPoly2D *)new csPoly2D();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly2D, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly2D__SWIG_2) {
  {
    csPoly2D *arg1 = 0 ;
    csPoly2D *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPoly2D(copy);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPoly2D" "', argument " "1"" of type '" "csPoly2D const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPoly2D" "', argument " "1"" of type '" "csPoly2D const &""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    result = (csPoly2D *)new csPoly2D((csPoly2D const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly2D, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly2D) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPoly2D__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPoly2D__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPoly2D__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csPoly2D'");
  XSRETURN(0);
}


XS(_wrap_delete_csPoly2D) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPoly2D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPoly2D" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D___copy__) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csPoly2D *arg2 = 0 ;
    csPoly2D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly2D___copy__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D___copy__" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly2D___copy__" "', argument " "2"" of type '" "csPoly2D const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D___copy__" "', argument " "2"" of type '" "csPoly2D const &""'"); 
    }
    arg2 = reinterpret_cast< csPoly2D * >(argp2);
    {
      csPoly2D &_result_ref = (arg1)->operator =((csPoly2D const &)*arg2);
      result = (csPoly2D *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly2D, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_MakeEmpty) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly2D_MakeEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_MakeEmpty" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    (arg1)->MakeEmpty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_GetVertexCount) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly2D_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_GetVertexCount" "', argument " "1"" of type '" "csPoly2D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    result = ((csPoly2D const *)arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_GetVertices) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly2D_GetVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_GetVertices" "', argument " "1"" of type '" "csPoly2D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    result = (csVector2 *)((csPoly2D const *)arg1)->GetVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_GetVertex) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    size_t arg2 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly2D_GetVertex(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_GetVertex" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly2D_GetVertex" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (csVector2 *)(arg1)->GetVertex(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_GetFirst) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly2D_GetFirst(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_GetFirst" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    result = (csVector2 *)(arg1)->GetFirst();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_GetLast) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly2D_GetLast(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_GetLast" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    result = (csVector2 *)(arg1)->GetLast();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_In__SWIG_0) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly2D_In(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_In" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly2D_In" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_In" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)(arg1)->In((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_In__SWIG_1) {
  {
    csVector2 *arg1 = (csVector2 *) 0 ;
    size_t arg2 ;
    csVector2 *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly2D_In(poly,num_poly,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_In" "', argument " "1"" of type '" "csVector2 *""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly2D_In" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly2D_In" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_In" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (bool)csPoly2D::In(arg1,arg2,(csVector2 const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_In) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly2D_In__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly2D_In__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csPoly2D_In'");
  XSRETURN(0);
}


XS(_wrap_csPoly2D_MakeRoom) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly2D_MakeRoom(self,new_max);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_MakeRoom" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly2D_MakeRoom" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->MakeRoom(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_SetVertexCount) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly2D_SetVertexCount(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_SetVertexCount" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly2D_SetVertexCount" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->SetVertexCount(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_AddVertex__SWIG_0) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csVector2 *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly2D_AddVertex(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_AddVertex" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly2D_AddVertex" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_AddVertex" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (arg1)->AddVertex((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_AddVertex__SWIG_1) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    float arg2 ;
    float arg3 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly2D_AddVertex(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_AddVertex" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly2D_AddVertex" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly2D_AddVertex" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (arg1)->AddVertex(arg2,arg3);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_AddVertex) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly2D_AddVertex__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly2D_AddVertex__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csPoly2D_AddVertex'");
  XSRETURN(0);
}


XS(_wrap_csPoly2D_SetVertices) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    size_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly2D_SetVertices(self,v,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_SetVertices" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly2D_SetVertices" "', argument " "2"" of type '" "csVector2 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly2D_SetVertices" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    (arg1)->SetVertices((csVector2 const *)arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_ClipAgainst) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    iClipper2D *arg2 = (iClipper2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly2D_ClipAgainst(self,view);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_ClipAgainst" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly2D_ClipAgainst" "', argument " "2"" of type '" "iClipper2D *""'"); 
    }
    arg2 = reinterpret_cast< iClipper2D * >(argp2);
    result = (bool)(arg1)->ClipAgainst(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_Intersect) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csPlane2 *arg2 = 0 ;
    csPoly2D *arg3 = 0 ;
    csPoly2D *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly2D_Intersect(self,plane,left,right);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_Intersect" "', argument " "1"" of type '" "csPoly2D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly2D_Intersect" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_Intersect" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly2D_Intersect" "', argument " "3"" of type '" "csPoly2D &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_Intersect" "', argument " "3"" of type '" "csPoly2D &""'"); 
    }
    arg3 = reinterpret_cast< csPoly2D * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPoly2D_Intersect" "', argument " "4"" of type '" "csPoly2D &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_Intersect" "', argument " "4"" of type '" "csPoly2D &""'"); 
    }
    arg4 = reinterpret_cast< csPoly2D * >(argp4);
    ((csPoly2D const *)arg1)->Intersect((csPlane2 const &)*arg2,*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_ClipPlane) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csPlane2 *arg2 = 0 ;
    csPoly2D *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly2D_ClipPlane(self,plane,right);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_ClipPlane" "', argument " "1"" of type '" "csPoly2D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly2D_ClipPlane" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_ClipPlane" "', argument " "2"" of type '" "csPlane2 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly2D_ClipPlane" "', argument " "3"" of type '" "csPoly2D &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_ClipPlane" "', argument " "3"" of type '" "csPoly2D &""'"); 
    }
    arg3 = reinterpret_cast< csPoly2D * >(argp3);
    ((csPoly2D const *)arg1)->ClipPlane((csPlane2 const &)*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_ExtendConvex) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    csPoly2D *arg2 = 0 ;
    size_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly2D_ExtendConvex(self,other,this_edge);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_ExtendConvex" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly2D_ExtendConvex" "', argument " "2"" of type '" "csPoly2D const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_ExtendConvex" "', argument " "2"" of type '" "csPoly2D const &""'"); 
    }
    arg2 = reinterpret_cast< csPoly2D * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly2D_ExtendConvex" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    (arg1)->ExtendConvex((csPoly2D const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_GetSignedArea) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly2D_GetSignedArea(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_GetSignedArea" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    result = (float)(arg1)->GetSignedArea();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2D_Random) {
  {
    csPoly2D *arg1 = (csPoly2D *) 0 ;
    size_t arg2 ;
    csBox2 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly2D_Random(self,num,max_bbox);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2D_Random" "', argument " "1"" of type '" "csPoly2D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2D * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly2D_Random" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly2D_Random" "', argument " "3"" of type '" "csBox2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly2D_Random" "', argument " "3"" of type '" "csBox2 const &""'"); 
    }
    arg3 = reinterpret_cast< csBox2 * >(argp3);
    (arg1)->Random(arg2,(csBox2 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPoly2DFactory) {
  {
    csPoly2DFactory *arg1 = (csPoly2DFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPoly2DFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2DFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPoly2DFactory" "', argument " "1"" of type '" "csPoly2DFactory *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2DFactory * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly2DFactory_Create) {
  {
    csPoly2DFactory *arg1 = (csPoly2DFactory *) 0 ;
    csPoly2D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly2DFactory_Create(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly2DFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly2DFactory_Create" "', argument " "1"" of type '" "csPoly2DFactory *""'"); 
    }
    arg1 = reinterpret_cast< csPoly2DFactory * >(argp1);
    result = (csPoly2D *)(arg1)->Create();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly2D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly2DFactory) {
  {
    csPoly2DFactory *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPoly2DFactory();");
    }
    result = (csPoly2DFactory *)new csPoly2DFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly2DFactory, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_WhichSide3D) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    int result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath3_WhichSide3D(p,v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_WhichSide3D" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_WhichSide3D" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_WhichSide3D" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_WhichSide3D" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_WhichSide3D" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_WhichSide3D" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (int)csMath3::WhichSide3D((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_Visible__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csMath3_Visible(p,t1,t2,t3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_Visible" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Visible" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_Visible" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Visible" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_Visible" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Visible" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csMath3_Visible" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Visible" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (bool)csMath3::Visible((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_Visible__SWIG_1) {
  {
    csVector3 *arg1 = 0 ;
    csPlane3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMath3_Visible(p,pl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_Visible" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Visible" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_Visible" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Visible" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = (bool)csMath3::Visible((csVector3 const &)*arg1,(csPlane3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_Visible) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMath3_Visible__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMath3_Visible__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csMath3_Visible'");
  XSRETURN(0);
}


XS(_wrap_csMath3_Between) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csMath3_Between(v1,v2,v,pct,wid);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_Between" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Between" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_Between" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Between" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_Between" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Between" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csMath3_Between" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csMath3_Between" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    csMath3::Between((csVector3 const &)*arg1,(csVector3 const &)*arg2,*arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_SetMinMax) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath3_SetMinMax(v,min,max);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_SetMinMax" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_SetMinMax" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_SetMinMax" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_SetMinMax" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_SetMinMax" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_SetMinMax" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    csMath3::SetMinMax((csVector3 const &)*arg1,*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_DoubleArea3) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath3_DoubleArea3(a,b,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_DoubleArea3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_DoubleArea3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_DoubleArea3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_DoubleArea3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_DoubleArea3" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_DoubleArea3" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csMath3::DoubleArea3((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_Direction3) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath3_Direction3(a,b,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_Direction3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Direction3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_Direction3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Direction3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_Direction3" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_Direction3" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csMath3::Direction3((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_CalcNormal__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csMath3_CalcNormal(norm,v1,v2,v3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_CalcNormal" "', argument " "1"" of type '" "csVector3 &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcNormal" "', argument " "1"" of type '" "csVector3 &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_CalcNormal" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcNormal" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_CalcNormal" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcNormal" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csMath3_CalcNormal" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcNormal" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    csMath3::CalcNormal(*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_CalcNormal__SWIG_1) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath3_CalcNormal(norm,v,u);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_CalcNormal" "', argument " "1"" of type '" "csVector3 &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcNormal" "', argument " "1"" of type '" "csVector3 &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_CalcNormal" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcNormal" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_CalcNormal" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcNormal" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    csMath3::CalcNormal(*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_CalcNormal) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMath3_CalcNormal__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMath3_CalcNormal__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csMath3_CalcNormal'");
  XSRETURN(0);
}


XS(_wrap_csMath3_CalcPlane) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float *arg5 = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csMath3_CalcPlane(v1,v2,v3,normal,D);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_CalcPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_CalcPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_CalcPlane" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcPlane" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csMath3_CalcPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csMath3_CalcPlane" "', argument " "5"" of type '" "float &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_CalcPlane" "', argument " "5"" of type '" "float &""'"); 
    }
    arg5 = reinterpret_cast< float * >(argp5);
    csMath3::CalcPlane((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,*arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_PlanesEqual) {
  {
    csPlane3 *arg1 = 0 ;
    csPlane3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMath3_PlanesEqual(p1,p2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_PlanesEqual" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_PlanesEqual" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_PlanesEqual" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_PlanesEqual" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = (bool)csMath3::PlanesEqual((csPlane3 const &)*arg1,(csPlane3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_PlanesClose) {
  {
    csPlane3 *arg1 = 0 ;
    csPlane3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMath3_PlanesClose(p1,p2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_PlanesClose" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_PlanesClose" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_PlanesClose" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_PlanesClose" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = (bool)csMath3::PlanesClose((csPlane3 const &)*arg1,(csPlane3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_OuterPlanes) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    csPlane3 *arg3 = (csPlane3 *) 0 ;
    int result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath3_OuterPlanes(box1,box2,planes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_OuterPlanes" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_OuterPlanes" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_OuterPlanes" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_OuterPlanes" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_OuterPlanes" "', argument " "3"" of type '" "csPlane3 *""'"); 
    }
    arg3 = reinterpret_cast< csPlane3 * >(argp3);
    result = (int)csMath3::OuterPlanes((csBox3 const &)*arg1,(csBox3 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_FindObserverSides) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    int *arg3 = (int *) 0 ;
    int result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath3_FindObserverSides(box1,box2,sides);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMath3_FindObserverSides" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_FindObserverSides" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMath3_FindObserverSides" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_FindObserverSides" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_FindObserverSides" "', argument " "3"" of type '" "int *""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    result = (int)csMath3::FindObserverSides((csBox3 const &)*arg1,(csBox3 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMath3_SpherePosition) {
  {
    float arg1 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csMath3_SpherePosition(angle_xz,angle_vert,pos);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csMath3_SpherePosition" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMath3_SpherePosition" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csMath3_SpherePosition" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMath3_SpherePosition" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    csMath3::SpherePosition(arg1,arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMath3) {
  {
    csMath3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csMath3();");
    }
    result = (csMath3 *)new csMath3();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMath3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csMath3) {
  {
    csMath3 *arg1 = (csMath3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csMath3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMath3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csMath3" "', argument " "1"" of type '" "csMath3 *""'"); 
    }
    arg1 = reinterpret_cast< csMath3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSquaredDist_PointPoint) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSquaredDist_PointPoint(p1,p2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSquaredDist_PointPoint" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointPoint" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSquaredDist_PointPoint" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointPoint" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (float)csSquaredDist::PointPoint((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSquaredDist_PointLine) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSquaredDist_PointLine(p,l1,l2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSquaredDist_PointLine" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointLine" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSquaredDist_PointLine" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointLine" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csSquaredDist_PointLine" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointLine" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csSquaredDist::PointLine((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSquaredDist_PointPlane) {
  {
    csVector3 *arg1 = 0 ;
    csPlane3 *arg2 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSquaredDist_PointPlane(p,plane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSquaredDist_PointPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSquaredDist_PointPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = (float)csSquaredDist::PointPlane((csVector3 const &)*arg1,(csPlane3 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSquaredDist_PointPoly__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    int arg3 ;
    csPlane3 *arg4 = 0 ;
    float arg5 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csSquaredDist_PointPoly(p,V,n,plane,sqdist);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSquaredDist_PointPoly" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointPoly" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSquaredDist_PointPoly" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csSquaredDist_PointPoly" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csSquaredDist_PointPoly" "', argument " "4"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointPoly" "', argument " "4"" of type '" "csPlane3 const &""'"); 
    }
    arg4 = reinterpret_cast< csPlane3 * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csSquaredDist_PointPoly" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (float)csSquaredDist::PointPoly((csVector3 const &)*arg1,arg2,arg3,(csPlane3 const &)*arg4,arg5);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSquaredDist_PointPoly__SWIG_1) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    int arg3 ;
    csPlane3 *arg4 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csSquaredDist_PointPoly(p,V,n,plane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSquaredDist_PointPoly" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointPoly" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSquaredDist_PointPoly" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csSquaredDist_PointPoly" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csSquaredDist_PointPoly" "', argument " "4"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSquaredDist_PointPoly" "', argument " "4"" of type '" "csPlane3 const &""'"); 
    }
    arg4 = reinterpret_cast< csPlane3 * >(argp4);
    result = (float)csSquaredDist::PointPoly((csVector3 const &)*arg1,arg2,arg3,(csPlane3 const &)*arg4);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSquaredDist_PointPoly) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csSquaredDist_PointPoly__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csSquaredDist_PointPoly__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csSquaredDist_PointPoly'");
  XSRETURN(0);
}


XS(_wrap_new_csSquaredDist) {
  {
    csSquaredDist *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSquaredDist();");
    }
    result = (csSquaredDist *)new csSquaredDist();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSquaredDist, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSquaredDist) {
  {
    csSquaredDist *arg1 = (csSquaredDist *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSquaredDist(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSquaredDist, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSquaredDist" "', argument " "1"" of type '" "csSquaredDist *""'"); 
    }
    arg1 = reinterpret_cast< csSquaredDist * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_PlanePolygon) {
  {
    csPlane3 *arg1 = 0 ;
    csPoly3D *arg2 = (csPoly3D *) 0 ;
    csSegment3 *arg3 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_PlanePolygon(plane,poly,segment);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_PlanePolygon" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlanePolygon" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_PlanePolygon" "', argument " "2"" of type '" "csPoly3D *""'"); 
    }
    arg2 = reinterpret_cast< csPoly3D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_PlanePolygon" "', argument " "3"" of type '" "csSegment3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlanePolygon" "', argument " "3"" of type '" "csSegment3 &""'"); 
    }
    arg3 = reinterpret_cast< csSegment3 * >(argp3);
    result = (bool)csIntersect3::PlanePolygon((csPlane3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentFrustum) {
  {
    csPlane3 *arg1 = (csPlane3 *) 0 ;
    int arg2 ;
    csSegment3 *arg3 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_SegmentFrustum(planes,num_planes,seg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentFrustum" "', argument " "1"" of type '" "csPlane3 *""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_SegmentFrustum" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentFrustum" "', argument " "3"" of type '" "csSegment3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentFrustum" "', argument " "3"" of type '" "csSegment3 &""'"); 
    }
    arg3 = reinterpret_cast< csSegment3 * >(argp3);
    result = (int)csIntersect3::SegmentFrustum(arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentTriangle) {
  {
    csSegment3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csIntersect3_SegmentTriangle(seg,tr1,tr2,tr3,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentTriangle" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentTriangle" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentTriangle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentTriangle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentTriangle" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentTriangle" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentTriangle" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentTriangle" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csIntersect3_SegmentTriangle" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentTriangle" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (bool)csIntersect3::SegmentTriangle((csSegment3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentPolygon) {
  {
    csSegment3 *arg1 = 0 ;
    csPoly3D *arg2 = 0 ;
    csPlane3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_SegmentPolygon(seg,poly,poly_plane,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentPolygon" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPolygon" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentPolygon" "', argument " "2"" of type '" "csPoly3D const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPolygon" "', argument " "2"" of type '" "csPoly3D const &""'"); 
    }
    arg2 = reinterpret_cast< csPoly3D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentPolygon" "', argument " "3"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPolygon" "', argument " "3"" of type '" "csPlane3 const &""'"); 
    }
    arg3 = reinterpret_cast< csPlane3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentPolygon" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPolygon" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (bool)csIntersect3::SegmentPolygon((csSegment3 const &)*arg1,(csPoly3D const &)*arg2,(csPlane3 const &)*arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentPlanes) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csPlane3 *arg3 = (csPlane3 *) 0 ;
    int arg4 ;
    csVector3 *arg5 = 0 ;
    float *arg6 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    float temp6 ;
    int res6 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg6 = &temp6;
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csIntersect3_SegmentPlanes(u,v,planes,length,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentPlanes" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlanes" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentPlanes" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlanes" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentPlanes" "', argument " "3"" of type '" "csPlane3 const *""'"); 
    }
    arg3 = reinterpret_cast< csPlane3 * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csIntersect3_SegmentPlanes" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csIntersect3_SegmentPlanes" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlanes" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (bool)csIntersect3::SegmentPlanes((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csPlane3 const *)arg3,arg4,*arg5,*arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentPlane__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    float *arg6 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    float temp6 ;
    int res6 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg6 = &temp6;
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csIntersect3_SegmentPlane(u,v,normal,a,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentPlane" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentPlane" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csIntersect3_SegmentPlane" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (bool)csIntersect3::SegmentPlane((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,*arg5,*arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentPlane__SWIG_1) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csPlane3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float *arg5 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_SegmentPlane(u,v,p,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentPlane" "', argument " "3"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "3"" of type '" "csPlane3 const &""'"); 
    }
    arg3 = reinterpret_cast< csPlane3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (bool)csIntersect3::SegmentPlane((csVector3 const &)*arg1,(csVector3 const &)*arg2,(csPlane3 const &)*arg3,*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentPlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentPlane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentPlane__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_SegmentPlane'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_ThreePlanes) {
  {
    csPlane3 *arg1 = 0 ;
    csPlane3 *arg2 = 0 ;
    csPlane3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_ThreePlanes(p1,p2,p3,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_ThreePlanes" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_ThreePlanes" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_ThreePlanes" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_ThreePlanes" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_ThreePlanes" "', argument " "3"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_ThreePlanes" "', argument " "3"" of type '" "csPlane3 const &""'"); 
    }
    arg3 = reinterpret_cast< csPlane3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_ThreePlanes" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_ThreePlanes" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (bool)csIntersect3::ThreePlanes((csPlane3 const &)*arg1,(csPlane3 const &)*arg2,(csPlane3 const &)*arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_PlaneXPlane) {
  {
    csPlane3 *arg1 = 0 ;
    float arg2 ;
    csPlane2 *arg3 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_PlaneXPlane(p1,x2,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_PlaneXPlane" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlaneXPlane" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_PlaneXPlane" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_PlaneXPlane" "', argument " "3"" of type '" "csPlane2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlaneXPlane" "', argument " "3"" of type '" "csPlane2 &""'"); 
    }
    arg3 = reinterpret_cast< csPlane2 * >(argp3);
    result = (bool)csIntersect3::PlaneXPlane((csPlane3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_PlaneYPlane) {
  {
    csPlane3 *arg1 = 0 ;
    float arg2 ;
    csPlane2 *arg3 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_PlaneYPlane(p1,y2,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_PlaneYPlane" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlaneYPlane" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_PlaneYPlane" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_PlaneYPlane" "', argument " "3"" of type '" "csPlane2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlaneYPlane" "', argument " "3"" of type '" "csPlane2 &""'"); 
    }
    arg3 = reinterpret_cast< csPlane2 * >(argp3);
    result = (bool)csIntersect3::PlaneYPlane((csPlane3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_PlaneZPlane) {
  {
    csPlane3 *arg1 = 0 ;
    float arg2 ;
    csPlane2 *arg3 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_PlaneZPlane(p1,z2,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_PlaneZPlane" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlaneZPlane" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_PlaneZPlane" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_PlaneZPlane" "', argument " "3"" of type '" "csPlane2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlaneZPlane" "', argument " "3"" of type '" "csPlane2 &""'"); 
    }
    arg3 = reinterpret_cast< csPlane2 * >(argp3);
    result = (bool)csIntersect3::PlaneZPlane((csPlane3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_PlaneAxisPlane) {
  {
    csPlane3 *arg1 = 0 ;
    int arg2 ;
    float arg3 ;
    csPlane2 *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_PlaneAxisPlane(p1,nr,pos,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_PlaneAxisPlane" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlaneAxisPlane" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_PlaneAxisPlane" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_PlaneAxisPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csPlane2,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_PlaneAxisPlane" "', argument " "4"" of type '" "csPlane2 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_PlaneAxisPlane" "', argument " "4"" of type '" "csPlane2 &""'"); 
    }
    arg4 = reinterpret_cast< csPlane2 * >(argp4);
    result = (bool)csIntersect3::PlaneAxisPlane((csPlane3 const &)*arg1,arg2,arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentZ0Plane__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_SegmentZ0Plane(v1,v2,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csIntersect3::SegmentZ0Plane((csVector3 const &)*arg1,(csVector3 const &)*arg2,*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentZ0Plane__SWIG_1) {
  {
    csSegment3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersect3_SegmentZ0Plane(uv,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZ0Plane" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (float)csIntersect3::SegmentZ0Plane((csSegment3 const &)*arg1,*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentZ0Plane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentZ0Plane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentZ0Plane__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_SegmentZ0Plane'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_SegmentXPlane__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    csVector3 *arg4 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_SegmentXPlane(u,v,xval,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentXPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentXPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_SegmentXPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentXPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (float)csIntersect3::SegmentXPlane((csVector3 const &)*arg1,(csVector3 const &)*arg2,arg3,*arg4);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentXPlane__SWIG_1) {
  {
    csSegment3 *arg1 = 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_SegmentXPlane(uv,xval,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentXPlane" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXPlane" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_SegmentXPlane" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentXPlane" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXPlane" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csIntersect3::SegmentXPlane((csSegment3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentXPlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentXPlane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentXPlane__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_SegmentXPlane'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_SegmentYPlane__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    csVector3 *arg4 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_SegmentYPlane(u,v,yval,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentYPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentYPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_SegmentYPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentYPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (float)csIntersect3::SegmentYPlane((csVector3 const &)*arg1,(csVector3 const &)*arg2,arg3,*arg4);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentYPlane__SWIG_1) {
  {
    csSegment3 *arg1 = 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_SegmentYPlane(uv,yval,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentYPlane" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYPlane" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_SegmentYPlane" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentYPlane" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYPlane" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csIntersect3::SegmentYPlane((csSegment3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentYPlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentYPlane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentYPlane__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_SegmentYPlane'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_SegmentZPlane__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    csVector3 *arg4 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_SegmentZPlane(u,v,zval,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentZPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentZPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_SegmentZPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentZPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZPlane" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (float)csIntersect3::SegmentZPlane((csVector3 const &)*arg1,(csVector3 const &)*arg2,arg3,*arg4);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentZPlane__SWIG_1) {
  {
    csSegment3 *arg1 = 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_SegmentZPlane(uv,zval,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentZPlane" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZPlane" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_SegmentZPlane" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentZPlane" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentZPlane" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csIntersect3::SegmentZPlane((csSegment3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentZPlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentZPlane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentZPlane__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_SegmentZPlane'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_SegmentAxisPlane) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    int arg3 ;
    float arg4 ;
    csVector3 *arg5 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csIntersect3_SegmentAxisPlane(u,v,nr,pos,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentAxisPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentAxisPlane" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentAxisPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentAxisPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_SegmentAxisPlane" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csIntersect3_SegmentAxisPlane" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csIntersect3_SegmentAxisPlane" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentAxisPlane" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (float)csIntersect3::SegmentAxisPlane((csVector3 const &)*arg1,(csVector3 const &)*arg2,arg3,arg4,*arg5);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentXFrustum__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    csVector3 *arg4 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_SegmentXFrustum(u,v,A,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentXFrustum" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXFrustum" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentXFrustum" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXFrustum" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_SegmentXFrustum" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentXFrustum" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXFrustum" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (float)csIntersect3::SegmentXFrustum((csVector3 const &)*arg1,(csVector3 const &)*arg2,arg3,*arg4);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentXFrustum__SWIG_1) {
  {
    csSegment3 *arg1 = 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_SegmentXFrustum(uv,A,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentXFrustum" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXFrustum" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_SegmentXFrustum" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentXFrustum" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentXFrustum" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csIntersect3::SegmentXFrustum((csSegment3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentXFrustum) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentXFrustum__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentXFrustum__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_SegmentXFrustum'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_SegmentYFrustum__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    csVector3 *arg4 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_SegmentYFrustum(u,v,B,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentYFrustum" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYFrustum" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_SegmentYFrustum" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYFrustum" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_SegmentYFrustum" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_SegmentYFrustum" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYFrustum" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (float)csIntersect3::SegmentYFrustum((csVector3 const &)*arg1,(csVector3 const &)*arg2,arg3,*arg4);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentYFrustum__SWIG_1) {
  {
    csSegment3 *arg1 = 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_SegmentYFrustum(uv,B,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_SegmentYFrustum" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYFrustum" "', argument " "1"" of type '" "csSegment3 const &""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csIntersect3_SegmentYFrustum" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_SegmentYFrustum" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_SegmentYFrustum" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (float)csIntersect3::SegmentYFrustum((csSegment3 const &)*arg1,arg2,*arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_SegmentYFrustum) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSegment3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentYFrustum__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_SegmentYFrustum__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_SegmentYFrustum'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_BoxSegment) {
  {
    csBox3 *arg1 = 0 ;
    csSegment3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    float *arg4 = (float *) 0 ;
    int result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg4 = &temp4;
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_BoxSegment(box,segment,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_BoxSegment" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxSegment" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_BoxSegment" "', argument " "2"" of type '" "csSegment3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxSegment" "', argument " "2"" of type '" "csSegment3 const &""'"); 
    }
    arg2 = reinterpret_cast< csSegment3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_BoxSegment" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxSegment" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (int)csIntersect3::BoxSegment((csBox3 const &)*arg1,(csSegment3 const &)*arg2,*arg3,arg4);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_BoxFrustum__SWIG_0) {
  {
    csBox3 *arg1 = 0 ;
    csPlane3 *arg2 = (csPlane3 *) 0 ;
    uint32 arg3 ;
    uint32 *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_BoxFrustum(box,frustum,inClipMask,outClipMask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_BoxFrustum" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxFrustum" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_BoxFrustum" "', argument " "2"" of type '" "csPlane3 *""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_BoxFrustum" "', argument " "3"" of type '" "uint32""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxFrustum" "', argument " "3"" of type '" "uint32""'");
      } else {
        arg3 = *(reinterpret_cast< uint32 * >(argp3));
      }
    }
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_uint32_t,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_BoxFrustum" "', argument " "4"" of type '" "uint32 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxFrustum" "', argument " "4"" of type '" "uint32 &""'"); 
    }
    arg4 = reinterpret_cast< uint32 * >(argp4);
    result = (bool)csIntersect3::BoxFrustum((csBox3 const &)*arg1,arg2,arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_BoxFrustum__SWIG_1) {
  {
    csBox3 *arg1 = 0 ;
    csFrustum *arg2 = (csFrustum *) 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersect3_BoxFrustum(box,frustum);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_BoxFrustum" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxFrustum" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csFrustum, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_BoxFrustum" "', argument " "2"" of type '" "csFrustum const *""'"); 
    }
    arg2 = reinterpret_cast< csFrustum * >(argp2);
    result = (bool)csIntersect3::BoxFrustum((csBox3 const &)*arg1,(csFrustum const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_BoxFrustum) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csFrustum, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_BoxFrustum__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_BoxFrustum__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_BoxFrustum'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_BoxSphere) {
  {
    csBox3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_BoxSphere(box,center,sqradius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_BoxSphere" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxSphere" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_BoxSphere" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxSphere" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_BoxSphere" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)csIntersect3::BoxSphere((csBox3 const &)*arg1,(csVector3 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_BoxPlane__SWIG_0) {
  {
    csBox3 *arg1 = 0 ;
    csPlane3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersect3_BoxPlane(box,plane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_BoxPlane" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxPlane" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_BoxPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = (bool)csIntersect3::BoxPlane((csBox3 const &)*arg1,(csPlane3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_BoxPlane__SWIG_1) {
  {
    csBox3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_BoxPlane(box,normal,vert);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_BoxPlane" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxPlane" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_BoxPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_BoxPlane" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxPlane" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (bool)csIntersect3::BoxPlane((csBox3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_BoxPlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_BoxPlane__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_BoxPlane__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_BoxPlane'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_BoxTriangle) {
  {
    csBox3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_BoxTriangle(box,tri0,tri1,tri2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_BoxTriangle" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxTriangle" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_BoxTriangle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxTriangle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_BoxTriangle" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxTriangle" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_BoxTriangle" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxTriangle" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (bool)csIntersect3::BoxTriangle((csBox3 const &)*arg1,(csVector3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_BoxBox) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersect3_BoxBox(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_BoxBox" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxBox" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_BoxBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_BoxBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)csIntersect3::BoxBox((csBox3 const &)*arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_FrustumFrustum__SWIG_0) {
  {
    csFrustum *arg1 = 0 ;
    csFrustum *arg2 = 0 ;
    SwigValueWrapper<csPtr<csFrustum > > result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersect3_FrustumFrustum(f1,f2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csFrustum,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_FrustumFrustum" "', argument " "1"" of type '" "csFrustum const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_FrustumFrustum" "', argument " "1"" of type '" "csFrustum const &""'"); 
    }
    arg1 = reinterpret_cast< csFrustum * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csFrustum,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_FrustumFrustum" "', argument " "2"" of type '" "csFrustum const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_FrustumFrustum" "', argument " "2"" of type '" "csFrustum const &""'"); 
    }
    arg2 = reinterpret_cast< csFrustum * >(argp2);
    result = csIntersect3::FrustumFrustum((csFrustum const &)*arg1,(csFrustum const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<csFrustum >(static_cast< const csPtr<csFrustum >& >(result))), SWIGTYPE_p_csPtrTcsFrustum_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_FrustumFrustum__SWIG_1) {
  {
    csFrustum *arg1 = 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<csFrustum > > result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csIntersect3_FrustumFrustum(f1,poly,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csFrustum,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_FrustumFrustum" "', argument " "1"" of type '" "csFrustum const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_FrustumFrustum" "', argument " "1"" of type '" "csFrustum const &""'"); 
    }
    arg1 = reinterpret_cast< csFrustum * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_FrustumFrustum" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csIntersect3_FrustumFrustum" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = csIntersect3::FrustumFrustum((csFrustum const &)*arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<csFrustum >(static_cast< const csPtr<csFrustum >& >(result))), SWIGTYPE_p_csPtrTcsFrustum_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_FrustumFrustum) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csFrustum, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csFrustum, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csFrustum, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_FrustumFrustum__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_FrustumFrustum__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_FrustumFrustum'");
  XSRETURN(0);
}


XS(_wrap_csIntersect3_TriangleTriangle__SWIG_0) {
  {
    csVector3 *arg1 ;
    csVector3 *arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersect3_TriangleTriangle(tri1,tri2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_TriangleTriangle" "', argument " "1"" of type '" "csVector3 const [3]""'"); 
    } 
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_TriangleTriangle" "', argument " "2"" of type '" "csVector3 const [3]""'"); 
    } 
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)csIntersect3::TriangleTriangle((csVector3 const (*))arg1,(csVector3 const (*))arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_TriangleTriangle__SWIG_1) {
  {
    csVector3 *arg1 ;
    csVector3 *arg2 ;
    csSegment3 *arg3 = 0 ;
    bool *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csIntersect3_TriangleTriangle(tri1,tri2,isectline,coplanar);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersect3_TriangleTriangle" "', argument " "1"" of type '" "csVector3 const [3]""'"); 
    } 
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersect3_TriangleTriangle" "', argument " "2"" of type '" "csVector3 const [3]""'"); 
    } 
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csIntersect3_TriangleTriangle" "', argument " "3"" of type '" "csSegment3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_TriangleTriangle" "', argument " "3"" of type '" "csSegment3 &""'"); 
    }
    arg3 = reinterpret_cast< csSegment3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csIntersect3_TriangleTriangle" "', argument " "4"" of type '" "bool &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csIntersect3_TriangleTriangle" "', argument " "4"" of type '" "bool &""'"); 
    }
    arg4 = reinterpret_cast< bool * >(argp4);
    result = (bool)csIntersect3::TriangleTriangle((csVector3 const (*))arg1,(csVector3 const (*))arg2,*arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersect3_TriangleTriangle) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csSegment3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_bool, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_TriangleTriangle__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csIntersect3_TriangleTriangle__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csIntersect3_TriangleTriangle'");
  XSRETURN(0);
}


XS(_wrap_new_csIntersect3) {
  {
    csIntersect3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csIntersect3();");
    }
    result = (csIntersect3 *)new csIntersect3();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csIntersect3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csIntersect3) {
  {
    csIntersect3 *arg1 = (csIntersect3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csIntersect3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersect3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csIntersect3" "', argument " "1"" of type '" "csIntersect3 *""'"); 
    }
    arg1 = reinterpret_cast< csIntersect3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csGeomDebugHelper) {
  {
    csGeomDebugHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csGeomDebugHelper();");
    }
    result = (csGeomDebugHelper *)new csGeomDebugHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csGeomDebugHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csGeomDebugHelper) {
  {
    csGeomDebugHelper *arg1 = (csGeomDebugHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csGeomDebugHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGeomDebugHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csGeomDebugHelper" "', argument " "1"" of type '" "csGeomDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< csGeomDebugHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGeomDebugHelper_GetSupportedTests) {
  {
    csGeomDebugHelper *arg1 = (csGeomDebugHelper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGeomDebugHelper_GetSupportedTests(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGeomDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGeomDebugHelper_GetSupportedTests" "', argument " "1"" of type '" "csGeomDebugHelper const *""'"); 
    }
    arg1 = reinterpret_cast< csGeomDebugHelper * >(argp1);
    result = (int)((csGeomDebugHelper const *)arg1)->GetSupportedTests();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGeomDebugHelper_UnitTest) {
  {
    csGeomDebugHelper *arg1 = (csGeomDebugHelper *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGeomDebugHelper_UnitTest(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGeomDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGeomDebugHelper_UnitTest" "', argument " "1"" of type '" "csGeomDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< csGeomDebugHelper * >(argp1);
    result = (arg1)->UnitTest();
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGeomDebugHelper_StateTest) {
  {
    csGeomDebugHelper *arg1 = (csGeomDebugHelper *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGeomDebugHelper_StateTest(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGeomDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGeomDebugHelper_StateTest" "', argument " "1"" of type '" "csGeomDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< csGeomDebugHelper * >(argp1);
    result = (arg1)->StateTest();
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGeomDebugHelper_Benchmark) {
  {
    csGeomDebugHelper *arg1 = (csGeomDebugHelper *) 0 ;
    int arg2 ;
    csTicks result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGeomDebugHelper_Benchmark(self,int);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGeomDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGeomDebugHelper_Benchmark" "', argument " "1"" of type '" "csGeomDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< csGeomDebugHelper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGeomDebugHelper_Benchmark" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csTicks)(arg1)->Benchmark(arg2);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGeomDebugHelper_Dump__SWIG_0) {
  {
    csGeomDebugHelper *arg1 = (csGeomDebugHelper *) 0 ;
    SwigValueWrapper<csPtr<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGeomDebugHelper_Dump(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGeomDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGeomDebugHelper_Dump" "', argument " "1"" of type '" "csGeomDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< csGeomDebugHelper * >(argp1);
    result = (arg1)->Dump();
    {
      csRef<iString> rf ((csPtr<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGeomDebugHelper_Dump__SWIG_1) {
  {
    csGeomDebugHelper *arg1 = (csGeomDebugHelper *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGeomDebugHelper_Dump(self,iGraphics3D *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGeomDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGeomDebugHelper_Dump" "', argument " "1"" of type '" "csGeomDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< csGeomDebugHelper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csGeomDebugHelper_Dump" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    (arg1)->Dump(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGeomDebugHelper_Dump) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csGeomDebugHelper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csGeomDebugHelper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csGeomDebugHelper_Dump__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csGeomDebugHelper_Dump__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csGeomDebugHelper_Dump'");
  XSRETURN(0);
}


XS(_wrap_csGeomDebugHelper_DebugCommand) {
  {
    csGeomDebugHelper *arg1 = (csGeomDebugHelper *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGeomDebugHelper_DebugCommand(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGeomDebugHelper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGeomDebugHelper_DebugCommand" "', argument " "1"" of type '" "csGeomDebugHelper *""'"); 
    }
    arg1 = reinterpret_cast< csGeomDebugHelper * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csGeomDebugHelper_DebugCommand" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->DebugCommand((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly3D__SWIG_0) {
  {
    size_t arg1 ;
    csPoly3D *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPoly3D(start_size);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPoly3D" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csPoly3D *)new csPoly3D(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly3D, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly3D__SWIG_1) {
  {
    csPoly3D *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPoly3D();");
    }
    result = (csPoly3D *)new csPoly3D();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly3D, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly3D__SWIG_2) {
  {
    csPoly3D *arg1 = 0 ;
    csPoly3D *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPoly3D(copy);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPoly3D" "', argument " "1"" of type '" "csPoly3D const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPoly3D" "', argument " "1"" of type '" "csPoly3D const &""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = (csPoly3D *)new csPoly3D((csPoly3D const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPoly3D, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPoly3D) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPoly3D__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPoly3D__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPoly3D__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csPoly3D'");
  XSRETURN(0);
}


XS(_wrap_delete_csPoly3D) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPoly3D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPoly3D" "', argument " "1"" of type '" "csPoly3D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_MakeEmpty) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_MakeEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_MakeEmpty" "', argument " "1"" of type '" "csPoly3D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    (arg1)->MakeEmpty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_GetVertexCount) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_GetVertexCount" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = ((csPoly3D const *)arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_GetVertices) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_GetVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_GetVertices" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = (csVector3 *)((csPoly3D const *)arg1)->GetVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_GetVertex) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    size_t arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_GetVertex(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_GetVertex" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_GetVertex" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (csVector3 *)((csPoly3D const *)arg1)->GetVertex(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_GetFirst) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_GetFirst(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_GetFirst" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = (csVector3 *)((csPoly3D const *)arg1)->GetFirst();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_GetLast) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_GetLast(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_GetLast" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = (csVector3 *)((csPoly3D const *)arg1)->GetLast();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_In__SWIG_0) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_In(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_In" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_In" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_In" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)((csPoly3D const *)arg1)->In((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_In__SWIG_1) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    size_t arg2 ;
    csVector3 *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly3D_In(poly,num_poly,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_In" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_In" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly3D_In" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_In" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (bool)csPoly3D::In(arg1,arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_In) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_In__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_In__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csPoly3D_In'");
  XSRETURN(0);
}


XS(_wrap_csPoly3D_MakeRoom) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_MakeRoom(self,new_max);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_MakeRoom" "', argument " "1"" of type '" "csPoly3D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_MakeRoom" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->MakeRoom(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_SetVertexCount) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_SetVertexCount(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_SetVertexCount" "', argument " "1"" of type '" "csPoly3D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_SetVertexCount" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->SetVertexCount(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_AddVertex__SWIG_0) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_AddVertex(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_AddVertex" "', argument " "1"" of type '" "csPoly3D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_AddVertex" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_AddVertex" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (arg1)->AddVertex((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_AddVertex__SWIG_1) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly3D_AddVertex(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_AddVertex" "', argument " "1"" of type '" "csPoly3D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_AddVertex" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_AddVertex" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPoly3D_AddVertex" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (arg1)->AddVertex(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_AddVertex) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_AddVertex__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_AddVertex__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csPoly3D_AddVertex'");
  XSRETURN(0);
}


XS(_wrap_csPoly3D_SetVertices) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    size_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly3D_SetVertices(self,v,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_SetVertices" "', argument " "1"" of type '" "csPoly3D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_SetVertices" "', argument " "2"" of type '" "csVector3 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_SetVertices" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    (arg1)->SetVertices((csVector3 const *)arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ProjectXPlane) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    csPoly2D *arg4 = (csPoly2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly3D_ProjectXPlane(self,point,plane_x,poly2d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ProjectXPlane" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_ProjectXPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_ProjectXPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_ProjectXPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPoly3D_ProjectXPlane" "', argument " "4"" of type '" "csPoly2D *""'"); 
    }
    arg4 = reinterpret_cast< csPoly2D * >(argp4);
    result = (bool)((csPoly3D const *)arg1)->ProjectXPlane((csVector3 const &)*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ProjectYPlane) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    csPoly2D *arg4 = (csPoly2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly3D_ProjectYPlane(self,point,plane_y,poly2d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ProjectYPlane" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_ProjectYPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_ProjectYPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_ProjectYPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPoly3D_ProjectYPlane" "', argument " "4"" of type '" "csPoly2D *""'"); 
    }
    arg4 = reinterpret_cast< csPoly2D * >(argp4);
    result = (bool)((csPoly3D const *)arg1)->ProjectYPlane((csVector3 const &)*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ProjectZPlane) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    csPoly2D *arg4 = (csPoly2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly3D_ProjectZPlane(self,point,plane_z,poly2d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ProjectZPlane" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_ProjectZPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_ProjectZPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_ProjectZPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPoly3D_ProjectZPlane" "', argument " "4"" of type '" "csPoly2D *""'"); 
    }
    arg4 = reinterpret_cast< csPoly2D * >(argp4);
    result = (bool)((csPoly3D const *)arg1)->ProjectZPlane((csVector3 const &)*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ProjectAxisPlane) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 *arg2 = 0 ;
    int arg3 ;
    float arg4 ;
    csPoly2D *arg5 = (csPoly2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csPoly3D_ProjectAxisPlane(self,point,plane_nr,plane_pos,poly2d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ProjectAxisPlane" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_ProjectAxisPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_ProjectAxisPlane" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_ProjectAxisPlane" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPoly3D_ProjectAxisPlane" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_csPoly2D, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csPoly3D_ProjectAxisPlane" "', argument " "5"" of type '" "csPoly2D *""'"); 
    }
    arg5 = reinterpret_cast< csPoly2D * >(argp5);
    result = (bool)((csPoly3D const *)arg1)->ProjectAxisPlane((csVector3 const &)*arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_Classify__SWIG_0) {
  {
    csPlane3 *arg1 = 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    size_t arg3 ;
    int result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly3D_Classify(pl,vertices,num_vertices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_Classify" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_Classify" "', argument " "1"" of type '" "csPlane3 const &""'"); 
    }
    arg1 = reinterpret_cast< csPlane3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_Classify" "', argument " "2"" of type '" "csVector3 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_Classify" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (int)csPoly3D::Classify((csPlane3 const &)*arg1,(csVector3 const *)arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_Classify__SWIG_1) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csPlane3 *arg2 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_Classify(self,pl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_Classify" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_Classify" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_Classify" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = (int)((csPoly3D const *)arg1)->Classify((csPlane3 const &)*arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_Classify) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_Classify__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_Classify__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csPoly3D_Classify'");
  XSRETURN(0);
}


XS(_wrap_csPoly3D_ClassifyX) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    float arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_ClassifyX(self,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ClassifyX" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_ClassifyX" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (int)((csPoly3D const *)arg1)->ClassifyX(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ClassifyY) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    float arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_ClassifyY(self,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ClassifyY" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_ClassifyY" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (int)((csPoly3D const *)arg1)->ClassifyY(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ClassifyZ) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    float arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_ClassifyZ(self,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ClassifyZ" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_ClassifyZ" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (int)((csPoly3D const *)arg1)->ClassifyZ(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ClassifyAxis) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    int arg2 ;
    float arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly3D_ClassifyAxis(self,axis,where);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ClassifyAxis" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_ClassifyAxis" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_ClassifyAxis" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (int)((csPoly3D const *)arg1)->ClassifyAxis(arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_IsAxisAligned__SWIG_0) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    float *arg2 = 0 ;
    float arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly3D_IsAxisAligned(self,where,epsilon);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_IsAxisAligned" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_IsAxisAligned" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_IsAxisAligned" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPoly3D_IsAxisAligned" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (int)((csPoly3D const *)arg1)->IsAxisAligned(*arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_IsAxisAligned__SWIG_1) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    float *arg2 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_IsAxisAligned(self,where);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_IsAxisAligned" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_IsAxisAligned" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_IsAxisAligned" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    result = (int)((csPoly3D const *)arg1)->IsAxisAligned(*arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_IsAxisAligned) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_IsAxisAligned__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_IsAxisAligned__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csPoly3D_IsAxisAligned'");
  XSRETURN(0);
}


XS(_wrap_csPoly3D_ComputeMainNormalAxis) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_ComputeMainNormalAxis(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputeMainNormalAxis" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = (int)((csPoly3D const *)arg1)->ComputeMainNormalAxis();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_CutToPlane) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csPlane3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_CutToPlane(self,split_plane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_CutToPlane" "', argument " "1"" of type '" "csPoly3D *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_CutToPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_CutToPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    (arg1)->CutToPlane((csPlane3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_SplitWithPlane) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csPoly3D *arg2 = 0 ;
    csPoly3D *arg3 = 0 ;
    csPlane3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly3D_SplitWithPlane(self,front,back,split_plane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_SplitWithPlane" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_SplitWithPlane" "', argument " "2"" of type '" "csPoly3D &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlane" "', argument " "2"" of type '" "csPoly3D &""'"); 
    }
    arg2 = reinterpret_cast< csPoly3D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly3D_SplitWithPlane" "', argument " "3"" of type '" "csPoly3D &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlane" "', argument " "3"" of type '" "csPoly3D &""'"); 
    }
    arg3 = reinterpret_cast< csPoly3D * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csPoly3D_SplitWithPlane" "', argument " "4"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlane" "', argument " "4"" of type '" "csPlane3 const &""'"); 
    }
    arg4 = reinterpret_cast< csPlane3 * >(argp4);
    ((csPoly3D const *)arg1)->SplitWithPlane(*arg2,*arg3,(csPlane3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_SplitWithPlaneX) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csPoly3D *arg2 = 0 ;
    csPoly3D *arg3 = 0 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly3D_SplitWithPlaneX(self,front,back,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_SplitWithPlaneX" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_SplitWithPlaneX" "', argument " "2"" of type '" "csPoly3D &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlaneX" "', argument " "2"" of type '" "csPoly3D &""'"); 
    }
    arg2 = reinterpret_cast< csPoly3D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly3D_SplitWithPlaneX" "', argument " "3"" of type '" "csPoly3D &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlaneX" "', argument " "3"" of type '" "csPoly3D &""'"); 
    }
    arg3 = reinterpret_cast< csPoly3D * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPoly3D_SplitWithPlaneX" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ((csPoly3D const *)arg1)->SplitWithPlaneX(*arg2,*arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_SplitWithPlaneY) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csPoly3D *arg2 = 0 ;
    csPoly3D *arg3 = 0 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly3D_SplitWithPlaneY(self,front,back,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_SplitWithPlaneY" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_SplitWithPlaneY" "', argument " "2"" of type '" "csPoly3D &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlaneY" "', argument " "2"" of type '" "csPoly3D &""'"); 
    }
    arg2 = reinterpret_cast< csPoly3D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly3D_SplitWithPlaneY" "', argument " "3"" of type '" "csPoly3D &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlaneY" "', argument " "3"" of type '" "csPoly3D &""'"); 
    }
    arg3 = reinterpret_cast< csPoly3D * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPoly3D_SplitWithPlaneY" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ((csPoly3D const *)arg1)->SplitWithPlaneY(*arg2,*arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_SplitWithPlaneZ) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csPoly3D *arg2 = 0 ;
    csPoly3D *arg3 = 0 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPoly3D_SplitWithPlaneZ(self,front,back,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_SplitWithPlaneZ" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPoly3D_SplitWithPlaneZ" "', argument " "2"" of type '" "csPoly3D &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlaneZ" "', argument " "2"" of type '" "csPoly3D &""'"); 
    }
    arg2 = reinterpret_cast< csPoly3D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPoly3D,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly3D_SplitWithPlaneZ" "', argument " "3"" of type '" "csPoly3D &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_SplitWithPlaneZ" "', argument " "3"" of type '" "csPoly3D &""'"); 
    }
    arg3 = reinterpret_cast< csPoly3D * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPoly3D_SplitWithPlaneZ" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ((csPoly3D const *)arg1)->SplitWithPlaneZ(*arg2,*arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputeNormal__SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    size_t arg2 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_ComputeNormal(vertices,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputeNormal" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_ComputeNormal" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = csPoly3D::ComputeNormal((csVector3 const *)arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputeNormal__SWIG_1) {
  {
    csArray<csVector3 > *arg1 = 0 ;
    csVector3 result;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_ComputeNormal(poly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputeNormal" "', argument " "1"" of type '" "csArray<csVector3 > const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_ComputeNormal" "', argument " "1"" of type '" "csArray<csVector3 > const &""'"); 
    }
    arg1 = reinterpret_cast< csArray<csVector3 > * >(argp1);
    result = csPoly3D::ComputeNormal((csArray<csVector3 > const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputeNormal__SWIG_2) {
  {
    int *arg1 = (int *) 0 ;
    size_t arg2 ;
    csVector3 *arg3 = (csVector3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly3D_ComputeNormal(poly,num,vertices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputeNormal" "', argument " "1"" of type '" "int *""'"); 
    }
    arg1 = reinterpret_cast< int * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_ComputeNormal" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly3D_ComputeNormal" "', argument " "3"" of type '" "csVector3 *""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = csPoly3D::ComputeNormal(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputeNormal__SWIG_3) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_ComputeNormal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputeNormal" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = ((csPoly3D const *)arg1)->ComputeNormal();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputeNormal) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_ComputeNormal__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_ComputeNormal__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_ComputeNormal__SWIG_0); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_ComputeNormal__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csPoly3D_ComputeNormal'");
  XSRETURN(0);
}


XS(_wrap_csPoly3D_ComputePlane__SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    size_t arg2 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPoly3D_ComputePlane(vertices,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputePlane" "', argument " "1"" of type '" "csVector3 const *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_ComputePlane" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = csPoly3D::ComputePlane((csVector3 const *)arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputePlane__SWIG_1) {
  {
    csArray<csVector3 > *arg1 = 0 ;
    csPlane3 result;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_ComputePlane(poly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputePlane" "', argument " "1"" of type '" "csArray<csVector3 > const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPoly3D_ComputePlane" "', argument " "1"" of type '" "csArray<csVector3 > const &""'"); 
    }
    arg1 = reinterpret_cast< csArray<csVector3 > * >(argp1);
    result = csPoly3D::ComputePlane((csArray<csVector3 > const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputePlane__SWIG_2) {
  {
    int *arg1 = (int *) 0 ;
    size_t arg2 ;
    csVector3 *arg3 = (csVector3 *) 0 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPoly3D_ComputePlane(poly,num,vertices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputePlane" "', argument " "1"" of type '" "int *""'"); 
    }
    arg1 = reinterpret_cast< int * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPoly3D_ComputePlane" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPoly3D_ComputePlane" "', argument " "3"" of type '" "csVector3 *""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = csPoly3D::ComputePlane(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputePlane__SWIG_3) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csPlane3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_ComputePlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_ComputePlane" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = ((csPoly3D const *)arg1)->ComputePlane();
    ST(argvi) = SWIG_NewPointerObj((new csPlane3(static_cast< const csPlane3& >(result))), SWIGTYPE_p_csPlane3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_ComputePlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPoly3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_ComputePlane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_ComputePlane__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_ComputePlane__SWIG_0); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPoly3D_ComputePlane__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csPoly3D_ComputePlane'");
  XSRETURN(0);
}


XS(_wrap_csPoly3D_GetArea) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_GetArea(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_GetArea" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = (float)((csPoly3D const *)arg1)->GetArea();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPoly3D_GetCenter) {
  {
    csPoly3D *arg1 = (csPoly3D *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPoly3D_GetCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPoly3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPoly3D_GetCenter" "', argument " "1"" of type '" "csPoly3D const *""'"); 
    }
    arg1 = reinterpret_cast< csPoly3D * >(argp1);
    result = ((csPoly3D const *)arg1)->GetCenter();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_orig_idx_set) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCompressVertex_orig_idx_set(self,orig_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_orig_idx_set" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCompressVertex_orig_idx_set" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    if (arg1) (arg1)->orig_idx = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_orig_idx_get) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCompressVertex_orig_idx_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_orig_idx_get" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    result =  ((arg1)->orig_idx);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_x_set) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCompressVertex_x_set(self,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_x_set" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCompressVertex_x_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->x = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_x_get) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCompressVertex_x_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_x_get" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    result = (int) ((arg1)->x);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_y_set) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCompressVertex_y_set(self,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_y_set" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCompressVertex_y_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->y = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_y_get) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCompressVertex_y_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_y_get" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    result = (int) ((arg1)->y);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_z_set) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCompressVertex_z_set(self,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_z_set" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCompressVertex_z_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->z = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_z_get) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCompressVertex_z_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_z_get" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    result = (int) ((arg1)->z);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_new_idx_set) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCompressVertex_new_idx_set(self,new_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_new_idx_set" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCompressVertex_new_idx_set" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    if (arg1) (arg1)->new_idx = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_new_idx_get) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCompressVertex_new_idx_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_new_idx_get" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    result =  ((arg1)->new_idx);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_used_set) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCompressVertex_used_set(self,used);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_used_set" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCompressVertex_used_set" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    if (arg1) (arg1)->used = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCompressVertex_used_get) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCompressVertex_used_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCompressVertex_used_get" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    result = (bool) ((arg1)->used);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCompressVertex) {
  {
    csCompressVertex *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csCompressVertex();");
    }
    result = (csCompressVertex *)new csCompressVertex();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCompressVertex, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csCompressVertex) {
  {
    csCompressVertex *arg1 = (csCompressVertex *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csCompressVertex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCompressVertex, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csCompressVertex" "', argument " "1"" of type '" "csCompressVertex *""'"); 
    }
    arg1 = reinterpret_cast< csCompressVertex * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3Array__SWIG_0) {
  {
    size_t arg1 ;
    csVector3Array *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csVector3Array(start_size);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csVector3Array" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csVector3Array *)new csVector3Array(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3Array, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3Array__SWIG_1) {
  {
    csVector3Array *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csVector3Array();");
    }
    result = (csVector3Array *)new csVector3Array();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3Array, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVector3Array) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector3Array__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csVector3Array__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csVector3Array'");
  XSRETURN(0);
}


XS(_wrap_csVector3Array_AddVertexSmart__SWIG_0) {
  {
    csVector3Array *arg1 = (csVector3Array *) 0 ;
    csVector3 *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVector3Array_AddVertexSmart(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3Array, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3Array_AddVertexSmart" "', argument " "1"" of type '" "csVector3Array *""'"); 
    }
    arg1 = reinterpret_cast< csVector3Array * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csVector3Array_AddVertexSmart" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3Array_AddVertexSmart" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (arg1)->AddVertexSmart((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3Array_AddVertexSmart__SWIG_1) {
  {
    csVector3Array *arg1 = (csVector3Array *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csVector3Array_AddVertexSmart(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3Array, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3Array_AddVertexSmart" "', argument " "1"" of type '" "csVector3Array *""'"); 
    }
    arg1 = reinterpret_cast< csVector3Array * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3Array_AddVertexSmart" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csVector3Array_AddVertexSmart" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csVector3Array_AddVertexSmart" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (arg1)->AddVertexSmart(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3Array_AddVertexSmart) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3Array, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3Array, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3Array_AddVertexSmart__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3Array_AddVertexSmart__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3Array_AddVertexSmart'");
  XSRETURN(0);
}


XS(_wrap_csVector3Array_CompressVertices__SWIG_0) {
  {
    csVector3 *arg1 = (csVector3 *) 0 ;
    size_t arg2 ;
    csVector3 **arg3 = 0 ;
    size_t *arg4 = 0 ;
    csCompressVertex *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csVector3Array_CompressVertices(vertices,num_vertices,new_vertices,new_count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3Array_CompressVertices" "', argument " "1"" of type '" "csVector3 *""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVector3Array_CompressVertices" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csVector3Array_CompressVertices" "', argument " "3"" of type '" "csVector3 *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3Array_CompressVertices" "', argument " "3"" of type '" "csVector3 *&""'"); 
    }
    arg3 = reinterpret_cast< csVector3 ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csVector3Array_CompressVertices" "', argument " "4"" of type '" "size_t &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3Array_CompressVertices" "', argument " "4"" of type '" "size_t &""'"); 
    }
    arg4 = reinterpret_cast< size_t * >(argp4);
    result = (csCompressVertex *)csVector3Array::CompressVertices(arg1,arg2,*arg3,*arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCompressVertex, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3Array_CompressVertices__SWIG_1) {
  {
    csArray<csVector3 > *arg1 = 0 ;
    csCompressVertex *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVector3Array_CompressVertices(vertices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVector3Array_CompressVertices" "', argument " "1"" of type '" "csArray<csVector3 > &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csVector3Array_CompressVertices" "', argument " "1"" of type '" "csArray<csVector3 > &""'"); 
    }
    arg1 = reinterpret_cast< csArray<csVector3 > * >(argp1);
    result = (csCompressVertex *)csVector3Array::CompressVertices(*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCompressVertex, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVector3Array_CompressVertices) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_size_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3Array_CompressVertices__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csVector3Array_CompressVertices__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csVector3Array_CompressVertices'");
  XSRETURN(0);
}


XS(_wrap_delete_csVector3Array) {
  {
    csVector3Array *arg1 = (csVector3Array *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csVector3Array(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVector3Array, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csVector3Array" "', argument " "1"" of type '" "csVector3Array *""'"); 
    }
    arg1 = reinterpret_cast< csVector3Array * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTriangle__SWIG_0) {
  {
    csTriangle *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csTriangle();");
    }
    result = (csTriangle *)new csTriangle();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTriangle, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTriangle__SWIG_1) {
  {
    int arg1 ;
    int arg2 ;
    int arg3 ;
    csTriangle *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csTriangle(_a,_b,_c);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csTriangle" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csTriangle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csTriangle" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (csTriangle *)new csTriangle(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTriangle, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTriangle__SWIG_2) {
  {
    CS::TriangleT<int > *arg1 = 0 ;
    csTriangle *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csTriangle(t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_CS__TriangleTTint_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csTriangle" "', argument " "1"" of type '" "CS::TriangleT<int > const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csTriangle" "', argument " "1"" of type '" "CS::TriangleT<int > const &""'"); 
    }
    arg1 = reinterpret_cast< CS::TriangleT<int > * >(argp1);
    result = (csTriangle *)new csTriangle((CS::TriangleT<int > const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTriangle, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTriangle) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_CS__TriangleTTint_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csTriangle__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csTriangle__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csTriangle__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csTriangle'");
  XSRETURN(0);
}


XS(_wrap_delete_csTriangle) {
  {
    csTriangle *arg1 = (csTriangle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csTriangle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTriangle, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csTriangle" "', argument " "1"" of type '" "csTriangle *""'"); 
    }
    arg1 = reinterpret_cast< csTriangle * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_xmin_set) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_xmin_set(self,xmin);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_xmin_set" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_xmin_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->xmin = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_xmin_get) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_xmin_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_xmin_get" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (int) ((arg1)->xmin);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_ymin_set) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_ymin_set(self,ymin);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_ymin_set" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_ymin_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->ymin = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_ymin_get) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_ymin_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_ymin_get" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (int) ((arg1)->ymin);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_xmax_set) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_xmax_set(self,xmax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_xmax_set" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_xmax_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->xmax = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_xmax_get) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_xmax_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_xmax_get" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (int) ((arg1)->xmax);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_ymax_set) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_ymax_set(self,ymax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_ymax_set" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_ymax_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->ymax = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_ymax_get) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_ymax_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_ymax_get" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (int) ((arg1)->ymax);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRect__SWIG_0) {
  {
    csRect *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csRect();");
    }
    result = (csRect *)new csRect();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRect, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRect__SWIG_1) {
  {
    int arg1 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    csRect *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csRect(ixmin,iymin,ixmax,iymax);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csRect" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csRect" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csRect" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csRect" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (csRect *)new csRect(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRect, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRect__SWIG_2) {
  {
    csRect *arg1 = 0 ;
    csRect *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csRect(copy);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csRect" "', argument " "1"" of type '" "csRect const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csRect" "', argument " "1"" of type '" "csRect const &""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (csRect *)new csRect((csRect const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRect, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRect) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRect__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRect__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRect__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csRect'");
  XSRETURN(0);
}


XS(_wrap_delete_csRect) {
  {
    csRect *arg1 = (csRect *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csRect(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csRect" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Intersect__SWIG_0) {
  {
    csRect *arg1 = (csRect *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRect_Intersect(self,ixmin,iymin,ixmax,iymax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Intersect" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Intersect" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_Intersect" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csRect_Intersect" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csRect_Intersect" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->Intersect(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Intersect__SWIG_1) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Intersect(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Intersect" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_Intersect" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_Intersect" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Intersect((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Intersect) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Intersect__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Intersect__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csRect_Intersect'");
  XSRETURN(0);
}


XS(_wrap_csRect_Intersects) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Intersects(self,target);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Intersects" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_Intersects" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_Intersects" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    result = (bool)((csRect const *)arg1)->Intersects((csRect const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Union__SWIG_0) {
  {
    csRect *arg1 = (csRect *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRect_Union(self,ixmin,iymin,ixmax,iymax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Union" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Union" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_Union" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csRect_Union" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csRect_Union" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->Union(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Union__SWIG_1) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Union(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Union" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_Union" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_Union" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Union((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Union) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Union__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Union__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csRect_Union'");
  XSRETURN(0);
}


XS(_wrap_csRect_Exclude__SWIG_0) {
  {
    csRect *arg1 = (csRect *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRect_Exclude(self,ixmin,iymin,ixmax,iymax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Exclude" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Exclude" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_Exclude" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csRect_Exclude" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csRect_Exclude" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->Exclude(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Exclude__SWIG_1) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Exclude(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Exclude" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_Exclude" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_Exclude" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Exclude((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Exclude) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Exclude__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Exclude__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csRect_Exclude'");
  XSRETURN(0);
}


XS(_wrap_csRect_Subtract) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Subtract(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Subtract" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_Subtract" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_Subtract" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Subtract((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_IsEmpty) {
  {
    csRect *arg1 = (csRect *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_IsEmpty" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (bool)((csRect const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_MakeEmpty) {
  {
    csRect *arg1 = (csRect *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_MakeEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_MakeEmpty" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    (arg1)->MakeEmpty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Set__SWIG_0) {
  {
    csRect *arg1 = (csRect *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRect_Set(self,ixmin,iymin,ixmax,iymax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Set" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_Set" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csRect_Set" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csRect_Set" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->Set(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Set__SWIG_1) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Set(self,target);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Set" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_Set" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_Set" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Set((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Set__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Set__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csRect_Set'");
  XSRETURN(0);
}


XS(_wrap_csRect_SetPos) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csRect_SetPos(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_SetPos" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_SetPos" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_SetPos" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetPos(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_SetSize) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csRect_SetSize(self,w,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_SetSize" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_SetSize" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_SetSize" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetSize(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Move) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csRect_Move(self,dX,dY);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Move" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Move" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_Move" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->Move(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Width) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_Width(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Width" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (int)((csRect const *)arg1)->Width();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Height) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_Height(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Height" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (int)((csRect const *)arg1)->Height();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Contains) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csRect_Contains(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Contains" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Contains" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_Contains" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)((csRect const *)arg1)->Contains(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_ContainsRel) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csRect_ContainsRel(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_ContainsRel" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_ContainsRel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_ContainsRel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)((csRect const *)arg1)->ContainsRel(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Equal__SWIG_0) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    bool result;
    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 argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRect_Equal(self,ixmin,iymin,ixmax,iymax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Equal" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Equal" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_Equal" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csRect_Equal" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csRect_Equal" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (bool)((csRect const *)arg1)->Equal(arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Equal__SWIG_1) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Equal(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Equal" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_Equal" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_Equal" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    result = (bool)((csRect const *)arg1)->Equal((csRect const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Equal) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Equal__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRect_Equal__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csRect_Equal'");
  XSRETURN(0);
}


XS(_wrap_csRect_Normalize) {
  {
    csRect *arg1 = (csRect *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_Normalize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Normalize" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    (arg1)->Normalize();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Area) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRect_Area(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Area" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (int)((csRect const *)arg1)->Area();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_AddAdjacent) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_AddAdjacent(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_AddAdjacent" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_AddAdjacent" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_AddAdjacent" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->AddAdjacent((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect___eq__) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect___eq__(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect___eq__" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect___eq__" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect___eq__" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    result = (bool)((csRect const *)arg1)->operator ==((csRect const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect___ne__) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect___ne__(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect___ne__" "', argument " "1"" of type '" "csRect const *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect___ne__" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect___ne__" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    result = (bool)((csRect const *)arg1)->operator !=((csRect const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Extend) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csRect_Extend(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Extend" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Extend" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRect_Extend" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->Extend(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Join) {
  {
    csRect *arg1 = (csRect *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Join(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Join" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_Join" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_Join" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Join((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Outset) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Outset(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Outset" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Outset" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->Outset(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_Inset) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRect_Inset(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_Inset" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRect_Inset" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->Inset(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_ClipLineGeneral) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *arg5 = 0 ;
    bool result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRect_ClipLineGeneral(self,x1,y1,x2,y2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_ClipLineGeneral" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_ClipLineGeneral" "', argument " "2"" of type '" "int &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLineGeneral" "', argument " "2"" of type '" "int &""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csRect_ClipLineGeneral" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLineGeneral" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csRect_ClipLineGeneral" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLineGeneral" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csRect_ClipLineGeneral" "', argument " "5"" of type '" "int &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLineGeneral" "', argument " "5"" of type '" "int &""'"); 
    }
    arg5 = reinterpret_cast< int * >(argp5);
    result = (bool)(arg1)->ClipLineGeneral(*arg2,*arg3,*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_ClipLine) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *arg5 = 0 ;
    bool result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRect_ClipLine(self,x1,y1,x2,y2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_ClipLine" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_ClipLine" "', argument " "2"" of type '" "int &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLine" "', argument " "2"" of type '" "int &""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csRect_ClipLine" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLine" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csRect_ClipLine" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLine" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csRect_ClipLine" "', argument " "5"" of type '" "int &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLine" "', argument " "5"" of type '" "int &""'"); 
    }
    arg5 = reinterpret_cast< int * >(argp5);
    result = (bool)(arg1)->ClipLine(*arg2,*arg3,*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRect_ClipLineSafe) {
  {
    csRect *arg1 = (csRect *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *arg5 = 0 ;
    bool result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRect_ClipLineSafe(self,x1,y1,x2,y2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRect_ClipLineSafe" "', argument " "1"" of type '" "csRect *""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRect_ClipLineSafe" "', argument " "2"" of type '" "int &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLineSafe" "', argument " "2"" of type '" "int &""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csRect_ClipLineSafe" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLineSafe" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csRect_ClipLineSafe" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLineSafe" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csRect_ClipLineSafe" "', argument " "5"" of type '" "int &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRect_ClipLineSafe" "', argument " "5"" of type '" "int &""'"); 
    }
    arg5 = reinterpret_cast< int * >(argp5);
    result = (bool)(arg1)->ClipLineSafe(*arg2,*arg3,*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRectRegion) {
  {
    csRectRegion *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csRectRegion();");
    }
    result = (csRectRegion *)new csRectRegion();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRectRegion, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csRectRegion) {
  {
    csRectRegion *arg1 = (csRectRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csRectRegion(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRectRegion, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csRectRegion" "', argument " "1"" of type '" "csRectRegion *""'"); 
    }
    arg1 = reinterpret_cast< csRectRegion * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRectRegion_Include) {
  {
    csRectRegion *arg1 = (csRectRegion *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRectRegion_Include(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRectRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRectRegion_Include" "', argument " "1"" of type '" "csRectRegion *""'"); 
    }
    arg1 = reinterpret_cast< csRectRegion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRectRegion_Include" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRectRegion_Include" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Include((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRectRegion_Exclude) {
  {
    csRectRegion *arg1 = (csRectRegion *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRectRegion_Exclude(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRectRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRectRegion_Exclude" "', argument " "1"" of type '" "csRectRegion *""'"); 
    }
    arg1 = reinterpret_cast< csRectRegion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRectRegion_Exclude" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRectRegion_Exclude" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Exclude((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRectRegion_ClipTo) {
  {
    csRectRegion *arg1 = (csRectRegion *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRectRegion_ClipTo(self,clip);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRectRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRectRegion_ClipTo" "', argument " "1"" of type '" "csRectRegion *""'"); 
    }
    arg1 = reinterpret_cast< csRectRegion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRectRegion_ClipTo" "', argument " "2"" of type '" "csRect &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRectRegion_ClipTo" "', argument " "2"" of type '" "csRect &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->ClipTo(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRectRegion_Count) {
  {
    csRectRegion *arg1 = (csRectRegion *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRectRegion_Count(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRectRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRectRegion_Count" "', argument " "1"" of type '" "csRectRegion const *""'"); 
    }
    arg1 = reinterpret_cast< csRectRegion * >(argp1);
    result = ((csRectRegion const *)arg1)->Count();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRectRegion_RectAt) {
  {
    csRectRegion *arg1 = (csRectRegion *) 0 ;
    size_t arg2 ;
    csRect *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRectRegion_RectAt(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRectRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRectRegion_RectAt" "', argument " "1"" of type '" "csRectRegion const *""'"); 
    }
    arg1 = reinterpret_cast< csRectRegion * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRectRegion_RectAt" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csRect const &_result_ref = ((csRectRegion const *)arg1)->RectAt(arg2);
      result = (csRect *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRect, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRectRegion_MakeEmpty) {
  {
    csRectRegion *arg1 = (csRectRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRectRegion_MakeEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRectRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRectRegion_MakeEmpty" "', argument " "1"" of type '" "csRectRegion *""'"); 
    }
    arg1 = reinterpret_cast< csRectRegion * >(argp1);
    (arg1)->MakeEmpty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csQuaternion__SWIG_0) {
  {
    csQuaternion *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csQuaternion();");
    }
    result = (csQuaternion *)new csQuaternion();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csQuaternion, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csQuaternion__SWIG_1) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    csQuaternion *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csQuaternion(x,y,z,w);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csQuaternion" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csQuaternion" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csQuaternion" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csQuaternion" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (csQuaternion *)new csQuaternion(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csQuaternion, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csQuaternion__SWIG_2) {
  {
    csVector3 *arg1 = 0 ;
    float arg2 ;
    csQuaternion *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csQuaternion(v,w);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csQuaternion" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csQuaternion" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csQuaternion" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (csQuaternion *)new csQuaternion((csVector3 const &)*arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csQuaternion, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csQuaternion__SWIG_3) {
  {
    csQuaternion *arg1 = 0 ;
    csQuaternion *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csQuaternion(q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csQuaternion" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csQuaternion" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = (csQuaternion *)new csQuaternion((csQuaternion const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csQuaternion, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csQuaternion) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csQuaternion__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csQuaternion__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csQuaternion__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csQuaternion__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csQuaternion'");
  XSRETURN(0);
}


XS(_wrap_csQuaternion_SetIdentity) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_SetIdentity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_SetIdentity" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    (arg1)->SetIdentity();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_10) {
  {
    csQuaternion *arg1 = 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(q1,q2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    result = operator +((csQuaternion const &)*arg1,(csQuaternion const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion___add_ass__) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion___add_ass__(self,q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion___add_ass__" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion___add_ass__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion___add_ass__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    {
      csQuaternion &_result_ref = (arg1)->operator +=((csQuaternion const &)*arg2);
      result = (csQuaternion *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csQuaternion, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_7) {
  {
    csQuaternion *arg1 = 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __subtr__(q1,q2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__subtr__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    result = operator -((csQuaternion const &)*arg1,(csQuaternion const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion___subtr_ass__) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion___subtr_ass__(self,q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion___subtr_ass__" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion___subtr_ass__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion___subtr_ass__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    {
      csQuaternion &_result_ref = (arg1)->operator -=((csQuaternion const &)*arg2);
      result = (csQuaternion *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csQuaternion, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr____SWIG_8) {
  {
    csQuaternion *arg1 = 0 ;
    csQuaternion result;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: __subtr__(q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__subtr__" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__subtr__" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = operator -((csQuaternion const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___subtr__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csDVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csDVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_8); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_5); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_6); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_7); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___subtr____SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded '__subtr__'");
  XSRETURN(0);
}


XS(_wrap___mult____SWIG_29) {
  {
    csQuaternion *arg1 = 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(q1,q2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csQuaternion const &""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    result = operator *((csQuaternion const &)*arg1,(csQuaternion const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion___mult_ass__) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion___mult_ass__(self,q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion___mult_ass__" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion___mult_ass__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion___mult_ass__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    {
      csQuaternion &_result_ref = (arg1)->operator *=((csQuaternion const &)*arg2);
      result = (csQuaternion *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csQuaternion, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_30) {
  {
    csQuaternion arg1 ;
    float arg2 ;
    csQuaternion result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(q,f);");
    }
    {
      res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csQuaternion,  0 );
      if (!SWIG_IsOK(res1)) {
        SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csQuaternion const""'"); 
      }  
      if (!argp1) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csQuaternion const""'");
      } else {
        arg1 = *(reinterpret_cast< csQuaternion * >(argp1));
      }
    }
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__mult__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator *(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_31) {
  {
    float arg1 ;
    csQuaternion arg2 ;
    csQuaternion result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(f,q);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__mult__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csQuaternion const""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csQuaternion const""'");
      } else {
        arg2 = *(reinterpret_cast< csQuaternion * >(argp2));
      }
    }
    result = operator *(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_10) {
  {
    csQuaternion arg1 ;
    float arg2 ;
    csQuaternion result;
    void *argp1 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(q,f);");
    }
    {
      res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csQuaternion,  0 );
      if (!SWIG_IsOK(res1)) {
        SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__div__" "', argument " "1"" of type '" "csQuaternion const""'"); 
      }  
      if (!argp1) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "1"" of type '" "csQuaternion const""'");
      } else {
        arg1 = *(reinterpret_cast< csQuaternion * >(argp1));
      }
    }
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "__div__" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = operator /(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___div____SWIG_11) {
  {
    float arg1 ;
    csQuaternion arg2 ;
    csQuaternion result;
    float val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __div__(f,q);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "__div__" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__div__" "', argument " "2"" of type '" "csQuaternion const""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__div__" "', argument " "2"" of type '" "csQuaternion const""'");
      } else {
        arg2 = *(reinterpret_cast< csQuaternion * >(argp2));
      }
    }
    result = operator /(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap___div__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 10;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_10:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 11;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_11:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 12;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_12:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_6); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_5); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_2); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_7); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_8); return;
    case 10:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_9); return;
    case 11:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_10); return;
    case 12:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___div____SWIG_11); return;
    }
  }
  
  croak("No matching function for overloaded '__div__'");
  XSRETURN(0);
}


XS(_wrap_csQuaternion_GetConjugate) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_GetConjugate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_GetConjugate" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = ((csQuaternion const *)arg1)->GetConjugate();
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_Conjugate) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_Conjugate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_Conjugate" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    (arg1)->Conjugate();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_Dot) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion_Dot(self,q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_Dot" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_Dot" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_Dot" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    result = (float)((csQuaternion const *)arg1)->Dot((csQuaternion const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_SquaredNorm) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_SquaredNorm(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_SquaredNorm" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = (float)((csQuaternion const *)arg1)->SquaredNorm();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_Norm) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_Norm(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_Norm" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = (float)((csQuaternion const *)arg1)->Norm();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_Unit) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_Unit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_Unit" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = ((csQuaternion const *)arg1)->Unit();
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_Rotate) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion_Rotate(self,src);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_Rotate" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_Rotate" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_Rotate" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = ((csQuaternion const *)arg1)->Rotate((csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_SetAxisAngle) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csVector3 *arg2 = 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csQuaternion_SetAxisAngle(self,axis,angle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_SetAxisAngle" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_SetAxisAngle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_SetAxisAngle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csQuaternion_SetAxisAngle" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetAxisAngle((csVector3 const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_GetAxisAngle) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csVector3 *arg2 = 0 ;
    float *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csQuaternion_GetAxisAngle(self,axis,angle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_GetAxisAngle" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_GetAxisAngle" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_GetAxisAngle" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csQuaternion_GetAxisAngle" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_GetAxisAngle" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    ((csQuaternion const *)arg1)->GetAxisAngle(*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_SetEulerAngles) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion_SetEulerAngles(self,angles);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_SetEulerAngles" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_SetEulerAngles" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_SetEulerAngles" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetEulerAngles((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_GetEulerAngles) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_GetEulerAngles(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_GetEulerAngles" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = ((csQuaternion const *)arg1)->GetEulerAngles();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_SetMatrix) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion_SetMatrix(self,matrix);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_SetMatrix" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_SetMatrix" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_SetMatrix" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->SetMatrix((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_GetMatrix) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_GetMatrix(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_GetMatrix" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = ((csQuaternion const *)arg1)->GetMatrix();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_NLerp) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    float arg3 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csQuaternion_NLerp(self,q2,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_NLerp" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_NLerp" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_NLerp" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csQuaternion_NLerp" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = ((csQuaternion const *)arg1)->NLerp((csQuaternion const &)*arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_SLerp) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    float arg3 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csQuaternion_SLerp(self,q2,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_SLerp" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_SLerp" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_SLerp" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csQuaternion_SLerp" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = ((csQuaternion const *)arg1)->SLerp((csQuaternion const &)*arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_Log) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_Log(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_Log" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = ((csQuaternion const *)arg1)->Log();
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_Exp) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_Exp(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_Exp" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = ((csQuaternion const *)arg1)->Exp();
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_Squad) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion *arg3 = 0 ;
    csQuaternion *arg4 = 0 ;
    float arg5 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csQuaternion_Squad(self,t1,t2,q,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_Squad" "', argument " "1"" of type '" "csQuaternion const *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_Squad" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_Squad" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csQuaternion_Squad" "', argument " "3"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_Squad" "', argument " "3"" of type '" "csQuaternion const &""'"); 
    }
    arg3 = reinterpret_cast< csQuaternion * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csQuaternion_Squad" "', argument " "4"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion_Squad" "', argument " "4"" of type '" "csQuaternion const &""'"); 
    }
    arg4 = reinterpret_cast< csQuaternion * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csQuaternion_Squad" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = ((csQuaternion const *)arg1)->Squad((csQuaternion const &)*arg2,(csQuaternion const &)*arg3,(csQuaternion const &)*arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_v_set) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion_v_set(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_v_set" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion_v_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->v = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_v_get) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_v_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_v_get" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = (csVector3 *)& ((arg1)->v);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_w_set) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion_w_set(self,w);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_w_set" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csQuaternion_w_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->w = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion_w_get) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csQuaternion_w_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion_w_get" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    result = (float) ((arg1)->w);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion___add__) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion___add__(self,q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion___add__" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion___add__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion___add__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    result = csQuaternion_operator_Sa_(arg1,(csQuaternion const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion___sub__) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion___sub__(self,q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion___sub__" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion___sub__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion___sub__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    result = csQuaternion_operator_Ss_(arg1,(csQuaternion const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQuaternion___mul__) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    csQuaternion *arg2 = 0 ;
    csQuaternion result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQuaternion___mul__(self,q);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQuaternion___mul__" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQuaternion___mul__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csQuaternion___mul__" "', argument " "2"" of type '" "csQuaternion const &""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    result = csQuaternion_operator_Sm_(arg1,(csQuaternion const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csQuaternion(static_cast< const csQuaternion& >(result))), SWIGTYPE_p_csQuaternion, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csQuaternion) {
  {
    csQuaternion *arg1 = (csQuaternion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csQuaternion(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csQuaternion, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csQuaternion" "', argument " "1"" of type '" "csQuaternion *""'"); 
    }
    arg1 = reinterpret_cast< csQuaternion * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSpline) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSpline(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSpline" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetDimensionCount) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSpline_GetDimensionCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetDimensionCount" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    result = (int)((csSpline const *)arg1)->GetDimensionCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetPointCount) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSpline_GetPointCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetPointCount" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    result = (int)((csSpline const *)arg1)->GetPointCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_InsertPoint) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpline_InsertPoint(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_InsertPoint" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_InsertPoint" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->InsertPoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_RemovePoint) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpline_RemovePoint(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_RemovePoint" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_RemovePoint" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->RemovePoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_SetTimeValues) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    float *arg2 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpline_SetTimeValues(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_SetTimeValues" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSpline_SetTimeValues" "', argument " "2"" of type '" "float const *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    (arg1)->SetTimeValues((float const *)arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_SetTimeValue) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSpline_SetTimeValue(self,idx,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_SetTimeValue" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_SetTimeValue" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csSpline_SetTimeValue" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetTimeValue(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetTimeValues) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSpline_GetTimeValues(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetTimeValues" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    result = (float *)((csSpline const *)arg1)->GetTimeValues();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetTimeValue) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpline_GetTimeValue(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetTimeValue" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_GetTimeValue" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)((csSpline const *)arg1)->GetTimeValue(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_SetDimensionValues) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    float *arg3 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSpline_SetDimensionValues(self,dim,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_SetDimensionValues" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_SetDimensionValues" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csSpline_SetDimensionValues" "', argument " "3"" of type '" "float const *""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    (arg1)->SetDimensionValues(arg2,(float const *)arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_SetDimensionValue) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    int arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csSpline_SetDimensionValue(self,dim,idx,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_SetDimensionValue" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_SetDimensionValue" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csSpline_SetDimensionValue" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csSpline_SetDimensionValue" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->SetDimensionValue(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetDimensionValues) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpline_GetDimensionValues(self,dim);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetDimensionValues" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_GetDimensionValues" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float *)((csSpline const *)arg1)->GetDimensionValues(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetDimensionValue) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    int arg3 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSpline_GetDimensionValue(self,dim,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetDimensionValue" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_GetDimensionValue" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csSpline_GetDimensionValue" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (float)((csSpline const *)arg1)->GetDimensionValue(arg2,arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_SetIndexValues) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    float *arg3 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSpline_SetIndexValues(self,idx,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_SetIndexValues" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_SetIndexValues" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csSpline_SetIndexValues" "', argument " "3"" of type '" "float const *""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    (arg1)->SetIndexValues(arg2,(float const *)arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetIndexValues) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpline_GetIndexValues(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetIndexValues" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_GetIndexValues" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float *)((csSpline const *)arg1)->GetIndexValues(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_Calculate) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpline_Calculate(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_Calculate" "', argument " "1"" of type '" "csSpline *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_Calculate" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Calculate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetCurrentIndex) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSpline_GetCurrentIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetCurrentIndex" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    result = (int)((csSpline const *)arg1)->GetCurrentIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpline_GetInterpolatedDimension) {
  {
    csSpline *arg1 = (csSpline *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpline_GetInterpolatedDimension(self,dim);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpline_GetInterpolatedDimension" "', argument " "1"" of type '" "csSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpline_GetInterpolatedDimension" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)((csSpline const *)arg1)->GetInterpolatedDimension(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCubicSpline) {
  {
    int arg1 ;
    int arg2 ;
    csCubicSpline *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csCubicSpline(d,p);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csCubicSpline" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csCubicSpline" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csCubicSpline *)new csCubicSpline(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCubicSpline, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csCubicSpline) {
  {
    csCubicSpline *arg1 = (csCubicSpline *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csCubicSpline(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCubicSpline, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csCubicSpline" "', argument " "1"" of type '" "csCubicSpline *""'"); 
    }
    arg1 = reinterpret_cast< csCubicSpline * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCubicSpline_Calculate) {
  {
    csCubicSpline *arg1 = (csCubicSpline *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCubicSpline_Calculate(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCubicSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCubicSpline_Calculate" "', argument " "1"" of type '" "csCubicSpline *""'"); 
    }
    arg1 = reinterpret_cast< csCubicSpline * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCubicSpline_Calculate" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Calculate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCubicSpline_GetInterpolatedDimension) {
  {
    csCubicSpline *arg1 = (csCubicSpline *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCubicSpline_GetInterpolatedDimension(self,dim);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCubicSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCubicSpline_GetInterpolatedDimension" "', argument " "1"" of type '" "csCubicSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csCubicSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCubicSpline_GetInterpolatedDimension" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)((csCubicSpline const *)arg1)->GetInterpolatedDimension(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBSpline) {
  {
    int arg1 ;
    int arg2 ;
    csBSpline *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csBSpline(d,p);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csBSpline" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csBSpline" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csBSpline *)new csBSpline(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBSpline, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csBSpline) {
  {
    csBSpline *arg1 = (csBSpline *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csBSpline(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBSpline, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csBSpline" "', argument " "1"" of type '" "csBSpline *""'"); 
    }
    arg1 = reinterpret_cast< csBSpline * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBSpline_Calculate) {
  {
    csBSpline *arg1 = (csBSpline *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBSpline_Calculate(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBSpline_Calculate" "', argument " "1"" of type '" "csBSpline *""'"); 
    }
    arg1 = reinterpret_cast< csBSpline * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBSpline_Calculate" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Calculate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBSpline_GetInterpolatedDimension) {
  {
    csBSpline *arg1 = (csBSpline *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBSpline_GetInterpolatedDimension(self,dim);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBSpline_GetInterpolatedDimension" "', argument " "1"" of type '" "csBSpline const *""'"); 
    }
    arg1 = reinterpret_cast< csBSpline * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBSpline_GetInterpolatedDimension" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)((csBSpline const *)arg1)->GetInterpolatedDimension(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCatmullRomSpline) {
  {
    int arg1 ;
    int arg2 ;
    csCatmullRomSpline *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csCatmullRomSpline(d,p);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csCatmullRomSpline" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csCatmullRomSpline" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csCatmullRomSpline *)new csCatmullRomSpline(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCatmullRomSpline, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csCatmullRomSpline) {
  {
    csCatmullRomSpline *arg1 = (csCatmullRomSpline *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csCatmullRomSpline(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCatmullRomSpline, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csCatmullRomSpline" "', argument " "1"" of type '" "csCatmullRomSpline *""'"); 
    }
    arg1 = reinterpret_cast< csCatmullRomSpline * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCatmullRomSpline_Clone) {
  {
    csCatmullRomSpline *arg1 = (csCatmullRomSpline *) 0 ;
    csCatmullRomSpline *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCatmullRomSpline_Clone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCatmullRomSpline, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCatmullRomSpline_Clone" "', argument " "1"" of type '" "csCatmullRomSpline *""'"); 
    }
    arg1 = reinterpret_cast< csCatmullRomSpline * >(argp1);
    result = (csCatmullRomSpline *)(arg1)->Clone();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCatmullRomSpline, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_MinX) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_MinX(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_MinX" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = (float)((csBox2 const *)arg1)->MinX();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_MinY) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_MinY(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_MinY" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = (float)((csBox2 const *)arg1)->MinY();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_MaxX) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_MaxX(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_MaxX" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = (float)((csBox2 const *)arg1)->MaxX();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_MaxY) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_MaxY(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_MaxY" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = (float)((csBox2 const *)arg1)->MaxY();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Min__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_Min(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Min" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_Min" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)((csBox2 const *)arg1)->Min(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Max__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_Max(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Max" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_Max" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)((csBox2 const *)arg1)->Max(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Min__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_Min(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Min" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    {
      csVector2 const &_result_ref = ((csBox2 const *)arg1)->Min();
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Min) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Min__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Min__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_Min'");
  XSRETURN(0);
}


XS(_wrap_csBox2_Max__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_Max(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Max" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    {
      csVector2 const &_result_ref = ((csBox2 const *)arg1)->Max();
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Max) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Max__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Max__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_Max'");
  XSRETURN(0);
}


XS(_wrap_csBox2_Area) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_Area(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Area" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = (float)((csBox2 const *)arg1)->Area();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_GetCorner) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    int arg2 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_GetCorner(self,corner);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_GetCorner" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_GetCorner" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = ((csBox2 const *)arg1)->GetCorner(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_GetCenter) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_GetCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_GetCenter" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = ((csBox2 const *)arg1)->GetCenter();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_SetCenter) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_SetCenter(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_SetCenter" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_SetCenter" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_SetCenter" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->SetCenter((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_SetSize) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_SetSize(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_SetSize" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_SetSize" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_SetSize" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->SetSize((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_GetEdgeInfo) {
  {
    csBox2 *arg1 = (csBox2 *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox2_GetEdgeInfo(self,edge,v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_GetEdgeInfo" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_GetEdgeInfo" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox2_GetEdgeInfo" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_GetEdgeInfo" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csBox2_GetEdgeInfo" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_GetEdgeInfo" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    ((csBox2 const *)arg1)->GetEdgeInfo(arg2,*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_GetEdge__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    int arg2 ;
    csSegment2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_GetEdge(self,edge);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_GetEdge" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_GetEdge" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = ((csBox2 const *)arg1)->GetEdge(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSegment2(static_cast< const csSegment2& >(result))), SWIGTYPE_p_csSegment2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_GetEdge__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    int arg2 ;
    csSegment2 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_GetEdge(self,edge,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_GetEdge" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_GetEdge" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSegment2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox2_GetEdge" "', argument " "3"" of type '" "csSegment2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_GetEdge" "', argument " "3"" of type '" "csSegment2 &""'"); 
    }
    arg3 = reinterpret_cast< csSegment2 * >(argp3);
    ((csBox2 const *)arg1)->GetEdge(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_GetEdge) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csSegment2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_GetEdge__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_GetEdge__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_GetEdge'");
  XSRETURN(0);
}


XS(_wrap_csBox2_Intersect__SWIG_0) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    csVector2 *arg5 = (csVector2 *) 0 ;
    int arg6 ;
    bool result;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: csBox2_Intersect(minx,miny,maxx,maxy,poly,num_poly);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csBox2_Intersect" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_Intersect" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_Intersect" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox2_Intersect" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csBox2_Intersect" "', argument " "5"" of type '" "csVector2 *""'"); 
    }
    arg5 = reinterpret_cast< csVector2 * >(argp5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csBox2_Intersect" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    result = (bool)csBox2::Intersect(arg1,arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Intersect__SWIG_1) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = (csVector2 *) 0 ;
    int arg4 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox2_Intersect(minbox,maxbox,poly,num_poly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Intersect" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_Intersect" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_Intersect" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_Intersect" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox2_Intersect" "', argument " "3"" of type '" "csVector2 *""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox2_Intersect" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)csBox2::Intersect((csVector2 const &)*arg1,(csVector2 const &)*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Intersect__SWIG_2) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_Intersect(self,poly,num_poly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Intersect" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_Intersect" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_Intersect" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)((csBox2 const *)arg1)->Intersect(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Intersect) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Intersect__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Intersect__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Intersect__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_Intersect'");
  XSRETURN(0);
}


XS(_wrap_csBox2_In__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float arg2 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_In(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_In" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_In" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_In" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)((csBox2 const *)arg1)->In(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_In__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_In(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_In" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_In" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_In" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)((csBox2 const *)arg1)->In((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_In) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_In__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_In__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_In'");
  XSRETURN(0);
}


XS(_wrap_csBox2_Overlap) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_Overlap(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Overlap" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_Overlap" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_Overlap" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)((csBox2 const *)arg1)->Overlap((csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Contains) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_Contains(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Contains" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_Contains" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_Contains" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)((csBox2 const *)arg1)->Contains((csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Empty) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Empty" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = (bool)((csBox2 const *)arg1)->Empty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_SquaredOriginDist) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_SquaredOriginDist(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_SquaredOriginDist" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = (float)((csBox2 const *)arg1)->SquaredOriginDist();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_SquaredOriginMaxDist) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_SquaredOriginMaxDist(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_SquaredOriginMaxDist" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = (float)((csBox2 const *)arg1)->SquaredOriginMaxDist();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_SquaredPosDist) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_SquaredPosDist(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_SquaredPosDist" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_SquaredPosDist" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_SquaredPosDist" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (float)((csBox2 const *)arg1)->SquaredPosDist((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_SquaredPosMaxDist) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_SquaredPosMaxDist(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_SquaredPosMaxDist" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_SquaredPosMaxDist" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_SquaredPosMaxDist" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (float)((csBox2 const *)arg1)->SquaredPosMaxDist((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_StartBoundingBox__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_StartBoundingBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_StartBoundingBox" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    (arg1)->StartBoundingBox();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_StartBoundingBox__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_StartBoundingBox(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_StartBoundingBox" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_StartBoundingBox" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_StartBoundingBox" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->StartBoundingBox((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_StartBoundingBox__SWIG_2) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_StartBoundingBox(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_StartBoundingBox" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_StartBoundingBox" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_StartBoundingBox" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->StartBoundingBox(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_StartBoundingBox) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_StartBoundingBox__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_StartBoundingBox__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_StartBoundingBox__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_StartBoundingBox'");
  XSRETURN(0);
}


XS(_wrap_csBox2_AddBoundingVertex__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_AddBoundingVertex(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_AddBoundingVertex" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_AddBoundingVertex" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_AddBoundingVertex" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->AddBoundingVertex(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_AddBoundingVertex__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_AddBoundingVertex(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_AddBoundingVertex" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_AddBoundingVertex" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_AddBoundingVertex" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->AddBoundingVertex((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_AddBoundingVertex) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_AddBoundingVertex__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_AddBoundingVertex__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_AddBoundingVertex'");
  XSRETURN(0);
}


XS(_wrap_csBox2_AddBoundingVertexSmart__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_AddBoundingVertexSmart(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_AddBoundingVertexSmart" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_AddBoundingVertexSmart" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_AddBoundingVertexSmart" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->AddBoundingVertexSmart(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_AddBoundingVertexSmart__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_AddBoundingVertexSmart(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_AddBoundingVertexSmart" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_AddBoundingVertexSmart" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_AddBoundingVertexSmart" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->AddBoundingVertexSmart((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_AddBoundingVertexSmart) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_AddBoundingVertexSmart__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_AddBoundingVertexSmart__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_AddBoundingVertexSmart'");
  XSRETURN(0);
}


XS(_wrap_csBox2_AddBoundingVertexTest__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float arg2 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_AddBoundingVertexTest(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_AddBoundingVertexTest" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_AddBoundingVertexTest" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_AddBoundingVertexTest" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->AddBoundingVertexTest(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_AddBoundingVertexTest__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_AddBoundingVertexTest(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_AddBoundingVertexTest" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_AddBoundingVertexTest" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_AddBoundingVertexTest" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)(arg1)->AddBoundingVertexTest((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_AddBoundingVertexTest) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_AddBoundingVertexTest__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_AddBoundingVertexTest__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_AddBoundingVertexTest'");
  XSRETURN(0);
}


XS(_wrap_csBox2_AddBoundingVertexSmartTest__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float arg2 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_AddBoundingVertexSmartTest(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_AddBoundingVertexSmartTest" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_AddBoundingVertexSmartTest" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_AddBoundingVertexSmartTest" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->AddBoundingVertexSmartTest(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_AddBoundingVertexSmartTest__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_AddBoundingVertexSmartTest(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_AddBoundingVertexSmartTest" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_AddBoundingVertexSmartTest" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_AddBoundingVertexSmartTest" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)(arg1)->AddBoundingVertexSmartTest((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_AddBoundingVertexSmartTest) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_AddBoundingVertexSmartTest__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_AddBoundingVertexSmartTest__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_AddBoundingVertexSmartTest'");
  XSRETURN(0);
}


XS(_wrap_new_csBox2__SWIG_0) {
  {
    csBox2 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csBox2();");
    }
    result = (csBox2 *)new csBox2();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox2__SWIG_1) {
  {
    csVector2 *arg1 = 0 ;
    csBox2 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csBox2(v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csBox2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csBox2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    result = (csBox2 *)new csBox2((csVector2 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox2__SWIG_2) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    csBox2 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csBox2(x1,y1,x2,y2);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csBox2" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csBox2" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csBox2" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csBox2" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (csBox2 *)new csBox2(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox2__SWIG_3) {
  {
    csRect *arg1 = 0 ;
    csBox2 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csBox2(r);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csBox2" "', argument " "1"" of type '" "csRect const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csBox2" "', argument " "1"" of type '" "csRect const &""'"); 
    }
    arg1 = reinterpret_cast< csRect * >(argp1);
    result = (csBox2 *)new csBox2((csRect const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox2) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csBox2__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csBox2__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csBox2__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csBox2__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csBox2'");
  XSRETURN(0);
}


XS(_wrap_csBox2_Set__SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_Set(self,bmin,bmax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Set" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_Set" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_Set" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox2_Set" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_Set" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    (arg1)->Set((csVector2 const &)*arg2,(csVector2 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Set__SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csBox2_Set(self,x1,y1,x2,y2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Set" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox2_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csBox2_Set" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->Set(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Set__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2_Set__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2_Set'");
  XSRETURN(0);
}


XS(_wrap_csBox2_SetMin) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_SetMin(self,idx,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_SetMin" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_SetMin" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_SetMin" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetMin(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_SetMax) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox2_SetMax(self,idx,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_SetMax" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox2_SetMax" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox2_SetMax" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetMax(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_Description) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox2_Description(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_Description" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    result = ((csBox2 const *)arg1)->Description();
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___add_ass____SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    csBox2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___add_ass__(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___add_ass__" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___add_ass__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___add_ass__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    {
      csBox2 &_result_ref = (arg1)->operator +=((csBox2 const &)*arg2);
      result = (csBox2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___add_ass____SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csBox2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___add_ass__(self,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___add_ass__" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___add_ass__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___add_ass__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    {
      csBox2 &_result_ref = (arg1)->operator +=((csVector2 const &)*arg2);
      result = (csBox2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___add_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2___add_ass____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2___add_ass____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2___add_ass__'");
  XSRETURN(0);
}


XS(_wrap_csBox2___mult_ass__) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    csBox2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___mult_ass__(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___mult_ass__" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___mult_ass__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___mult_ass__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    {
      csBox2 &_result_ref = (arg1)->operator *=((csBox2 const &)*arg2);
      result = (csBox2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2_TestIntersect) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2_TestIntersect(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2_TestIntersect" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2_TestIntersect" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2_TestIntersect" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)((csBox2 const *)arg1)->TestIntersect((csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_11) {
  {
    csBox2 *arg1 = 0 ;
    csBox2 *arg2 = 0 ;
    csBox2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = operator +((csBox2 const &)*arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox2(static_cast< const csBox2& >(result))), SWIGTYPE_p_csBox2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_12) {
  {
    csBox2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csBox2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(box,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = operator +((csBox2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox2(static_cast< const csBox2& >(result))), SWIGTYPE_p_csBox2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult____SWIG_32) {
  {
    csBox2 *arg1 = 0 ;
    csBox2 *arg2 = 0 ;
    csBox2 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = operator *((csBox2 const &)*arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox2(static_cast< const csBox2& >(result))), SWIGTYPE_p_csBox2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___eq____SWIG_6) {
  {
    csBox2 *arg1 = 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __eq__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__eq__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__eq__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)operator ==((csBox2 const &)*arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___ne____SWIG_6) {
  {
    csBox2 *arg1 = 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __ne__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__ne__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__ne__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)operator !=((csBox2 const &)*arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___lt____SWIG_4) {
  {
    csBox2 *arg1 = 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __lt__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lt__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__lt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)operator <((csBox2 const &)*arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___gt____SWIG_3) {
  {
    csBox2 *arg1 = 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __gt__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__gt__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__gt__" "', argument " "1"" of type '" "csBox2 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__gt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__gt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)operator >((csBox2 const &)*arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___lt____SWIG_5) {
  {
    csVector2 *arg1 = 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __lt__(point,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lt__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__lt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)operator <((csVector2 const &)*arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___add____SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    csBox2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___add__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___add__" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___add__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___add__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = csBox2_operator_Sa___SWIG_0((csBox2 const *)arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox2(static_cast< const csBox2& >(result))), SWIGTYPE_p_csBox2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___mul__) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    csBox2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___mul__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___mul__" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___mul__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___mul__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = csBox2_operator_Sm_((csBox2 const *)arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox2(static_cast< const csBox2& >(result))), SWIGTYPE_p_csBox2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___ne__) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___ne__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___ne__" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___ne__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___ne__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)csBox2_operator_SN__Se_((csBox2 const *)arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___lt____SWIG_0) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___lt__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___lt__" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___lt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___lt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)csBox2_operator_Sl___SWIG_0((csBox2 const *)arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___gt__) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csBox2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___gt__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___gt__" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___gt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___gt__" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (bool)csBox2_operator_Sg_((csBox2 const *)arg1,(csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___add____SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csBox2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___add__(self,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___add__" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___add__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___add__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = csBox2_operator_Sa___SWIG_1((csBox2 const *)arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox2(static_cast< const csBox2& >(result))), SWIGTYPE_p_csBox2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___add__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2___add____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2___add____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2___add__'");
  XSRETURN(0);
}


XS(_wrap_csBox2___lt____SWIG_1) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox2___lt__(self,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox2___lt__" "', argument " "1"" of type '" "csBox2 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox2___lt__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox2___lt__" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)csBox2_operator_Sl___SWIG_1((csBox2 const *)arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox2___lt__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2___lt____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox2___lt____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox2___lt__'");
  XSRETURN(0);
}


XS(_wrap_delete_csBox2) {
  {
    csBox2 *arg1 = (csBox2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csBox2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox2, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csBox2" "', argument " "1"" of type '" "csBox2 *""'"); 
    }
    arg1 = reinterpret_cast< csBox2 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_MinX) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_MinX(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_MinX" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->MinX();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_MinY) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_MinY(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_MinY" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->MinY();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_MinZ) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_MinZ(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_MinZ" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->MinZ();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_MaxX) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_MaxX(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_MaxX" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->MaxX();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_MaxY) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_MaxY(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_MaxY" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->MaxY();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_MaxZ) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_MaxZ(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_MaxZ" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->MaxZ();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Min__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_Min(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Min" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_Min" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)((csBox3 const *)arg1)->Min(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Max__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_Max(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Max" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_Max" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)((csBox3 const *)arg1)->Max(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Min__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_Min(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Min" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    {
      csVector3 const &_result_ref = ((csBox3 const *)arg1)->Min();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Min) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_Min__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_Min__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_Min'");
  XSRETURN(0);
}


XS(_wrap_csBox3_Max__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_Max(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Max" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    {
      csVector3 const &_result_ref = ((csBox3 const *)arg1)->Max();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Max) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_Max__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_Max__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_Max'");
  XSRETURN(0);
}


XS(_wrap_csBox3_Volume) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_Volume(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Volume" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->Volume();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Area) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_Area(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Area" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->Area();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetCorner) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_GetCorner(self,corner);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetCorner" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_GetCorner" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = ((csBox3 const *)arg1)->GetCorner(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetEdgeInfo) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *arg5 = 0 ;
    int *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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: csBox3_GetEdgeInfo(self,edge,v1,v2,fleft,fright);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetEdgeInfo" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_GetEdgeInfo" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_GetEdgeInfo" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetEdgeInfo" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csBox3_GetEdgeInfo" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetEdgeInfo" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csBox3_GetEdgeInfo" "', argument " "5"" of type '" "int &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetEdgeInfo" "', argument " "5"" of type '" "int &""'"); 
    }
    arg5 = reinterpret_cast< int * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csBox3_GetEdgeInfo" "', argument " "6"" of type '" "int &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetEdgeInfo" "', argument " "6"" of type '" "int &""'"); 
    }
    arg6 = reinterpret_cast< int * >(argp6);
    ((csBox3 const *)arg1)->GetEdgeInfo(arg2,*arg3,*arg4,*arg5,*arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetFaceEdges) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    uint8 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_GetFaceEdges(self,face);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetFaceEdges" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_GetFaceEdges" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (uint8 *)((csBox3 const *)arg1)->GetFaceEdges(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_uint8_t, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetCenter) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_GetCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetCenter" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = ((csBox3 const *)arg1)->GetCenter();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_SetCenter) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_SetCenter(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_SetCenter" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_SetCenter" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_SetCenter" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetCenter((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_SetSize) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_SetSize(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_SetSize" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_SetSize" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_SetSize" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetSize((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetSize) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetSize" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = ((csBox3 const *)arg1)->GetSize();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetSide) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    csBox2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_GetSide(self,side);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetSide" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_GetSide" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = ((csBox3 const *)arg1)->GetSide(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox2(static_cast< const csBox2& >(result))), SWIGTYPE_p_csBox2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetAxisPlane) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    int *arg3 = 0 ;
    float *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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox3_GetAxisPlane(self,side,axis,where);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetAxisPlane" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_GetAxisPlane" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_GetAxisPlane" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetAxisPlane" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csBox3_GetAxisPlane" "', argument " "4"" of type '" "float &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetAxisPlane" "', argument " "4"" of type '" "float &""'"); 
    }
    arg4 = reinterpret_cast< float * >(argp4);
    ((csBox3 const *)arg1)->GetAxisPlane(arg2,*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetVisibleSides) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    int *arg3 = (int *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_GetVisibleSides(self,pos,visible_sides);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetVisibleSides" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_GetVisibleSides" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetVisibleSides" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_GetVisibleSides" "', argument " "3"" of type '" "int *""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    result = (int)((csBox3 const *)arg1)->GetVisibleSides((csVector3 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_OtherSide) {
  {
    int arg1 ;
    int result;
    int val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_OtherSide(side);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csBox3_OtherSide" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    result = (int)csBox3::OtherSide(arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetEdge__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    csSegment3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_GetEdge(self,edge);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetEdge" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_GetEdge" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = ((csBox3 const *)arg1)->GetEdge(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csSegment3(static_cast< const csSegment3& >(result))), SWIGTYPE_p_csSegment3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetEdge__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    csSegment3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_GetEdge(self,edge,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetEdge" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_GetEdge" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSegment3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_GetEdge" "', argument " "3"" of type '" "csSegment3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetEdge" "', argument " "3"" of type '" "csSegment3 &""'"); 
    }
    arg3 = reinterpret_cast< csSegment3 * >(argp3);
    ((csBox3 const *)arg1)->GetEdge(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetEdge) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csSegment3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_GetEdge__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_GetEdge__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_GetEdge'");
  XSRETURN(0);
}


XS(_wrap_csBox3_In__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox3_In(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_In" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_In" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_In" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_In" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)((csBox3 const *)arg1)->In(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_In__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_In(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_In" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_In" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_In" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)((csBox3 const *)arg1)->In((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_In) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_In__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_In__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_In'");
  XSRETURN(0);
}


XS(_wrap_csBox3_Overlap) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_Overlap(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Overlap" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_Overlap" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Overlap" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)((csBox3 const *)arg1)->Overlap((csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Contains) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_Contains(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Contains" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_Contains" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Contains" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)((csBox3 const *)arg1)->Contains((csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Empty) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Empty" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (bool)((csBox3 const *)arg1)->Empty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_StartBoundingBox__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_StartBoundingBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_StartBoundingBox" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    (arg1)->StartBoundingBox();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_StartBoundingBox__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_StartBoundingBox(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_StartBoundingBox" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_StartBoundingBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_StartBoundingBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->StartBoundingBox((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_StartBoundingBox) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_StartBoundingBox__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_StartBoundingBox__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_StartBoundingBox'");
  XSRETURN(0);
}


XS(_wrap_csBox3_AddBoundingVertex__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox3_AddBoundingVertex(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingVertex" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_AddBoundingVertex" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_AddBoundingVertex" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_AddBoundingVertex" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->AddBoundingVertex(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AddBoundingVertex__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_AddBoundingVertex(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingVertex" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AddBoundingVertex" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AddBoundingVertex" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->AddBoundingVertex((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AddBoundingVertex) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AddBoundingVertex__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AddBoundingVertex__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_AddBoundingVertex'");
  XSRETURN(0);
}


XS(_wrap_csBox3_AddBoundingVertexSmart__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox3_AddBoundingVertexSmart(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingVertexSmart" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_AddBoundingVertexSmart" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_AddBoundingVertexSmart" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_AddBoundingVertexSmart" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->AddBoundingVertexSmart(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AddBoundingVertexSmart__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_AddBoundingVertexSmart(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingVertexSmart" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AddBoundingVertexSmart" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AddBoundingVertexSmart" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->AddBoundingVertexSmart((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AddBoundingVertexSmart) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AddBoundingVertexSmart__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AddBoundingVertexSmart__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_AddBoundingVertexSmart'");
  XSRETURN(0);
}


XS(_wrap_csBox3_AddBoundingVertexTest__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox3_AddBoundingVertexTest(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingVertexTest" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_AddBoundingVertexTest" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_AddBoundingVertexTest" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_AddBoundingVertexTest" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->AddBoundingVertexTest(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AddBoundingVertexTest__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_AddBoundingVertexTest(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingVertexTest" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AddBoundingVertexTest" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AddBoundingVertexTest" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)(arg1)->AddBoundingVertexTest((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AddBoundingVertexTest) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AddBoundingVertexTest__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AddBoundingVertexTest__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_AddBoundingVertexTest'");
  XSRETURN(0);
}


XS(_wrap_csBox3_AddBoundingVertexSmartTest__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox3_AddBoundingVertexSmartTest(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingVertexSmartTest" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_AddBoundingVertexSmartTest" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_AddBoundingVertexSmartTest" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_AddBoundingVertexSmartTest" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->AddBoundingVertexSmartTest(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AddBoundingVertexSmartTest__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_AddBoundingVertexSmartTest(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingVertexSmartTest" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AddBoundingVertexSmartTest" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AddBoundingVertexSmartTest" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)(arg1)->AddBoundingVertexSmartTest((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AddBoundingVertexSmartTest) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AddBoundingVertexSmartTest__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AddBoundingVertexSmartTest__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_AddBoundingVertexSmartTest'");
  XSRETURN(0);
}


XS(_wrap_csBox3_AddBoundingBox) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_AddBoundingBox(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AddBoundingBox" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AddBoundingBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AddBoundingBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->AddBoundingBox((csBox3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox3__SWIG_0) {
  {
    csBox3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csBox3();");
    }
    result = (csBox3 *)new csBox3();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox3__SWIG_1) {
  {
    csVector3 *arg1 = 0 ;
    csBox3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csBox3(v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csBox3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csBox3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    result = (csBox3 *)new csBox3((csVector3 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox3__SWIG_2) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csBox3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csBox3(v1,v2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csBox3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csBox3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csBox3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csBox3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (csBox3 *)new csBox3((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox3__SWIG_3) {
  {
    float arg1 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    csBox3 *result = 0 ;
    float val1 ;
    int ecode1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: new_csBox3(x1,y1,z1,x2,y2,z2);");
    }
    ecode1 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csBox3" "', argument " "1"" of type '" "float""'");
    } 
    arg1 = static_cast< float >(val1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csBox3" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csBox3" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csBox3" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_csBox3" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_csBox3" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (csBox3 *)new csBox3(arg1,arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBox3) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csBox3__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csBox3__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csBox3__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csBox3__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csBox3'");
  XSRETURN(0);
}


XS(_wrap_csBox3_Set__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_Set(self,bmin,bmax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Set" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->Set((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Set__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: csBox3_Set(self,x1,y1,z1,x2,y2,z2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Set" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_Set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_Set" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_Set" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csBox3_Set" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csBox3_Set" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "csBox3_Set" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    (arg1)->Set(arg2,arg3,arg4,arg5,arg6,arg7);
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_Set__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_Set__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_Set'");
  XSRETURN(0);
}


XS(_wrap_csBox3_SetMin) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_SetMin(self,idx,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_SetMin" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_SetMin" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_SetMin" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetMin(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_SetMax) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_SetMax(self,idx,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_SetMax" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_SetMax" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_SetMax" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetMax(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Description) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_Description(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Description" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = ((csBox3 const *)arg1)->Description();
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Split) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    float arg3 ;
    csBox3 *arg4 = 0 ;
    csBox3 *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csBox3_Split(self,axis,where,bl,br);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Split" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_Split" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_Split" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csBox3_Split" "', argument " "4"" of type '" "csBox3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Split" "', argument " "4"" of type '" "csBox3 &""'"); 
    }
    arg4 = reinterpret_cast< csBox3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csBox3_Split" "', argument " "5"" of type '" "csBox3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Split" "', argument " "5"" of type '" "csBox3 &""'"); 
    }
    arg5 = reinterpret_cast< csBox3 * >(argp5);
    ((csBox3 const *)arg1)->Split(arg2,arg3,*arg4,*arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_TestSplit) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    int arg2 ;
    float arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_TestSplit(self,axis,where);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_TestSplit" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBox3_TestSplit" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_TestSplit" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (int)((csBox3 const *)arg1)->TestSplit(arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AdjacentX__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_AdjacentX(self,other,epsilon);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AdjacentX" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AdjacentX" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AdjacentX" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_AdjacentX" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)((csBox3 const *)arg1)->AdjacentX((csBox3 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AdjacentX__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_AdjacentX(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AdjacentX" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AdjacentX" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AdjacentX" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)((csBox3 const *)arg1)->AdjacentX((csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AdjacentX) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AdjacentX__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AdjacentX__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_AdjacentX'");
  XSRETURN(0);
}


XS(_wrap_csBox3_AdjacentY__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_AdjacentY(self,other,epsilon);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AdjacentY" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AdjacentY" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AdjacentY" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_AdjacentY" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)((csBox3 const *)arg1)->AdjacentY((csBox3 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AdjacentY__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_AdjacentY(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AdjacentY" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AdjacentY" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AdjacentY" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)((csBox3 const *)arg1)->AdjacentY((csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AdjacentY) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AdjacentY__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AdjacentY__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_AdjacentY'");
  XSRETURN(0);
}


XS(_wrap_csBox3_AdjacentZ__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_AdjacentZ(self,other,epsilon);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AdjacentZ" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AdjacentZ" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AdjacentZ" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_AdjacentZ" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)((csBox3 const *)arg1)->AdjacentZ((csBox3 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AdjacentZ__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_AdjacentZ(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_AdjacentZ" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_AdjacentZ" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_AdjacentZ" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)((csBox3 const *)arg1)->AdjacentZ((csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_AdjacentZ) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AdjacentZ__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_AdjacentZ__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_AdjacentZ'");
  XSRETURN(0);
}


XS(_wrap_csBox3_Adjacent__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    float arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_Adjacent(self,other,epsilon);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Adjacent" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_Adjacent" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Adjacent" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_Adjacent" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (int)((csBox3 const *)arg1)->Adjacent((csBox3 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Adjacent__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_Adjacent(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Adjacent" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_Adjacent" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Adjacent" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (int)((csBox3 const *)arg1)->Adjacent((csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_Adjacent) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_Adjacent__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_Adjacent__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_Adjacent'");
  XSRETURN(0);
}


XS(_wrap_csBox3_CalculatePointSegment) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_CalculatePointSegment(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_CalculatePointSegment" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_CalculatePointSegment" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_CalculatePointSegment" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (int)((csBox3 const *)arg1)->CalculatePointSegment((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetConvexOutline__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = (csVector3 *) 0 ;
    int *arg4 = 0 ;
    bool arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csBox3_GetConvexOutline(self,pos,array,num_array,bVisible);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetConvexOutline" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_GetConvexOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetConvexOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_GetConvexOutline" "', argument " "3"" of type '" "csVector3 *""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csBox3_GetConvexOutline" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetConvexOutline" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csBox3_GetConvexOutline" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ((csBox3 const *)arg1)->GetConvexOutline((csVector3 const &)*arg2,arg3,*arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetConvexOutline__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = (csVector3 *) 0 ;
    int *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csBox3_GetConvexOutline(self,pos,array,num_array);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_GetConvexOutline" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_GetConvexOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetConvexOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_GetConvexOutline" "', argument " "3"" of type '" "csVector3 *""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csBox3_GetConvexOutline" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_GetConvexOutline" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    ((csBox3 const *)arg1)->GetConvexOutline((csVector3 const &)*arg2,arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_GetConvexOutline) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_GetConvexOutline__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_GetConvexOutline__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_GetConvexOutline'");
  XSRETURN(0);
}


XS(_wrap_csBox3_Between) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    csBox3 *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_Between(self,box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_Between" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_Between" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Between" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_Between" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_Between" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    arg3 = reinterpret_cast< csBox3 * >(argp3);
    result = (bool)((csBox3 const *)arg1)->Between((csBox3 const &)*arg2,(csBox3 const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_ManhattanDistance) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csBox3_ManhattanDistance(self,other,dist);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_ManhattanDistance" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_ManhattanDistance" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ManhattanDistance" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csBox3_ManhattanDistance" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ManhattanDistance" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ((csBox3 const *)arg1)->ManhattanDistance((csBox3 const &)*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_SquaredOriginDist) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_SquaredOriginDist(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_SquaredOriginDist" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->SquaredOriginDist();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_SquaredOriginMaxDist) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBox3_SquaredOriginMaxDist(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_SquaredOriginMaxDist" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (float)((csBox3 const *)arg1)->SquaredOriginMaxDist();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_SquaredPosDist) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_SquaredPosDist(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_SquaredPosDist" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_SquaredPosDist" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_SquaredPosDist" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (float)((csBox3 const *)arg1)->SquaredPosDist((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_SquaredPosMaxDist) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_SquaredPosMaxDist(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_SquaredPosMaxDist" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_SquaredPosMaxDist" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_SquaredPosMaxDist" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (float)((csBox3 const *)arg1)->SquaredPosMaxDist((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_ProjectBox) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csTransform *arg2 = 0 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    csBox2 *arg6 = 0 ;
    float *arg7 = 0 ;
    float *arg8 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    void *argp8 = 0 ;
    int res8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: csBox3_ProjectBox(self,trans,fov,sx,sy,sbox,min_z,max_z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_ProjectBox" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_ProjectBox" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBox" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_ProjectBox" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_ProjectBox" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csBox3_ProjectBox" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csBox3_ProjectBox" "', argument " "6"" of type '" "csBox2 &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBox" "', argument " "6"" of type '" "csBox2 &""'"); 
    }
    arg6 = reinterpret_cast< csBox2 * >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csBox3_ProjectBox" "', argument " "7"" of type '" "float &""'"); 
    }
    if (!argp7) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBox" "', argument " "7"" of type '" "float &""'"); 
    }
    arg7 = reinterpret_cast< float * >(argp7);
    res8 = SWIG_ConvertPtr(ST(7), &argp8, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "csBox3_ProjectBox" "', argument " "8"" of type '" "float &""'"); 
    }
    if (!argp8) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBox" "', argument " "8"" of type '" "float &""'"); 
    }
    arg8 = reinterpret_cast< float * >(argp8);
    result = (bool)((csBox3 const *)arg1)->ProjectBox((csTransform const &)*arg2,arg3,arg4,arg5,*arg6,*arg7,*arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_ProjectOutline__SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csTransform *arg2 = 0 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    csPoly2D *arg6 = 0 ;
    float *arg7 = 0 ;
    float *arg8 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    void *argp8 = 0 ;
    int res8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: csBox3_ProjectOutline(self,trans,fov,sx,sy,poly,min_z,max_z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_ProjectOutline" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_ProjectOutline" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectOutline" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_ProjectOutline" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_ProjectOutline" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csBox3_ProjectOutline" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csBox3_ProjectOutline" "', argument " "6"" of type '" "csPoly2D &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectOutline" "', argument " "6"" of type '" "csPoly2D &""'"); 
    }
    arg6 = reinterpret_cast< csPoly2D * >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csBox3_ProjectOutline" "', argument " "7"" of type '" "float &""'"); 
    }
    if (!argp7) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectOutline" "', argument " "7"" of type '" "float &""'"); 
    }
    arg7 = reinterpret_cast< float * >(argp7);
    res8 = SWIG_ConvertPtr(ST(7), &argp8, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "csBox3_ProjectOutline" "', argument " "8"" of type '" "float &""'"); 
    }
    if (!argp8) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectOutline" "', argument " "8"" of type '" "float &""'"); 
    }
    arg8 = reinterpret_cast< float * >(argp8);
    result = (bool)((csBox3 const *)arg1)->ProjectOutline((csTransform const &)*arg2,arg3,arg4,arg5,*arg6,*arg7,*arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_ProjectOutline__SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    int arg3 ;
    float arg4 ;
    csArray<csVector2 > *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csBox3_ProjectOutline(self,origin,axis,where,poly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_ProjectOutline" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_ProjectOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_ProjectOutline" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_ProjectOutline" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csBox3_ProjectOutline" "', argument " "5"" of type '" "csArray<csVector2 > &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectOutline" "', argument " "5"" of type '" "csArray<csVector2 > &""'"); 
    }
    arg5 = reinterpret_cast< csArray<csVector2 > * >(argp5);
    result = (bool)((csBox3 const *)arg1)->ProjectOutline((csVector3 const &)*arg2,arg3,arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_ProjectOutline__SWIG_2) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    int arg3 ;
    float arg4 ;
    csPoly2D *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csBox3_ProjectOutline(self,origin,axis,where,poly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_ProjectOutline" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_ProjectOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_ProjectOutline" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_ProjectOutline" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csBox3_ProjectOutline" "', argument " "5"" of type '" "csPoly2D &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectOutline" "', argument " "5"" of type '" "csPoly2D &""'"); 
    }
    arg5 = reinterpret_cast< csPoly2D * >(argp5);
    result = (bool)((csBox3 const *)arg1)->ProjectOutline((csVector3 const &)*arg2,arg3,arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_ProjectOutline) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csPoly2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csPoly2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(7), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_ProjectOutline__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_ProjectOutline__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3_ProjectOutline__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3_ProjectOutline'");
  XSRETURN(0);
}


XS(_wrap_csBox3_ProjectBoxAndOutline) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csTransform *arg2 = 0 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    csBox2 *arg6 = 0 ;
    csPoly2D *arg7 = 0 ;
    float *arg8 = 0 ;
    float *arg9 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    void *argp8 = 0 ;
    int res8 = 0 ;
    void *argp9 = 0 ;
    int res9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 9) || (items > 9)) {
      SWIG_croak("Usage: csBox3_ProjectBoxAndOutline(self,trans,fov,sx,sy,sbox,poly,min_z,max_z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "6"" of type '" "csBox2 &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "6"" of type '" "csBox2 &""'"); 
    }
    arg6 = reinterpret_cast< csBox2 * >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_csPoly2D,  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "7"" of type '" "csPoly2D &""'"); 
    }
    if (!argp7) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "7"" of type '" "csPoly2D &""'"); 
    }
    arg7 = reinterpret_cast< csPoly2D * >(argp7);
    res8 = SWIG_ConvertPtr(ST(7), &argp8, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "8"" of type '" "float &""'"); 
    }
    if (!argp8) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "8"" of type '" "float &""'"); 
    }
    arg8 = reinterpret_cast< float * >(argp8);
    res9 = SWIG_ConvertPtr(ST(8), &argp9, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res9)) {
      SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "9"" of type '" "float &""'"); 
    }
    if (!argp9) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_ProjectBoxAndOutline" "', argument " "9"" of type '" "float &""'"); 
    }
    arg9 = reinterpret_cast< float * >(argp9);
    result = (bool)((csBox3 const *)arg1)->ProjectBoxAndOutline((csTransform const &)*arg2,arg3,arg4,arg5,*arg6,*arg7,*arg8,*arg9);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___add_ass____SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___add_ass__(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___add_ass__" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___add_ass__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___add_ass__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    {
      csBox3 &_result_ref = (arg1)->operator +=((csBox3 const &)*arg2);
      result = (csBox3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___add_ass____SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___add_ass__(self,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___add_ass__" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___add_ass__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___add_ass__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    {
      csBox3 &_result_ref = (arg1)->operator +=((csVector3 const &)*arg2);
      result = (csBox3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___add_ass__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3___add_ass____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3___add_ass____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3___add_ass__'");
  XSRETURN(0);
}


XS(_wrap_csBox3___mult_ass__) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___mult_ass__(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___mult_ass__" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___mult_ass__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___mult_ass__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    {
      csBox3 &_result_ref = (arg1)->operator *=((csBox3 const &)*arg2);
      result = (csBox3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3_TestIntersect) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3_TestIntersect(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3_TestIntersect" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3_TestIntersect" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3_TestIntersect" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)((csBox3 const *)arg1)->TestIntersect((csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_13) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    csBox3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = operator +((csBox3 const &)*arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox3(static_cast< const csBox3& >(result))), SWIGTYPE_p_csBox3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add____SWIG_14) {
  {
    csBox3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csBox3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __add__(box,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__add__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = operator +((csBox3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox3(static_cast< const csBox3& >(result))), SWIGTYPE_p_csBox3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___add__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStringBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csDVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csDVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 10;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_10:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 11;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_11:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 12;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_12:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 13;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_13:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 14;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_14:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csStringBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 15;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_15:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_4); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_5); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_6); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_7); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_8); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_9); return;
    case 10:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_10); return;
    case 11:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_11); return;
    case 12:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_12); return;
    case 13:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_13); return;
    case 14:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_14); return;
    case 15:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___add____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded '__add__'");
  XSRETURN(0);
}


XS(_wrap___mult____SWIG_33) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    csBox3 result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __mult__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__mult__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__mult__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__mult__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = operator *((csBox3 const &)*arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox3(static_cast< const csBox3& >(result))), SWIGTYPE_p_csBox3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___mult__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 10;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_10:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 11;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_11:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 12;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_12:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 13;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_13:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 14;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_14:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 15;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_15:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 16;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_16:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 17;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_17:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 18;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_18:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 19;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_19:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 20;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_20:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 21;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_21:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_22;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_22;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 22;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_22:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_23;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_23;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 23;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_23:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_24;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_24;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 24;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_24:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_25;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_25;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 25;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_25:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_26;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_26;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 26;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_26:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_27;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_27;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 27;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_27:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_28;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_28;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 28;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_28:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_29;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_29;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 29;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_29:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_30;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_30;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 30;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_30:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_31;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csQuaternion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_31;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 31;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_31:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_32;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_32;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 32;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_32:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_33;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_33;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 33;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_33:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_34;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_34;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 34;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_34:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_4); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_6); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_19); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_9); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_11); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_12); return;
    case 10:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_13); return;
    case 11:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_15); return;
    case 12:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_16); return;
    case 13:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_25); return;
    case 14:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_7); return;
    case 15:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_28); return;
    case 16:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_21); return;
    case 17:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_22); return;
    case 18:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_23); return;
    case 19:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_24); return;
    case 20:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_17); return;
    case 21:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_26); return;
    case 22:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_27); return;
    case 23:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_20); return;
    case 24:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_29); return;
    case 25:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_30); return;
    case 26:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_32); return;
    case 27:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_33); return;
    case 28:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_10); return;
    case 29:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_14); return;
    case 30:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_18); return;
    case 31:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_31); return;
    case 32:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_5); return;
    case 33:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_2); return;
    case 34:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___mult____SWIG_8); return;
    }
  }
  
  croak("No matching function for overloaded '__mult__'");
  XSRETURN(0);
}


XS(_wrap___eq____SWIG_7) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __eq__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__eq__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__eq__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__eq__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)operator ==((csBox3 const &)*arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___eq__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___eq____SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___eq____SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___eq____SWIG_5); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___eq____SWIG_6); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___eq____SWIG_7); return;
    }
  }
  
  croak("No matching function for overloaded '__eq__'");
  XSRETURN(0);
}


XS(_wrap___ne____SWIG_7) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __ne__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__ne__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__ne__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__ne__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)operator !=((csBox3 const &)*arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___ne__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___ne____SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___ne____SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___ne____SWIG_5); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___ne____SWIG_6); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___ne____SWIG_7); return;
    }
  }
  
  croak("No matching function for overloaded '__ne__'");
  XSRETURN(0);
}


XS(_wrap___lt____SWIG_6) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __lt__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lt__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__lt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)operator <((csBox3 const &)*arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___gt____SWIG_4) {
  {
    csBox3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __gt__(box1,box2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__gt__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__gt__" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__gt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__gt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)operator >((csBox3 const &)*arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap___gt__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___gt____SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___gt____SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___gt____SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___gt____SWIG_0); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap___gt____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded '__gt__'");
  XSRETURN(0);
}


XS(_wrap___lt____SWIG_7) {
  {
    csVector3 *arg1 = 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: __lt__(point,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "__lt__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "__lt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "__lt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)operator <((csVector3 const &)*arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___add____SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    csBox3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___add__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___add__" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___add__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___add__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = csBox3_operator_Sa___SWIG_0((csBox3 const *)arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox3(static_cast< const csBox3& >(result))), SWIGTYPE_p_csBox3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___mul__) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    csBox3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___mul__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___mul__" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___mul__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___mul__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = csBox3_operator_Sm_((csBox3 const *)arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox3(static_cast< const csBox3& >(result))), SWIGTYPE_p_csBox3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___ne__) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___ne__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___ne__" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___ne__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___ne__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)csBox3_operator_SN__Se_((csBox3 const *)arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___lt____SWIG_0) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___lt__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___lt__" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___lt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___lt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)csBox3_operator_Sl___SWIG_0((csBox3 const *)arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___gt__) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csBox3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___gt__(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___gt__" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___gt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___gt__" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (bool)csBox3_operator_Sg_((csBox3 const *)arg1,(csBox3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___add____SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csBox3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___add__(self,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___add__" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___add__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = csBox3_operator_Sa___SWIG_1((csBox3 const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox3(static_cast< const csBox3& >(result))), SWIGTYPE_p_csBox3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___add__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3___add____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3___add____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3___add__'");
  XSRETURN(0);
}


XS(_wrap_csBox3___lt____SWIG_1) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBox3___lt__(self,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBox3___lt__" "', argument " "1"" of type '" "csBox3 const *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csBox3___lt__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csBox3___lt__" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)csBox3_operator_Sl___SWIG_1((csBox3 const *)arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBox3___lt__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3___lt____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csBox3___lt____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csBox3___lt__'");
  XSRETURN(0);
}


XS(_wrap_delete_csBox3) {
  {
    csBox3 *arg1 = (csBox3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csBox3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBox3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csBox3" "', argument " "1"" of type '" "csBox3 *""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSegment2__SWIG_0) {
  {
    csVector2 *arg1 = 0 ;
    csVector2 *arg2 = 0 ;
    csSegment2 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csSegment2(s,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csSegment2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csSegment2" "', argument " "1"" of type '" "csVector2 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csSegment2" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csSegment2" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (csSegment2 *)new csSegment2((csVector2 const &)*arg1,(csVector2 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSegment2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSegment2__SWIG_1) {
  {
    csSegment2 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSegment2();");
    }
    result = (csSegment2 *)new csSegment2();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSegment2, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSegment2) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csSegment2__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csSegment2__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csSegment2'");
  XSRETURN(0);
}


XS(_wrap_delete_csSegment2) {
  {
    csSegment2 *arg1 = (csSegment2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSegment2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment2, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSegment2" "', argument " "1"" of type '" "csSegment2 *""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment2_Set) {
  {
    csSegment2 *arg1 = (csSegment2 *) 0 ;
    csVector2 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSegment2_Set(self,s,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment2_Set" "', argument " "1"" of type '" "csSegment2 *""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSegment2_Set" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSegment2_Set" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csSegment2_Set" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSegment2_Set" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    (arg1)->Set((csVector2 const &)*arg2,(csVector2 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment2_SetStart) {
  {
    csSegment2 *arg1 = (csSegment2 *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSegment2_SetStart(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment2_SetStart" "', argument " "1"" of type '" "csSegment2 *""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSegment2_SetStart" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSegment2_SetStart" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->SetStart((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment2_SetEnd) {
  {
    csSegment2 *arg1 = (csSegment2 *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSegment2_SetEnd(self,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment2_SetEnd" "', argument " "1"" of type '" "csSegment2 *""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSegment2_SetEnd" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSegment2_SetEnd" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->SetEnd((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment2_Start) {
  {
    csSegment2 *arg1 = (csSegment2 *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSegment2_Start(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment2_Start" "', argument " "1"" of type '" "csSegment2 const *""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    {
      csVector2 const &_result_ref = ((csSegment2 const *)arg1)->Start();
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment2_End) {
  {
    csSegment2 *arg1 = (csSegment2 *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSegment2_End(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment2, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment2_End" "', argument " "1"" of type '" "csSegment2 const *""'"); 
    }
    arg1 = reinterpret_cast< csSegment2 * >(argp1);
    {
      csVector2 const &_result_ref = ((csSegment2 const *)arg1)->End();
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSegment3__SWIG_0) {
  {
    csVector3 *arg1 = 0 ;
    csVector3 *arg2 = 0 ;
    csSegment3 *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csSegment3(s,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csSegment3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csSegment3" "', argument " "1"" of type '" "csVector3 const &""'"); 
    }
    arg1 = reinterpret_cast< csVector3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csSegment3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csSegment3" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (csSegment3 *)new csSegment3((csVector3 const &)*arg1,(csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSegment3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSegment3__SWIG_1) {
  {
    csSegment3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSegment3();");
    }
    result = (csSegment3 *)new csSegment3();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSegment3, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSegment3) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csSegment3__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csSegment3__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csSegment3'");
  XSRETURN(0);
}


XS(_wrap_csSegment3_Set) {
  {
    csSegment3 *arg1 = (csSegment3 *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSegment3_Set(self,s,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment3_Set" "', argument " "1"" of type '" "csSegment3 *""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSegment3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSegment3_Set" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csSegment3_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSegment3_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->Set((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment3_SetStart) {
  {
    csSegment3 *arg1 = (csSegment3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSegment3_SetStart(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment3_SetStart" "', argument " "1"" of type '" "csSegment3 *""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSegment3_SetStart" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSegment3_SetStart" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetStart((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment3_SetEnd) {
  {
    csSegment3 *arg1 = (csSegment3 *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSegment3_SetEnd(self,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment3_SetEnd" "', argument " "1"" of type '" "csSegment3 *""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSegment3_SetEnd" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSegment3_SetEnd" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetEnd((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment3_Start) {
  {
    csSegment3 *arg1 = (csSegment3 *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSegment3_Start(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment3_Start" "', argument " "1"" of type '" "csSegment3 const *""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    {
      csVector3 const &_result_ref = ((csSegment3 const *)arg1)->Start();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSegment3_End) {
  {
    csSegment3 *arg1 = (csSegment3 *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSegment3_End(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment3, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSegment3_End" "', argument " "1"" of type '" "csSegment3 const *""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    {
      csVector3 const &_result_ref = ((csSegment3 const *)arg1)->End();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSegment3) {
  {
    csSegment3 *arg1 = (csSegment3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSegment3(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSegment3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSegment3" "', argument " "1"" of type '" "csSegment3 *""'"); 
    }
    arg1 = reinterpret_cast< csSegment3 * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor_red_set) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    unsigned char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBcolor_red_set(self,red);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_red_set" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBcolor_red_set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    if (arg1) (arg1)->red = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor_red_get) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBcolor_red_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_red_get" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    result = (unsigned char) ((arg1)->red);
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor_green_set) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    unsigned char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBcolor_green_set(self,green);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_green_set" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBcolor_green_set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    if (arg1) (arg1)->green = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor_green_get) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBcolor_green_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_green_get" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    result = (unsigned char) ((arg1)->green);
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor_blue_set) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    unsigned char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBcolor_blue_set(self,blue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_blue_set" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBcolor_blue_set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    if (arg1) (arg1)->blue = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor_blue_get) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBcolor_blue_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_blue_get" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    result = (unsigned char) ((arg1)->blue);
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBcolor__SWIG_0) {
  {
    csRGBcolor *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csRGBcolor();");
    }
    result = (csRGBcolor *)new csRGBcolor();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBcolor, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBcolor__SWIG_1) {
  {
    unsigned char arg1 ;
    unsigned char arg2 ;
    unsigned char arg3 ;
    csRGBcolor *result = 0 ;
    unsigned char val1 ;
    int ecode1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    unsigned char val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csRGBcolor(r,g,b);");
    }
    ecode1 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csRGBcolor" "', argument " "1"" of type '" "unsigned char""'");
    } 
    arg1 = static_cast< unsigned char >(val1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csRGBcolor" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csRGBcolor" "', argument " "3"" of type '" "unsigned char""'");
    } 
    arg3 = static_cast< unsigned char >(val3);
    result = (csRGBcolor *)new csRGBcolor(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBcolor, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBcolor) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRGBcolor__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRGBcolor__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csRGBcolor'");
  XSRETURN(0);
}


XS(_wrap_csRGBcolor_Set) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    unsigned char arg2 ;
    unsigned char arg3 ;
    unsigned char arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    unsigned char val3 ;
    int ecode3 = 0 ;
    unsigned char val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csRGBcolor_Set(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_Set" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBcolor_Set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRGBcolor_Set" "', argument " "3"" of type '" "unsigned char""'");
    } 
    arg3 = static_cast< unsigned char >(val3);
    ecode4 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csRGBcolor_Set" "', argument " "4"" of type '" "unsigned char""'");
    } 
    arg4 = static_cast< unsigned char >(val4);
    (arg1)->Set(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor___eq__) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    csRGBcolor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBcolor___eq__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor___eq__" "', argument " "1"" of type '" "csRGBcolor const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBcolor___eq__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBcolor___eq__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    result = (bool)((csRGBcolor const *)arg1)->operator ==((csRGBcolor const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor___ne__) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    csRGBcolor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBcolor___ne__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor___ne__" "', argument " "1"" of type '" "csRGBcolor const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBcolor___ne__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBcolor___ne__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    result = (bool)((csRGBcolor const *)arg1)->operator !=((csRGBcolor const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor___add__) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    csRGBcolor *arg2 = 0 ;
    csRGBcolor result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBcolor___add__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor___add__" "', argument " "1"" of type '" "csRGBcolor const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBcolor___add__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBcolor___add__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    result = ((csRGBcolor const *)arg1)->operator +((csRGBcolor const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRGBcolor(static_cast< const csRGBcolor& >(result))), SWIGTYPE_p_csRGBcolor, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor_UnsafeAdd) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    csRGBcolor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBcolor_UnsafeAdd(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_UnsafeAdd" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBcolor_UnsafeAdd" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBcolor_UnsafeAdd" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    (arg1)->UnsafeAdd((csRGBcolor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBcolor_SafeAdd) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    csRGBcolor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBcolor_SafeAdd(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBcolor_SafeAdd" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBcolor_SafeAdd" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBcolor_SafeAdd" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    (arg1)->SafeAdd((csRGBcolor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csRGBcolor) {
  {
    csRGBcolor *arg1 = (csRGBcolor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csRGBcolor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBcolor, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csRGBcolor" "', argument " "1"" of type '" "csRGBcolor *""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_red_set) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel_red_set(self,red);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_red_set" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBpixel_red_set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    if (arg1) (arg1)->red = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_red_get) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBpixel_red_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_red_get" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    result = (unsigned char) ((arg1)->red);
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_green_set) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel_green_set(self,green);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_green_set" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBpixel_green_set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    if (arg1) (arg1)->green = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_green_get) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBpixel_green_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_green_get" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    result = (unsigned char) ((arg1)->green);
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_blue_set) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel_blue_set(self,blue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_blue_set" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBpixel_blue_set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    if (arg1) (arg1)->blue = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_blue_get) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBpixel_blue_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_blue_get" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    result = (unsigned char) ((arg1)->blue);
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_alpha_set) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel_alpha_set(self,alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_alpha_set" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBpixel_alpha_set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    if (arg1) (arg1)->alpha = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_alpha_get) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBpixel_alpha_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_alpha_get" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    result = (unsigned char) ((arg1)->alpha);
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBpixel__SWIG_0) {
  {
    csRGBpixel *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csRGBpixel();");
    }
    result = (csRGBpixel *)new csRGBpixel();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBpixel, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBpixel__SWIG_1) {
  {
    csRGBpixel *arg1 = 0 ;
    csRGBpixel *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csRGBpixel(p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csRGBpixel" "', argument " "1"" of type '" "csRGBpixel const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csRGBpixel" "', argument " "1"" of type '" "csRGBpixel const &""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    result = (csRGBpixel *)new csRGBpixel((csRGBpixel const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBpixel, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBpixel__SWIG_2) {
  {
    csRGBcolor *arg1 = 0 ;
    csRGBpixel *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csRGBpixel(c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csRGBpixel" "', argument " "1"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csRGBpixel" "', argument " "1"" of type '" "csRGBcolor const &""'"); 
    }
    arg1 = reinterpret_cast< csRGBcolor * >(argp1);
    result = (csRGBpixel *)new csRGBpixel((csRGBcolor const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBpixel, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBpixel__SWIG_3) {
  {
    int arg1 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    csRGBpixel *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csRGBpixel(r,g,b,a);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csRGBpixel" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csRGBpixel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csRGBpixel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csRGBpixel" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (csRGBpixel *)new csRGBpixel(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBpixel, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBpixel__SWIG_4) {
  {
    int arg1 ;
    int arg2 ;
    int arg3 ;
    csRGBpixel *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csRGBpixel(r,g,b);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csRGBpixel" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csRGBpixel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csRGBpixel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (csRGBpixel *)new csRGBpixel(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBpixel, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csRGBpixel) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRGBpixel__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRGBpixel__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRGBpixel__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRGBpixel__SWIG_4); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csRGBpixel__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csRGBpixel'");
  XSRETURN(0);
}


XS(_wrap_csRGBpixel___eq____SWIG_0) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBcolor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel___eq__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel___eq__" "', argument " "1"" of type '" "csRGBpixel const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel___eq__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel___eq__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    result = (bool)((csRGBpixel const *)arg1)->operator ==((csRGBcolor const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel___eq____SWIG_1) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBpixel *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel___eq__(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel___eq__" "', argument " "1"" of type '" "csRGBpixel const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel___eq__" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel___eq__" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    result = (bool)((csRGBpixel const *)arg1)->operator ==((csRGBpixel const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel___eq__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRGBpixel___eq____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRGBpixel___eq____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csRGBpixel___eq__'");
  XSRETURN(0);
}


XS(_wrap_csRGBpixel___ne____SWIG_0) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBcolor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel___ne__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel___ne__" "', argument " "1"" of type '" "csRGBpixel const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel___ne__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel___ne__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    result = (bool)((csRGBpixel const *)arg1)->operator !=((csRGBcolor const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel___ne____SWIG_1) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBpixel *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel___ne__(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel___ne__" "', argument " "1"" of type '" "csRGBpixel const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel___ne__" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel___ne__" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    result = (bool)((csRGBpixel const *)arg1)->operator !=((csRGBpixel const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel___ne__) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRGBpixel___ne____SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRGBpixel___ne____SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csRGBpixel___ne__'");
  XSRETURN(0);
}


XS(_wrap_csRGBpixel_asRGBcolor) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBcolor result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBpixel_asRGBcolor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_asRGBcolor" "', argument " "1"" of type '" "csRGBpixel const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    result = ((csRGBpixel const *)arg1)->operator csRGBcolor();
    ST(argvi) = SWIG_NewPointerObj((new csRGBcolor(static_cast< const csRGBcolor& >(result))), SWIGTYPE_p_csRGBcolor, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_eq) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBpixel *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel_eq(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_eq" "', argument " "1"" of type '" "csRGBpixel const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel_eq" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel_eq" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    result = (bool)((csRGBpixel const *)arg1)->eq((csRGBpixel const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_Intensity) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBpixel_Intensity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_Intensity" "', argument " "1"" of type '" "csRGBpixel const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    result = (int)((csRGBpixel const *)arg1)->Intensity();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_Luminance) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csRGBpixel_Luminance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_Luminance" "', argument " "1"" of type '" "csRGBpixel const *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    result = (unsigned char)((csRGBpixel const *)arg1)->Luminance();
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_Set__SWIG_0) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csRGBpixel_Set(self,r,g,b,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_Set" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBpixel_Set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRGBpixel_Set" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csRGBpixel_Set" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csRGBpixel_Set" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->Set(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_Set__SWIG_1) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csRGBpixel_Set(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_Set" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csRGBpixel_Set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csRGBpixel_Set" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csRGBpixel_Set" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->Set(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_Set__SWIG_2) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBpixel *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel_Set(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_Set" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel_Set" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel_Set" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    (arg1)->Set((csRGBpixel const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRGBpixel_Set__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRGBpixel_Set__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csRGBpixel_Set__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csRGBpixel_Set'");
  XSRETURN(0);
}


XS(_wrap_csRGBpixel___add_ass__) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBcolor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel___add_ass__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel___add_ass__" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel___add_ass__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel___add_ass__" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    (arg1)->operator +=((csRGBcolor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_UnsafeAdd) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBpixel *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel_UnsafeAdd(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_UnsafeAdd" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel_UnsafeAdd" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel_UnsafeAdd" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    (arg1)->UnsafeAdd((csRGBpixel const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csRGBpixel_SafeAdd) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    csRGBpixel *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csRGBpixel_SafeAdd(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csRGBpixel_SafeAdd" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csRGBpixel_SafeAdd" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csRGBpixel_SafeAdd" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    (arg1)->SafeAdd((csRGBpixel const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csRGBpixel) {
  {
    csRGBpixel *arg1 = (csRGBpixel *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csRGBpixel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csRGBpixel, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csRGBpixel" "', argument " "1"" of type '" "csRGBpixel *""'"); 
    }
    arg1 = reinterpret_cast< csRGBpixel * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableAccessor_PreGetValue) {
  {
    iShaderVariableAccessor *arg1 = (iShaderVariableAccessor *) 0 ;
    csShaderVariable *arg2 = (csShaderVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderVariableAccessor_PreGetValue(self,variable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableAccessor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableAccessor_PreGetValue" "', argument " "1"" of type '" "iShaderVariableAccessor *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableAccessor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderVariableAccessor_PreGetValue" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    arg2 = reinterpret_cast< csShaderVariable * >(argp2);
    (arg1)->PreGetValue(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iShaderVariableAccessor) {
  {
    iShaderVariableAccessor *arg1 = (iShaderVariableAccessor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iShaderVariableAccessor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableAccessor, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iShaderVariableAccessor" "', argument " "1"" of type '" "iShaderVariableAccessor *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableAccessor * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csShaderVariable__SWIG_0) {
  {
    csShaderVariable *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csShaderVariable();");
    }
    result = (csShaderVariable *)new csShaderVariable();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csShaderVariable__SWIG_1) {
  {
    csStringID arg1 ;
    csShaderVariable *result = 0 ;
    unsigned long val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csShaderVariable(name);");
    }
    ecode1 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csShaderVariable" "', argument " "1"" of type '" "csStringID""'");
    } 
    arg1 = static_cast< csStringID >(val1);
    result = (csShaderVariable *)new csShaderVariable(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csShaderVariable__SWIG_2) {
  {
    csShaderVariable *arg1 = 0 ;
    csShaderVariable *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csShaderVariable(other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csShaderVariable,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csShaderVariable" "', argument " "1"" of type '" "csShaderVariable const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csShaderVariable" "', argument " "1"" of type '" "csShaderVariable const &""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    result = (csShaderVariable *)new csShaderVariable((csShaderVariable const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csShaderVariable) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csShaderVariable__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csShaderVariable__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csShaderVariable__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csShaderVariable'");
  XSRETURN(0);
}


XS(_wrap_delete_csShaderVariable) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csShaderVariable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csShaderVariable" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable___copy__) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csShaderVariable *arg2 = 0 ;
    csShaderVariable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable___copy__(self,copyFrom);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable___copy__" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csShaderVariable,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable___copy__" "', argument " "2"" of type '" "csShaderVariable const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable___copy__" "', argument " "2"" of type '" "csShaderVariable const &""'"); 
    }
    arg2 = reinterpret_cast< csShaderVariable * >(argp2);
    {
      csShaderVariable &_result_ref = (arg1)->operator =((csShaderVariable const &)*arg2);
      result = (csShaderVariable *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetType) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csShaderVariable::VariableType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariable_GetType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetType" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    result = (csShaderVariable::VariableType)(arg1)->GetType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetType) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csShaderVariable::VariableType arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetType(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetType" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariable_SetType" "', argument " "2"" of type '" "csShaderVariable::VariableType""'");
    } 
    arg2 = static_cast< csShaderVariable::VariableType >(val2);
    (arg1)->SetType(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetAccessor) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    iShaderVariableAccessor *arg2 = (iShaderVariableAccessor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetAccessor(self,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetAccessor" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShaderVariableAccessor, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetAccessor" "', argument " "2"" of type '" "iShaderVariableAccessor *""'"); 
    }
    arg2 = reinterpret_cast< iShaderVariableAccessor * >(argp2);
    (arg1)->SetAccessor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetName) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csStringID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetName(self,newName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetName" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariable_SetName" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    (arg1)->SetName(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetName) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csStringID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariable_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetName" "', argument " "1"" of type '" "csShaderVariable const *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    result = (csStringID)((csShaderVariable const *)arg1)->GetName();
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_0) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    int *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "int &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "int &""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_1) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    float *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_2) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csRGBpixel *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csRGBpixel &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csRGBpixel &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_3) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    iTextureHandle **arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_p_iTextureHandle,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "iTextureHandle *&""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "iTextureHandle *&""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle ** >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_4) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    iTextureWrapper **arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_p_iTextureWrapper,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "iTextureWrapper *&""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "iTextureWrapper *&""'"); 
    }
    arg2 = reinterpret_cast< iTextureWrapper ** >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_5) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    iRenderBuffer **arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_p_iRenderBuffer,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "iRenderBuffer *&""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "iRenderBuffer *&""'"); 
    }
    arg2 = reinterpret_cast< iRenderBuffer ** >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_6) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csVector2 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csVector2 &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_7) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_8) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csColor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csColor &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csColor &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_9) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csVector4 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csVector4 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csVector4 &""'"); 
    }
    arg2 = reinterpret_cast< csVector4 * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_10) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csMatrix3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csMatrix3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csMatrix3 &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue__SWIG_11) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_GetValue" "', argument " "2"" of type '" "csReversibleTransform &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = (bool)(arg1)->GetValue(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetValue) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_p_iTextureWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_p_iRenderBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 10;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_10:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 11;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_11:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 12;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_12:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_5); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_6); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_7); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_8); return;
    case 10:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_9); return;
    case 11:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_10); return;
    case 12:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_GetValue__SWIG_11); return;
    }
  }
  
  croak("No matching function for overloaded 'csShaderVariable_GetValue'");
  XSRETURN(0);
}


XS(_wrap_csShaderVariable_SetValue__SWIG_0) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->SetValue(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_1) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)(arg1)->SetValue(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_2) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csRGBpixel *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csRGBpixel const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    result = (bool)(arg1)->SetValue((csRGBpixel const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_3) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    result = (bool)(arg1)->SetValue(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_4) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    iTextureWrapper *arg2 = (iTextureWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "iTextureWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iTextureWrapper * >(argp2);
    result = (bool)(arg1)->SetValue(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_5) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    iRenderBuffer *arg2 = (iRenderBuffer *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "iRenderBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iRenderBuffer * >(argp2);
    result = (bool)(arg1)->SetValue(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_6) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)(arg1)->SetValue((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_7) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)(arg1)->SetValue((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_8) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csColor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    result = (bool)(arg1)->SetValue((csColor const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_9) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csVector4 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csVector4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csVector4 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector4 * >(argp2);
    result = (bool)(arg1)->SetValue((csVector4 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_10) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csMatrix3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    result = (bool)(arg1)->SetValue((csMatrix3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue__SWIG_11) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetValue" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csShaderVariable_SetValue" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = (bool)(arg1)->SetValue((csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetValue) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRenderBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector4, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 10;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_10:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 11;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_11:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 12;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_12:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_4); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_5); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_6); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_7); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_8); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_9); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_10); return;
    case 10:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_11); return;
    case 11:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_0); return;
    case 12:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariable_SetValue__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csShaderVariable_SetValue'");
  XSRETURN(0);
}


XS(_wrap_csShaderVariable_AddVariableToArray) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    csShaderVariable *arg2 = (csShaderVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_AddVariableToArray(self,variable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_AddVariableToArray" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariable_AddVariableToArray" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    arg2 = reinterpret_cast< csShaderVariable * >(argp2);
    (arg1)->AddVariableToArray(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_RemoveFromArray) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_RemoveFromArray(self,element);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_RemoveFromArray" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariable_RemoveFromArray" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->RemoveFromArray(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetArraySize) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_SetArraySize(self,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetArraySize" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariable_SetArraySize" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->SetArraySize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetArraySize) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariable_GetArraySize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetArraySize" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    result = (arg1)->GetArraySize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_GetArrayElement) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    size_t arg2 ;
    csShaderVariable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariable_GetArrayElement(self,element);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_GetArrayElement" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariable_GetArrayElement" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (csShaderVariable *)(arg1)->GetArrayElement(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariable_SetArrayElement) {
  {
    csShaderVariable *arg1 = (csShaderVariable *) 0 ;
    size_t arg2 ;
    csShaderVariable *arg3 = (csShaderVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csShaderVariable_SetArrayElement(self,element,variable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariable_SetArrayElement" "', argument " "1"" of type '" "csShaderVariable *""'"); 
    }
    arg1 = reinterpret_cast< csShaderVariable * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariable_SetArrayElement" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csShaderVariable_SetArrayElement" "', argument " "3"" of type '" "csShaderVariable *""'"); 
    }
    arg3 = reinterpret_cast< csShaderVariable * >(argp3);
    (arg1)->SetArrayElement(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayReadOnly_GetSize) {
  {
    iArrayReadOnly<csShaderVariable * > *arg1 = (iArrayReadOnly<csShaderVariable * > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariableArrayReadOnly_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayReadOnly_GetSize" "', argument " "1"" of type '" "iArrayReadOnly<csShaderVariable * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csShaderVariable * > * >(argp1);
    result = ((iArrayReadOnly<csShaderVariable * > const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayReadOnly_Get) {
  {
    iArrayReadOnly<csShaderVariable * > *arg1 = (iArrayReadOnly<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    csShaderVariable **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArrayReadOnly_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayReadOnly_Get" "', argument " "1"" of type '" "iArrayReadOnly<csShaderVariable * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArrayReadOnly_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csShaderVariable *const &_result_ref = ((iArrayReadOnly<csShaderVariable * > const *)arg1)->Get(arg2);
      result = (csShaderVariable **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(*result), SWIGTYPE_p_csShaderVariable, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayReadOnly_Top) {
  {
    iArrayReadOnly<csShaderVariable * > *arg1 = (iArrayReadOnly<csShaderVariable * > *) 0 ;
    csShaderVariable **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariableArrayReadOnly_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayReadOnly_Top" "', argument " "1"" of type '" "iArrayReadOnly<csShaderVariable * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csShaderVariable * > * >(argp1);
    {
      csShaderVariable *const &_result_ref = ((iArrayReadOnly<csShaderVariable * > const *)arg1)->Top();
      result = (csShaderVariable **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(*result), SWIGTYPE_p_csShaderVariable, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayReadOnly_Find) {
  {
    iArrayReadOnly<csShaderVariable * > *arg1 = (iArrayReadOnly<csShaderVariable * > *) 0 ;
    csShaderVariable **arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csShaderVariable *temp2 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArrayReadOnly_Find(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayReadOnly_Find" "', argument " "1"" of type '" "iArrayReadOnly<csShaderVariable * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csShaderVariable * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableArrayReadOnly_Find" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    temp2 = reinterpret_cast< csShaderVariable * >(argp2);
    arg2 = &temp2;
    result = ((iArrayReadOnly<csShaderVariable * > const *)arg1)->Find((csShaderVariable *const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayReadOnly_GetIndex) {
  {
    iArrayReadOnly<csShaderVariable * > *arg1 = (iArrayReadOnly<csShaderVariable * > *) 0 ;
    csShaderVariable **arg2 = (csShaderVariable **) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArrayReadOnly_GetIndex(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayReadOnly_GetIndex" "', argument " "1"" of type '" "iArrayReadOnly<csShaderVariable * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csShaderVariable * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableArrayReadOnly_GetIndex" "', argument " "2"" of type '" "csShaderVariable *const *""'"); 
    }
    arg2 = reinterpret_cast< csShaderVariable ** >(argp2);
    result = ((iArrayReadOnly<csShaderVariable * > const *)arg1)->GetIndex((csShaderVariable *const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayReadOnly_IsEmpty) {
  {
    iArrayReadOnly<csShaderVariable * > *arg1 = (iArrayReadOnly<csShaderVariable * > *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariableArrayReadOnly_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayReadOnly_IsEmpty" "', argument " "1"" of type '" "iArrayReadOnly<csShaderVariable * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csShaderVariable * > * >(argp1);
    result = (bool)((iArrayReadOnly<csShaderVariable * > const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayReadOnly_GetAll) {
  {
    iArrayReadOnly<csShaderVariable * > *arg1 = (iArrayReadOnly<csShaderVariable * > *) 0 ;
    csShaderVariable **arg2 = (csShaderVariable **) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArrayReadOnly_GetAll(self,dest);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayReadOnly_GetAll" "', argument " "1"" of type '" "iArrayReadOnly<csShaderVariable * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csShaderVariable * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableArrayReadOnly_GetAll" "', argument " "2"" of type '" "csShaderVariable **""'"); 
    }
    arg2 = reinterpret_cast< csShaderVariable ** >(argp2);
    ((iArrayReadOnly<csShaderVariable * > const *)arg1)->GetAll(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csShaderVariableArrayReadOnly) {
  {
    iArrayReadOnly<csShaderVariable * > *arg1 = (iArrayReadOnly<csShaderVariable * > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csShaderVariableArrayReadOnly(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csShaderVariableArrayReadOnly" "', argument " "1"" of type '" "iArrayReadOnly<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csShaderVariable * > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayChangeElements_Get) {
  {
    iArrayChangeElements<csShaderVariable * > *arg1 = (iArrayChangeElements<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    csShaderVariable **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArrayChangeElements_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeElementsTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayChangeElements_Get" "', argument " "1"" of type '" "iArrayChangeElements<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeElements<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArrayChangeElements_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csShaderVariable *&_result_ref = (arg1)->Get(arg2);
      result = (csShaderVariable **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_csShaderVariable, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArrayChangeElements_Top) {
  {
    iArrayChangeElements<csShaderVariable * > *arg1 = (iArrayChangeElements<csShaderVariable * > *) 0 ;
    csShaderVariable **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariableArrayChangeElements_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeElementsTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArrayChangeElements_Top" "', argument " "1"" of type '" "iArrayChangeElements<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeElements<csShaderVariable * > * >(argp1);
    {
      csShaderVariable *&_result_ref = (arg1)->Top();
      result = (csShaderVariable **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_csShaderVariable, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csShaderVariableArrayChangeElements) {
  {
    iArrayChangeElements<csShaderVariable * > *arg1 = (iArrayChangeElements<csShaderVariable * > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csShaderVariableArrayChangeElements(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeElementsTcsShaderVariable_p_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csShaderVariableArrayChangeElements" "', argument " "1"" of type '" "iArrayChangeElements<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeElements<csShaderVariable * > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_SetSize__SWIG_0) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    csShaderVariable **arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    csShaderVariable *temp3 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csShaderVariableArray_SetSize(self,n,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_SetSize" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArray_SetSize" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csShaderVariableArray_SetSize" "', argument " "3"" of type '" "csShaderVariable *""'"); 
    }
    temp3 = reinterpret_cast< csShaderVariable * >(argp3);
    arg3 = &temp3;
    (arg1)->SetSize(arg2,(csShaderVariable *const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_SetSize__SWIG_1) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_SetSize(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_SetSize" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArray_SetSize" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->SetSize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_SetSize) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_csShaderVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariableArray_SetSize__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csShaderVariableArray_SetSize__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csShaderVariableArray_SetSize'");
  XSRETURN(0);
}


XS(_wrap_csShaderVariableArray_GetExtend) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    csShaderVariable **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_GetExtend(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_GetExtend" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArray_GetExtend" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csShaderVariable *&_result_ref = (arg1)->GetExtend(arg2);
      result = (csShaderVariable **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_csShaderVariable, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_Put) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    csShaderVariable **arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    csShaderVariable *temp3 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csShaderVariableArray_Put(self,n,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_Put" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArray_Put" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csShaderVariableArray_Put" "', argument " "3"" of type '" "csShaderVariable *""'"); 
    }
    temp3 = reinterpret_cast< csShaderVariable * >(argp3);
    arg3 = &temp3;
    (arg1)->Put(arg2,(csShaderVariable *const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_Push) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    csShaderVariable **arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csShaderVariable *temp2 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_Push(self,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_Push" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableArray_Push" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    temp2 = reinterpret_cast< csShaderVariable * >(argp2);
    arg2 = &temp2;
    result = (arg1)->Push((csShaderVariable *const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_PushSmart) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    csShaderVariable **arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csShaderVariable *temp2 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_PushSmart(self,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_PushSmart" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableArray_PushSmart" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    temp2 = reinterpret_cast< csShaderVariable * >(argp2);
    arg2 = &temp2;
    result = (arg1)->PushSmart((csShaderVariable *const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_Pop) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    csShaderVariable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariableArray_Pop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_Pop" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    result = (csShaderVariable *)(arg1)->Pop();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_Insert) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    csShaderVariable **arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    csShaderVariable *temp3 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csShaderVariableArray_Insert(self,n,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_Insert" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArray_Insert" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csShaderVariableArray_Insert" "', argument " "3"" of type '" "csShaderVariable *""'"); 
    }
    temp3 = reinterpret_cast< csShaderVariable * >(argp3);
    arg3 = &temp3;
    result = (bool)(arg1)->Insert(arg2,(csShaderVariable *const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_DeleteAll) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariableArray_DeleteAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_DeleteAll" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    (arg1)->DeleteAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_Truncate) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_Truncate(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_Truncate" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArray_Truncate" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->Truncate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_Empty) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderVariableArray_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_Empty" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_DeleteIndex) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_DeleteIndex(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_DeleteIndex" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArray_DeleteIndex" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndex(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_DeleteIndexFast) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_DeleteIndexFast(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_DeleteIndexFast" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderVariableArray_DeleteIndexFast" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndexFast(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_Delete) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    csShaderVariable **arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csShaderVariable *temp2 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_Delete(self,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_Delete" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableArray_Delete" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    temp2 = reinterpret_cast< csShaderVariable * >(argp2);
    arg2 = &temp2;
    result = (bool)(arg1)->Delete((csShaderVariable *const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderVariableArray_DeleteFast) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    csShaderVariable **arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csShaderVariable *temp2 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderVariableArray_DeleteFast(self,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderVariableArray_DeleteFast" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderVariableArray_DeleteFast" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    temp2 = reinterpret_cast< csShaderVariable * >(argp2);
    arg2 = &temp2;
    result = (bool)(arg1)->DeleteFast((csShaderVariable *const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csShaderVariableArray) {
  {
    iArrayChangeAll<csShaderVariable * > *arg1 = (iArrayChangeAll<csShaderVariable * > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csShaderVariableArray(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csShaderVariableArray" "', argument " "1"" of type '" "iArrayChangeAll<csShaderVariable * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csShaderVariable * > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csDefaultRunLoop) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csDefaultRunLoop(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csDefaultRunLoop" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (bool)csDefaultRunLoop(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlatformStartup) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlatformStartup(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlatformStartup" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (bool)csPlatformStartup(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPlatformShutdown) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPlatformShutdown(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPlatformShutdown" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (bool)csPlatformShutdown(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPrintf) {
  {
    char *arg1 = (char *) 0 ;
    void *arg2 = 0 ;
    int result;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 1) {
      SWIG_croak("Usage: csPrintf(str,...);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPrintf" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    result = (int)csPrintf((char const *)arg1,arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    SWIG_croak_null();
  }
}


XS(_wrap_csFPrintf) {
  {
    FILE *arg1 = (FILE *) 0 ;
    char *arg2 = (char *) 0 ;
    void *arg3 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 2) {
      SWIG_croak("Usage: csFPrintf(file,str,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FILE, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFPrintf" "', argument " "1"" of type '" "FILE *""'"); 
    }
    arg1 = reinterpret_cast< FILE * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFPrintf" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)csFPrintf(arg1,(char const *)arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csPrintfErr) {
  {
    char *arg1 = (char *) 0 ;
    void *arg2 = 0 ;
    int result;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 1) {
      SWIG_croak("Usage: csPrintfErr(str,...);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPrintfErr" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    result = (int)csPrintfErr((char const *)arg1,arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    SWIG_croak_null();
  }
}


XS(_wrap_csGetTicks) {
  {
    csTicks result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: csGetTicks();");
    }
    result = (csTicks)csGetTicks();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csGetMicroTicks) {
  {
    int64 result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: csGetMicroTicks();");
    }
    result = csGetMicroTicks();
    ST(argvi) = SWIG_NewPointerObj((new int64(static_cast< const int64& >(result))), SWIGTYPE_p_int64_t, SWIG_POINTER_OWN | 0); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csSleep) {
  {
    int arg1 ;
    int val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSleep(int);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csSleep" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    csSleep(arg1);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGetUsername) {
  {
    csString result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: csGetUsername();");
    }
    result = csGetUsername();
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csGetPlatformConfigPath__SWIG_0) {
  {
    char *arg1 = (char *) 0 ;
    bool arg2 ;
    csString result;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGetPlatformConfigPath(key,local);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGetPlatformConfigPath" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGetPlatformConfigPath" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    result = csGetPlatformConfigPath((char const *)arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGetPlatformConfigPath__SWIG_1) {
  {
    char *arg1 = (char *) 0 ;
    csString result;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGetPlatformConfigPath(key);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGetPlatformConfigPath" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    result = csGetPlatformConfigPath((char const *)arg1);
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    SWIG_croak_null();
  }
}


XS(_wrap_csGetPlatformConfigPath) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csGetPlatformConfigPath__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csGetPlatformConfigPath__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csGetPlatformConfigPath'");
  XSRETURN(0);
}


XS(_wrap_new_csPluginRequest__SWIG_0) {
  {
    csString arg1 ;
    csString arg2 ;
    scfInterfaceID arg3 ;
    int arg4 ;
    csPluginRequest *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csPluginRequest(class_name,interface_name,interface_id,interface_version);");
    }
    {
      res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csString,  0 );
      if (!SWIG_IsOK(res1)) {
        SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPluginRequest" "', argument " "1"" of type '" "csString""'"); 
      }  
      if (!argp1) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPluginRequest" "', argument " "1"" of type '" "csString""'");
      } else {
        arg1 = *(reinterpret_cast< csString * >(argp1));
      }
    }
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csString,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csPluginRequest" "', argument " "2"" of type '" "csString""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPluginRequest" "', argument " "2"" of type '" "csString""'");
      } else {
        arg2 = *(reinterpret_cast< csString * >(argp2));
      }
    }
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csPluginRequest" "', argument " "3"" of type '" "scfInterfaceID""'");
    } 
    arg3 = static_cast< scfInterfaceID >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csPluginRequest" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (csPluginRequest *)new csPluginRequest(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPluginRequest, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPluginRequest__SWIG_1) {
  {
    csPluginRequest *arg1 = 0 ;
    csPluginRequest *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPluginRequest(r);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csPluginRequest,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPluginRequest" "', argument " "1"" of type '" "csPluginRequest const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPluginRequest" "', argument " "1"" of type '" "csPluginRequest const &""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    result = (csPluginRequest *)new csPluginRequest((csPluginRequest const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPluginRequest, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPluginRequest) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPluginRequest, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPluginRequest__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPluginRequest__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csPluginRequest'");
  XSRETURN(0);
}


XS(_wrap_csPluginRequest___copy__) {
  {
    csPluginRequest *arg1 = (csPluginRequest *) 0 ;
    csPluginRequest *arg2 = 0 ;
    csPluginRequest *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequest___copy__(self,r);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPluginRequest, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequest___copy__" "', argument " "1"" of type '" "csPluginRequest *""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPluginRequest,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPluginRequest___copy__" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPluginRequest___copy__" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    arg2 = reinterpret_cast< csPluginRequest * >(argp2);
    {
      csPluginRequest &_result_ref = (arg1)->operator =((csPluginRequest const &)*arg2);
      result = (csPluginRequest *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPluginRequest, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequest___eq__) {
  {
    csPluginRequest *arg1 = (csPluginRequest *) 0 ;
    csPluginRequest *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequest___eq__(self,csPluginRequest const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPluginRequest, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequest___eq__" "', argument " "1"" of type '" "csPluginRequest const *""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPluginRequest,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPluginRequest___eq__" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPluginRequest___eq__" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    arg2 = reinterpret_cast< csPluginRequest * >(argp2);
    result = (bool)((csPluginRequest const *)arg1)->operator ==((csPluginRequest const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequest___ne__) {
  {
    csPluginRequest *arg1 = (csPluginRequest *) 0 ;
    csPluginRequest *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequest___ne__(self,r);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPluginRequest, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequest___ne__" "', argument " "1"" of type '" "csPluginRequest const *""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPluginRequest,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPluginRequest___ne__" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPluginRequest___ne__" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    arg2 = reinterpret_cast< csPluginRequest * >(argp2);
    result = (bool)((csPluginRequest const *)arg1)->operator !=((csPluginRequest const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequest_GetClassName) {
  {
    csPluginRequest *arg1 = (csPluginRequest *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequest_GetClassName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPluginRequest, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequest_GetClassName" "', argument " "1"" of type '" "csPluginRequest const *""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    result = ((csPluginRequest const *)arg1)->GetClassName();
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequest_GetInterfaceName) {
  {
    csPluginRequest *arg1 = (csPluginRequest *) 0 ;
    csString result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequest_GetInterfaceName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPluginRequest, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequest_GetInterfaceName" "', argument " "1"" of type '" "csPluginRequest const *""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    result = ((csPluginRequest const *)arg1)->GetInterfaceName();
    ST(argvi) = SWIG_NewPointerObj((new csString(static_cast< const csString& >(result))), SWIGTYPE_p_csString, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequest_GetInterfaceID) {
  {
    csPluginRequest *arg1 = (csPluginRequest *) 0 ;
    scfInterfaceID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequest_GetInterfaceID(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPluginRequest, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequest_GetInterfaceID" "', argument " "1"" of type '" "csPluginRequest const *""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    result = (scfInterfaceID)((csPluginRequest const *)arg1)->GetInterfaceID();
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequest_GetInterfaceVersion) {
  {
    csPluginRequest *arg1 = (csPluginRequest *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequest_GetInterfaceVersion(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPluginRequest, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequest_GetInterfaceVersion" "', argument " "1"" of type '" "csPluginRequest const *""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    result = (int)((csPluginRequest const *)arg1)->GetInterfaceVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPluginRequest) {
  {
    csPluginRequest *arg1 = (csPluginRequest *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPluginRequest(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPluginRequest, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPluginRequest" "', argument " "1"" of type '" "csPluginRequest *""'"); 
    }
    arg1 = reinterpret_cast< csPluginRequest * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateEnvironment) {
  {
    int arg1 ;
    char **arg2 ;
    iObjectRegistry *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CreateEnvironment(argc,argv);");
    }
    {
      // Convert incoming Perl array reference to argc/argv[].  Note that we
      // manually determine and prepend the script name to the incoming @ARGV array
      // since C functions expect argv[0] to be the program name, whereas the Perl
      // @ARGV array is filled only with script arguments.
      AV *av = (AV *) SvRV (ST(0));
      if (SvTYPE (av) != SVt_PVAV)
      croak ("%s", "Argument must be an array reference");
      arg1 = av_len (av) + 2; // +1 to get actual array length; +1 for script name
      arg2 = new char* [arg1];
      arg2[0] = SvPV_nolen(get_sv("0", 0));
      for (int i = 1; i < arg1; i++)
      {
        SV **sv = av_fetch (av, i - 1, 0);
        arg2[i] = SvPV_nolen (*sv);
      }
    }
    result = (iObjectRegistry *)csInitializer::CreateEnvironment(arg1,(char const *const (*))arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObjectRegistry, 0 | SWIG_SHADOW); argvi++ ;
    {
      delete[] arg2;
      
      // Let caller know that we consumed the entire array (i.e. we `shifted'
      // all elements). It is safe to do this only after all usage of arg2[]
      // since arg2[] contains live references to strings in ST(0).
      av_clear((AV*)SvRV(ST(0)));
    }
    XSRETURN(argvi);
  fail:
    {
      delete[] arg2;
      
      // Let caller know that we consumed the entire array (i.e. we `shifted'
      // all elements). It is safe to do this only after all usage of arg2[]
      // since arg2[] contains live references to strings in ST(0).
      av_clear((AV*)SvRV(ST(0)));
    }
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_InitializeSCF) {
  {
    int arg1 ;
    char **arg2 ;
    bool result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_InitializeSCF(argc,argv);");
    }
    {
      // Convert incoming Perl array reference to argc/argv[].  Note that we
      // manually determine and prepend the script name to the incoming @ARGV array
      // since C functions expect argv[0] to be the program name, whereas the Perl
      // @ARGV array is filled only with script arguments.
      AV *av = (AV *) SvRV (ST(0));
      if (SvTYPE (av) != SVt_PVAV)
      croak ("%s", "Argument must be an array reference");
      arg1 = av_len (av) + 2; // +1 to get actual array length; +1 for script name
      arg2 = new char* [arg1];
      arg2[0] = SvPV_nolen(get_sv("0", 0));
      for (int i = 1; i < arg1; i++)
      {
        SV **sv = av_fetch (av, i - 1, 0);
        arg2[i] = SvPV_nolen (*sv);
      }
    }
    result = (bool)csInitializer::InitializeSCF(arg1,(char const *const (*))arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    {
      delete[] arg2;
      
      // Let caller know that we consumed the entire array (i.e. we `shifted'
      // all elements). It is safe to do this only after all usage of arg2[]
      // since arg2[] contains live references to strings in ST(0).
      av_clear((AV*)SvRV(ST(0)));
    }
    XSRETURN(argvi);
  fail:
    {
      delete[] arg2;
      
      // Let caller know that we consumed the entire array (i.e. we `shifted'
      // all elements). It is safe to do this only after all usage of arg2[]
      // since arg2[] contains live references to strings in ST(0).
      av_clear((AV*)SvRV(ST(0)));
    }
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateObjectRegistry) {
  {
    iObjectRegistry *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: csInitializer_CreateObjectRegistry();");
    }
    result = (iObjectRegistry *)csInitializer::CreateObjectRegistry();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObjectRegistry, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreatePluginManager) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iPluginManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CreatePluginManager(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CreatePluginManager" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (iPluginManager *)csInitializer::CreatePluginManager(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPluginManager, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateEventQueue) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iEventQueue *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CreateEventQueue(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CreateEventQueue" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (iEventQueue *)csInitializer::CreateEventQueue(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iEventQueue, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateVirtualClock) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iVirtualClock *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CreateVirtualClock(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CreateVirtualClock" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (iVirtualClock *)csInitializer::CreateVirtualClock(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iVirtualClock, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateCommandLineParser) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    int arg2 ;
    char **arg3 ;
    iCommandLineParser *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csInitializer_CreateCommandLineParser(iObjectRegistry *,argc,argv);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CreateCommandLineParser" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    {
      // Convert incoming Perl array reference to argc/argv[].  Note that we
      // manually determine and prepend the script name to the incoming @ARGV array
      // since C functions expect argv[0] to be the program name, whereas the Perl
      // @ARGV array is filled only with script arguments.
      AV *av = (AV *) SvRV (ST(1));
      if (SvTYPE (av) != SVt_PVAV)
      croak ("%s", "Argument must be an array reference");
      arg2 = av_len (av) + 2; // +1 to get actual array length; +1 for script name
      arg3 = new char* [arg2];
      arg3[0] = SvPV_nolen(get_sv("0", 0));
      for (int i = 1; i < arg2; i++)
      {
        SV **sv = av_fetch (av, i - 1, 0);
        arg3[i] = SvPV_nolen (*sv);
      }
    }
    result = (iCommandLineParser *)csInitializer::CreateCommandLineParser(arg1,arg2,(char const *const (*))arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCommandLineParser, 0 | SWIG_SHADOW); argvi++ ;
    
    {
      delete[] arg3;
      
      // Let caller know that we consumed the entire array (i.e. we `shifted'
      // all elements). It is safe to do this only after all usage of arg3[]
      // since arg3[] contains live references to strings in ST(1).
      av_clear((AV*)SvRV(ST(1)));
    }
    XSRETURN(argvi);
  fail:
    
    {
      delete[] arg3;
      
      // Let caller know that we consumed the entire array (i.e. we `shifted'
      // all elements). It is safe to do this only after all usage of arg3[]
      // since arg3[] contains live references to strings in ST(1).
      av_clear((AV*)SvRV(ST(1)));
    }
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateVerbosityManager) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iVerbosityManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CreateVerbosityManager(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CreateVerbosityManager" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (iVerbosityManager *)csInitializer::CreateVerbosityManager(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iVerbosityManager, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateConfigManager) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iConfigManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CreateConfigManager(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CreateConfigManager" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (iConfigManager *)csInitializer::CreateConfigManager(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iConfigManager, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateInputDrivers) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CreateInputDrivers(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CreateInputDrivers" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (bool)csInitializer::CreateInputDrivers(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CreateStringSet) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CreateStringSet(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CreateStringSet" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (bool)csInitializer::CreateStringSet(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_SetupConfigManager) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg2 = 0; 
    }
    if ((items < 1) || (items > 3)) {
      SWIG_croak("Usage: csInitializer_SetupConfigManager(iObjectRegistry *,configName,ApplicationID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_SetupConfigManager" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    if (items > 1) {
      res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csInitializer_SetupConfigManager" "', argument " "2"" of type '" "char const *""'");
      }
      arg2 = buf2;
    }
    if (items > 2) {
      res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csInitializer_SetupConfigManager" "', argument " "3"" of type '" "char const *""'");
      }
      arg3 = buf3;
    }
    result = (bool)csInitializer::SetupConfigManager(arg1,(char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_SetupVFS__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    iVFS *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csInitializer_SetupVFS(objectReg,pluginID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_SetupVFS" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csInitializer_SetupVFS" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iVFS *)csInitializer::SetupVFS(arg1,(char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iVFS, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_SetupVFS__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iVFS *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_SetupVFS(objectReg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_SetupVFS" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (iVFS *)csInitializer::SetupVFS(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iVFS, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_SetupVFS) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csInitializer_SetupVFS__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csInitializer_SetupVFS__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csInitializer_SetupVFS'");
  XSRETURN(0);
}


XS(_wrap_csInitializer__RequestPlugins) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csArray<csPluginRequest > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csInitializer__RequestPlugins(iObjectRegistry *,csArray<csPluginRequest > const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer__RequestPlugins" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csInitializer__RequestPlugins" "', argument " "2"" of type '" "csArray<csPluginRequest > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csInitializer__RequestPlugins" "', argument " "2"" of type '" "csArray<csPluginRequest > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<csPluginRequest > * >(argp2);
    result = (bool)csInitializer::RequestPlugins(arg1,(csArray<csPluginRequest > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_OpenApplication) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_OpenApplication(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_OpenApplication" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (bool)csInitializer::OpenApplication(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_CloseApplication) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_CloseApplication(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_CloseApplication" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    csInitializer::CloseApplication(arg1);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer__SetupEventHandler) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csInitializer__SetupEventHandler(iObjectRegistry *,iEventHandler *,csEventID const []);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer__SetupEventHandler" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csInitializer__SetupEventHandler" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_unsigned_long, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csInitializer__SetupEventHandler" "', argument " "3"" of type '" "csEventID const []""'"); 
    } 
    arg3 = reinterpret_cast< csEventID * >(argp3);
    result = (bool)csInitializer::SetupEventHandler(arg1,arg2,(unsigned long const (*))arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_DestroyApplication) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csInitializer_DestroyApplication(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInitializer_DestroyApplication" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    csInitializer::DestroyApplication(arg1);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInitializer_GetDefaultAppID) {
  {
    char *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: csInitializer_GetDefaultAppID();");
    }
    result = (char *)csInitializer::GetDefaultAppID();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csInitializer) {
  {
    csInitializer *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csInitializer();");
    }
    result = (csInitializer *)new csInitializer();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csInitializer, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csInitializer) {
  {
    csInitializer *arg1 = (csInitializer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csInitializer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csInitializer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csInitializer" "', argument " "1"" of type '" "csInitializer *""'"); 
    }
    arg1 = reinterpret_cast< csInitializer * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPluginRequestArray__SWIG_0) {
  {
    size_t arg1 ;
    csArrayCapacityDefault *arg2 = 0 ;
    csArray<csPluginRequest > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csPluginRequestArray(in_capacity,ch);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPluginRequestArray" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayCapacityDefault,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csPluginRequestArray" "', argument " "2"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPluginRequestArray" "', argument " "2"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    arg2 = reinterpret_cast< csArrayCapacityDefault * >(argp2);
    result = (csArray<csPluginRequest > *)new csArray<csPluginRequest >(arg1,(csArrayCapacityDefault const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPluginRequestArray__SWIG_1) {
  {
    size_t arg1 ;
    csArray<csPluginRequest > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPluginRequestArray(in_capacity);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPluginRequestArray" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csArray<csPluginRequest > *)new csArray<csPluginRequest >(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPluginRequestArray__SWIG_2) {
  {
    csArray<csPluginRequest > *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPluginRequestArray();");
    }
    result = (csArray<csPluginRequest > *)new csArray<csPluginRequest >();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPluginRequestArray__SWIG_3) {
  {
    size_t arg1 ;
    CS::Memory::AllocatorMalloc *arg2 = 0 ;
    csArrayCapacityDefault *arg3 = 0 ;
    csArray<csPluginRequest > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csPluginRequestArray(in_capacity,alloc,ch);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPluginRequestArray" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_CS__Memory__AllocatorMalloc,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csPluginRequestArray" "', argument " "2"" of type '" "CS::Memory::AllocatorMalloc const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPluginRequestArray" "', argument " "2"" of type '" "CS::Memory::AllocatorMalloc const &""'"); 
    }
    arg2 = reinterpret_cast< CS::Memory::AllocatorMalloc * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csArrayCapacityDefault,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csPluginRequestArray" "', argument " "3"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPluginRequestArray" "', argument " "3"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    arg3 = reinterpret_cast< csArrayCapacityDefault * >(argp3);
    result = (csArray<csPluginRequest > *)new csArray<csPluginRequest >(arg1,(CS::Memory::AllocatorMalloc const &)*arg2,(csArrayCapacityDefault const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPluginRequestArray) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPluginRequestArray(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPluginRequestArray" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPluginRequestArray__SWIG_4) {
  {
    csArray<csPluginRequest > *arg1 = 0 ;
    csArray<csPluginRequest > *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPluginRequestArray(source);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPluginRequestArray" "', argument " "1"" of type '" "csArray<csPluginRequest > const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPluginRequestArray" "', argument " "1"" of type '" "csArray<csPluginRequest > const &""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    result = (csArray<csPluginRequest > *)new csArray<csPluginRequest >((csArray<csPluginRequest > const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPluginRequestArray) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csArrayCapacityDefault, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_CS__Memory__AllocatorMalloc, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csArrayCapacityDefault, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPluginRequestArray__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPluginRequestArray__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPluginRequestArray__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPluginRequestArray__SWIG_0); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPluginRequestArray__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csPluginRequestArray'");
  XSRETURN(0);
}


XS(_wrap_csPluginRequestArray_GetSize) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequestArray_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_GetSize" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    result = ((csArray<csPluginRequest > const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Length) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequestArray_Length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Length" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    result = ((csArray<csPluginRequest > const *)arg1)->Length();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Get) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t arg2 ;
    csPluginRequest *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Get" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPluginRequestArray_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csPluginRequest const &_result_ref = ((csArray<csPluginRequest > const *)arg1)->Get(arg2);
      result = (csPluginRequest *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPluginRequest, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Push) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    csPluginRequest *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray_Push(self,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Push" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPluginRequest,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPluginRequestArray_Push" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPluginRequestArray_Push" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    arg2 = reinterpret_cast< csPluginRequest * >(argp2);
    result = (arg1)->Push((csPluginRequest const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Pop) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    SwigValueWrapper<csPluginRequest > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequestArray_Pop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Pop" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    result = (arg1)->Pop();
    ST(argvi) = SWIG_NewPointerObj((new csPluginRequest(static_cast< const csPluginRequest& >(result))), SWIGTYPE_p_csPluginRequest, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Top) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    csPluginRequest *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequestArray_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Top" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    {
      csPluginRequest const &_result_ref = ((csArray<csPluginRequest > const *)arg1)->Top();
      result = (csPluginRequest *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPluginRequest, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Insert) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t arg2 ;
    csPluginRequest *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPluginRequestArray_Insert(self,n,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Insert" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPluginRequestArray_Insert" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPluginRequest,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPluginRequestArray_Insert" "', argument " "3"" of type '" "csPluginRequest const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPluginRequestArray_Insert" "', argument " "3"" of type '" "csPluginRequest const &""'"); 
    }
    arg3 = reinterpret_cast< csPluginRequest * >(argp3);
    result = (bool)(arg1)->Insert(arg2,(csPluginRequest const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Contains) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    csPluginRequest *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray_Contains(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Contains" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPluginRequest,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPluginRequestArray_Contains" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPluginRequestArray_Contains" "', argument " "2"" of type '" "csPluginRequest const &""'"); 
    }
    arg2 = reinterpret_cast< csPluginRequest * >(argp2);
    result = ((csArray<csPluginRequest > const *)arg1)->Contains((csPluginRequest const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Truncate) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray_Truncate(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Truncate" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPluginRequestArray_Truncate" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->Truncate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_Empty) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequestArray_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_Empty" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_IsEmpty) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequestArray_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_IsEmpty" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    result = (bool)((csArray<csPluginRequest > const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_SetMinimalCapacity) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray_SetMinimalCapacity(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_SetMinimalCapacity" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPluginRequestArray_SetMinimalCapacity" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->SetMinimalCapacity(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_DeleteIndex) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray_DeleteIndex(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_DeleteIndex" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPluginRequestArray_DeleteIndex" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndex(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_DeleteIndexFast) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray_DeleteIndexFast(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_DeleteIndexFast" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPluginRequestArray_DeleteIndexFast" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndexFast(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_DeleteRange) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    size_t arg2 ;
    size_t arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPluginRequestArray_DeleteRange(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_DeleteRange" "', argument " "1"" of type '" "csArray<csPluginRequest > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPluginRequestArray_DeleteRange" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPluginRequestArray_DeleteRange" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (bool)(arg1)->DeleteRange(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray___eq__) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    csArray<csPluginRequest > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray___eq__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray___eq__" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPluginRequestArray___eq__" "', argument " "2"" of type '" "csArray<csPluginRequest > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPluginRequestArray___eq__" "', argument " "2"" of type '" "csArray<csPluginRequest > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<csPluginRequest > * >(argp2);
    result = (bool)((csArray<csPluginRequest > const *)arg1)->operator ==((csArray<csPluginRequest > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray___ne__) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    csArray<csPluginRequest > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPluginRequestArray___ne__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray___ne__" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPluginRequestArray___ne__" "', argument " "2"" of type '" "csArray<csPluginRequest > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPluginRequestArray___ne__" "', argument " "2"" of type '" "csArray<csPluginRequest > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<csPluginRequest > * >(argp2);
    result = (bool)((csArray<csPluginRequest > const *)arg1)->operator !=((csArray<csPluginRequest > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPluginRequestArray_GetAllocator) {
  {
    csArray<csPluginRequest > *arg1 = (csArray<csPluginRequest > *) 0 ;
    CS::Memory::AllocatorMalloc *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPluginRequestArray_GetAllocator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPluginRequestArray_GetAllocator" "', argument " "1"" of type '" "csArray<csPluginRequest > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csPluginRequest > * >(argp1);
    {
      CS::Memory::AllocatorMalloc const &_result_ref = ((csArray<csPluginRequest > const *)arg1)->GetAllocator();
      result = (CS::Memory::AllocatorMalloc *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CS__Memory__AllocatorMalloc, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKey_Type) {
  {
    iAwsKey *arg1 = (iAwsKey *) 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsKey_Type(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKey_Type" "', argument " "1"" of type '" "iAwsKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKey * >(argp1);
    result = ((iAwsKey const *)arg1)->Type();
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKey_Name) {
  {
    iAwsKey *arg1 = (iAwsKey *) 0 ;
    unsigned long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsKey_Name(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKey_Name" "', argument " "1"" of type '" "iAwsKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKey * >(argp1);
    result = (unsigned long)((iAwsKey const *)arg1)->Name();
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsKey) {
  {
    iAwsKey *arg1 = (iAwsKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsKey" "', argument " "1"" of type '" "iAwsKey *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKey * >(argp1);
    delete_iAwsKey(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKey_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iAwsKey_scfGetVersion();");
    }
    result = (int)iAwsKey_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsIntKey_Value) {
  {
    iAwsIntKey *arg1 = (iAwsIntKey *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsIntKey_Value(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsIntKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsIntKey_Value" "', argument " "1"" of type '" "iAwsIntKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsIntKey * >(argp1);
    result = (int)((iAwsIntKey const *)arg1)->Value();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsIntKey) {
  {
    iAwsIntKey *arg1 = (iAwsIntKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsIntKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsIntKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsIntKey" "', argument " "1"" of type '" "iAwsIntKey *""'"); 
    }
    arg1 = reinterpret_cast< iAwsIntKey * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsFloatKey_Value) {
  {
    iAwsFloatKey *arg1 = (iAwsFloatKey *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsFloatKey_Value(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsFloatKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsFloatKey_Value" "', argument " "1"" of type '" "iAwsFloatKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsFloatKey * >(argp1);
    result = (float)((iAwsFloatKey const *)arg1)->Value();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsFloatKey) {
  {
    iAwsFloatKey *arg1 = (iAwsFloatKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsFloatKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsFloatKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsFloatKey" "', argument " "1"" of type '" "iAwsFloatKey *""'"); 
    }
    arg1 = reinterpret_cast< iAwsFloatKey * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsStringKey_Value) {
  {
    iAwsStringKey *arg1 = (iAwsStringKey *) 0 ;
    iString *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsStringKey_Value(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsStringKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsStringKey_Value" "', argument " "1"" of type '" "iAwsStringKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsStringKey * >(argp1);
    result = (iString *)((iAwsStringKey const *)arg1)->Value();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iString, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsStringKey) {
  {
    iAwsStringKey *arg1 = (iAwsStringKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsStringKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsStringKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsStringKey" "', argument " "1"" of type '" "iAwsStringKey *""'"); 
    }
    arg1 = reinterpret_cast< iAwsStringKey * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsRectKey_Value) {
  {
    iAwsRectKey *arg1 = (iAwsRectKey *) 0 ;
    csRect result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsRectKey_Value(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsRectKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsRectKey_Value" "', argument " "1"" of type '" "iAwsRectKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsRectKey * >(argp1);
    result = ((iAwsRectKey const *)arg1)->Value();
    ST(argvi) = SWIG_NewPointerObj((new csRect(static_cast< const csRect& >(result))), SWIGTYPE_p_csRect, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsRectKey) {
  {
    iAwsRectKey *arg1 = (iAwsRectKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsRectKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsRectKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsRectKey" "', argument " "1"" of type '" "iAwsRectKey *""'"); 
    }
    arg1 = reinterpret_cast< iAwsRectKey * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsRGBKey_Value) {
  {
    iAwsRGBKey *arg1 = (iAwsRGBKey *) 0 ;
    iAwsRGBKey::RGB *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsRGBKey_Value(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsRGBKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsRGBKey_Value" "', argument " "1"" of type '" "iAwsRGBKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsRGBKey * >(argp1);
    {
      iAwsRGBKey::RGB const &_result_ref = ((iAwsRGBKey const *)arg1)->Value();
      result = (iAwsRGBKey::RGB *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsRGBKey__RGB, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsRGBKey) {
  {
    iAwsRGBKey *arg1 = (iAwsRGBKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsRGBKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsRGBKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsRGBKey" "', argument " "1"" of type '" "iAwsRGBKey *""'"); 
    }
    arg1 = reinterpret_cast< iAwsRGBKey * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPointKey_Value) {
  {
    iAwsPointKey *arg1 = (iAwsPointKey *) 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsPointKey_Value(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPointKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPointKey_Value" "', argument " "1"" of type '" "iAwsPointKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPointKey * >(argp1);
    result = ((iAwsPointKey const *)arg1)->Value();
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsPointKey) {
  {
    iAwsPointKey *arg1 = (iAwsPointKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsPointKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPointKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsPointKey" "', argument " "1"" of type '" "iAwsPointKey *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPointKey * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsConnectionKey_Sink) {
  {
    iAwsConnectionKey *arg1 = (iAwsConnectionKey *) 0 ;
    iAwsSink *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsConnectionKey_Sink(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsConnectionKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsConnectionKey_Sink" "', argument " "1"" of type '" "iAwsConnectionKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsConnectionKey * >(argp1);
    result = (iAwsSink *)((iAwsConnectionKey const *)arg1)->Sink();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsSink, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsConnectionKey_Trigger) {
  {
    iAwsConnectionKey *arg1 = (iAwsConnectionKey *) 0 ;
    unsigned long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsConnectionKey_Trigger(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsConnectionKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsConnectionKey_Trigger" "', argument " "1"" of type '" "iAwsConnectionKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsConnectionKey * >(argp1);
    result = (unsigned long)((iAwsConnectionKey const *)arg1)->Trigger();
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsConnectionKey_Signal) {
  {
    iAwsConnectionKey *arg1 = (iAwsConnectionKey *) 0 ;
    unsigned long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsConnectionKey_Signal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsConnectionKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsConnectionKey_Signal" "', argument " "1"" of type '" "iAwsConnectionKey const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsConnectionKey * >(argp1);
    result = (unsigned long)((iAwsConnectionKey const *)arg1)->Signal();
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsConnectionKey) {
  {
    iAwsConnectionKey *arg1 = (iAwsConnectionKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsConnectionKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsConnectionKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsConnectionKey" "', argument " "1"" of type '" "iAwsConnectionKey *""'"); 
    }
    arg1 = reinterpret_cast< iAwsConnectionKey * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Find__SWIG_0) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    iString *arg2 = (iString *) 0 ;
    iAwsKey *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_Find(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Find" "', argument " "1"" of type '" "iAwsKeyContainer const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyContainer_Find" "', argument " "2"" of type '" "iString *""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    result = (iAwsKey *)((iAwsKeyContainer const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsKey, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Find__SWIG_1) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsKey *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_Find(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Find" "', argument " "1"" of type '" "iAwsKeyContainer const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyContainer_Find" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iAwsKey *)((iAwsKeyContainer const *)arg1)->Find((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsKey, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Find__SWIG_2) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    unsigned long arg2 ;
    iAwsKey *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_Find(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Find" "', argument " "1"" of type '" "iAwsKeyContainer const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsKeyContainer_Find" "', argument " "2"" of type '" "unsigned long""'");
    } 
    arg2 = static_cast< unsigned long >(val2);
    result = (iAwsKey *)((iAwsKeyContainer const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsKey, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Find) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsKeyContainer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsKeyContainer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsKeyContainer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsKeyContainer_Find__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsKeyContainer_Find__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsKeyContainer_Find__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsKeyContainer_Find'");
  XSRETURN(0);
}


XS(_wrap_iAwsKeyContainer_Children) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    csRefArray<iAwsKey > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsKeyContainer_Children(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Children" "', argument " "1"" of type '" "iAwsKeyContainer const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    {
      csRefArray<iAwsKey > const &_result_ref = ((iAwsKeyContainer const *)arg1)->Children();
      result = (csRefArray<iAwsKey > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRefArrayTiAwsKey_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Add) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    iAwsKey *arg2 = (iAwsKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_Add(self,key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Add" "', argument " "1"" of type '" "iAwsKeyContainer *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsKey, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyContainer_Add" "', argument " "2"" of type '" "iAwsKey *""'"); 
    }
    arg2 = reinterpret_cast< iAwsKey * >(argp2);
    (arg1)->Add(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_GetAt) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    int arg2 ;
    iAwsKey *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_GetAt(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_GetAt" "', argument " "1"" of type '" "iAwsKeyContainer const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsKeyContainer_GetAt" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iAwsKey *)((iAwsKeyContainer const *)arg1)->GetAt(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsKey, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Length) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsKeyContainer_Length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Length" "', argument " "1"" of type '" "iAwsKeyContainer const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    result = (int)((iAwsKeyContainer const *)arg1)->Length();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Remove__SWIG_0) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    iString *arg2 = (iString *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_Remove(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Remove" "', argument " "1"" of type '" "iAwsKeyContainer *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyContainer_Remove" "', argument " "2"" of type '" "iString *""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    (arg1)->Remove(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Remove__SWIG_1) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_Remove(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Remove" "', argument " "1"" of type '" "iAwsKeyContainer *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyContainer_Remove" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->Remove((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Remove__SWIG_2) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    iAwsKey *arg2 = (iAwsKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_Remove(self,key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Remove" "', argument " "1"" of type '" "iAwsKeyContainer *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsKey, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyContainer_Remove" "', argument " "2"" of type '" "iAwsKey *""'"); 
    }
    arg2 = reinterpret_cast< iAwsKey * >(argp2);
    (arg1)->Remove(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsKeyContainer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsKeyContainer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iAwsKey, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsKeyContainer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsKeyContainer_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsKeyContainer_Remove__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsKeyContainer_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsKeyContainer_Remove'");
  XSRETURN(0);
}


XS(_wrap_iAwsKeyContainer_RemoveAll) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsKeyContainer_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_RemoveAll" "', argument " "1"" of type '" "iAwsKeyContainer *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyContainer_Consume) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    iAwsKeyContainer *arg2 = (iAwsKeyContainer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyContainer_Consume(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyContainer_Consume" "', argument " "1"" of type '" "iAwsKeyContainer *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsKeyContainer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyContainer_Consume" "', argument " "2"" of type '" "iAwsKeyContainer *""'"); 
    }
    arg2 = reinterpret_cast< iAwsKeyContainer * >(argp2);
    (arg1)->Consume(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsKeyContainer) {
  {
    iAwsKeyContainer *arg1 = (iAwsKeyContainer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsKeyContainer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyContainer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsKeyContainer" "', argument " "1"" of type '" "iAwsKeyContainer *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyContainer * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponentNode_ComponentTypeName) {
  {
    iAwsComponentNode *arg1 = (iAwsComponentNode *) 0 ;
    iString *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponentNode_ComponentTypeName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponentNode_ComponentTypeName" "', argument " "1"" of type '" "iAwsComponentNode const *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponentNode * >(argp1);
    result = (iString *)((iAwsComponentNode const *)arg1)->ComponentTypeName();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iString, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsComponentNode) {
  {
    iAwsComponentNode *arg1 = (iAwsComponentNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsComponentNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponentNode, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsComponentNode" "', argument " "1"" of type '" "iAwsComponentNode *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponentNode * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetPrefMgr) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsPrefManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetPrefMgr(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetPrefMgr" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iAwsPrefManager *)(arg1)->GetPrefMgr();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsPrefManager, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetSinkMgr) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsSinkManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetSinkMgr(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetSinkMgr" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iAwsSinkManager *)(arg1)->GetSinkMgr();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsSinkManager, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetPrefMgr) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsPrefManager *arg2 = (iAwsPrefManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_SetPrefMgr(self,pmgr);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetPrefMgr" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetPrefMgr" "', argument " "2"" of type '" "iAwsPrefManager *""'"); 
    }
    arg2 = reinterpret_cast< iAwsPrefManager * >(argp2);
    (arg1)->SetPrefMgr(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetStringTable) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iStringSet *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetStringTable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetStringTable" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iStringSet *)(arg1)->GetStringTable();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iStringSet, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_RegisterComponentFactory) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponentFactory *arg2 = (iAwsComponentFactory *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAws_RegisterComponentFactory(self,factory,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_RegisterComponentFactory" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponentFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_RegisterComponentFactory" "', argument " "2"" of type '" "iAwsComponentFactory *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponentFactory * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAws_RegisterComponentFactory" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->RegisterComponentFactory(arg2,(char const *)arg3);
    
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_FindComponentFactory) {
  {
    iAws *arg1 = (iAws *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsComponentFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_FindComponentFactory(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_FindComponentFactory" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_FindComponentFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iAwsComponentFactory *)(arg1)->FindComponentFactory((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponentFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetTopComponent) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetTopComponent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetTopComponent" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iAwsComponent *)(arg1)->GetTopComponent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetTopComponent) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_SetTopComponent(self,win);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetTopComponent" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetTopComponent" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->SetTopComponent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetFocusedComponent) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetFocusedComponent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetFocusedComponent" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iAwsComponent *)(arg1)->GetFocusedComponent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetFocusedComponent) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_SetFocusedComponent(self,_focused);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetFocusedComponent" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetFocusedComponent" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->SetFocusedComponent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetKeyboardFocusedComponent) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetKeyboardFocusedComponent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetKeyboardFocusedComponent" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iAwsComponent *)(arg1)->GetKeyboardFocusedComponent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_ComponentAt) {
  {
    iAws *arg1 = (iAws *) 0 ;
    int arg2 ;
    int arg3 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAws_ComponentAt(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_ComponentAt" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_ComponentAt" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAws_ComponentAt" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (iAwsComponent *)(arg1)->ComponentAt(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseInComponent) {
  {
    iAws *arg1 = (iAws *) 0 ;
    int arg2 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAws_MouseInComponent(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseInComponent" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_MouseInComponent" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAws_MouseInComponent" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)(arg1)->MouseInComponent(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_Print__SWIG_0) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    uint8 arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAws_Print(self,g3d,Alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_Print" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_Print" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAws_Print" "', argument " "3"" of type '" "uint8""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAws_Print" "', argument " "3"" of type '" "uint8""'");
      } else {
        arg3 = *(reinterpret_cast< uint8 * >(argp3));
      }
    }
    (arg1)->Print(arg2,arg3);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_Print__SWIG_1) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_Print(self,g3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_Print" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_Print" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    (arg1)->Print(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_Print) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_Print__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_Print__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAws_Print'");
  XSRETURN(0);
}


XS(_wrap_iAws_Redraw) {
  {
    iAws *arg1 = (iAws *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_Redraw(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_Redraw" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    (arg1)->Redraw();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_Mark) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_Mark(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_Mark" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_Mark" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAws_Mark" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Mark((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_Unmark) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_Unmark(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_Unmark" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_Unmark" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAws_Unmark" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Unmark((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_Erase) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_Erase(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_Erase" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_Erase" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAws_Erase" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Erase((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MaskEraser) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_MaskEraser(self,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MaskEraser" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_MaskEraser" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAws_MaskEraser" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->MaskEraser((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_InvalidateUpdateStore) {
  {
    iAws *arg1 = (iAws *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_InvalidateUpdateStore(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_InvalidateUpdateStore" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    (arg1)->InvalidateUpdateStore();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_CaptureMouse) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_CaptureMouse(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_CaptureMouse" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_CaptureMouse" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->CaptureMouse(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_ReleaseMouse) {
  {
    iAws *arg1 = (iAws *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_ReleaseMouse(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_ReleaseMouse" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    (arg1)->ReleaseMouse();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetModal) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_SetModal(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetModal" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetModal" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->SetModal(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_UnSetModal) {
  {
    iAws *arg1 = (iAws *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_UnSetModal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_UnSetModal" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    (arg1)->UnSetModal();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_HandleEvent) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iEvent *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_HandleEvent(self,iEvent &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_HandleEvent" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iEvent,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_HandleEvent" "', argument " "2"" of type '" "iEvent &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAws_HandleEvent" "', argument " "2"" of type '" "iEvent &""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (bool)(arg1)->HandleEvent(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetupCanvas__SWIG_0) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsCanvas *arg2 = (iAwsCanvas *) 0 ;
    iGraphics2D *arg3 = (iGraphics2D *) 0 ;
    iGraphics3D *arg4 = (iGraphics3D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAws_SetupCanvas(self,newCanvas,g2d,g3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetupCanvas" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsCanvas, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetupCanvas" "', argument " "2"" of type '" "iAwsCanvas *""'"); 
    }
    arg2 = reinterpret_cast< iAwsCanvas * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAws_SetupCanvas" "', argument " "3"" of type '" "iGraphics2D *""'"); 
    }
    arg3 = reinterpret_cast< iGraphics2D * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAws_SetupCanvas" "', argument " "4"" of type '" "iGraphics3D *""'"); 
    }
    arg4 = reinterpret_cast< iGraphics3D * >(argp4);
    result = (bool)(arg1)->SetupCanvas(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetupCanvas__SWIG_1) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsCanvas *arg2 = (iAwsCanvas *) 0 ;
    iGraphics2D *arg3 = (iGraphics2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAws_SetupCanvas(self,newCanvas,g2d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetupCanvas" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsCanvas, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetupCanvas" "', argument " "2"" of type '" "iAwsCanvas *""'"); 
    }
    arg2 = reinterpret_cast< iAwsCanvas * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAws_SetupCanvas" "', argument " "3"" of type '" "iGraphics2D *""'"); 
    }
    arg3 = reinterpret_cast< iGraphics2D * >(argp3);
    result = (bool)(arg1)->SetupCanvas(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetupCanvas__SWIG_2) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsCanvas *arg2 = (iAwsCanvas *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_SetupCanvas(self,newCanvas);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetupCanvas" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsCanvas, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetupCanvas" "', argument " "2"" of type '" "iAwsCanvas *""'"); 
    }
    arg2 = reinterpret_cast< iAwsCanvas * >(argp2);
    result = (bool)(arg1)->SetupCanvas(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetCanvas) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsCanvas *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetCanvas(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetCanvas" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iAwsCanvas *)(arg1)->GetCanvas();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsCanvas, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_G2D) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iGraphics2D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_G2D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_G2D" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iGraphics2D *)(arg1)->G2D();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGraphics2D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_G3D) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iGraphics3D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_G3D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_G3D" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iGraphics3D *)(arg1)->G3D();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGraphics3D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_CreateWindowFrom) {
  {
    iAws *arg1 = (iAws *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_CreateWindowFrom(self,defname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_CreateWindowFrom" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_CreateWindowFrom" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iAwsComponent *)(arg1)->CreateWindowFrom((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_CreateEmbeddableComponent) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_CreateEmbeddableComponent(self,covercomp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_CreateEmbeddableComponent" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_CreateEmbeddableComponent" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    result = (iAwsComponent *)(arg1)->CreateEmbeddableComponent(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_CreateParmList) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsParmList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_CreateParmList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_CreateParmList" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iAwsParmList *)(arg1)->CreateParmList();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsParmList, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_CreateTransition__SWIG_0) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    unsigned int arg3 ;
    csTicks arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAws_CreateTransition(self,win,transition_type,duration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_CreateTransition" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_CreateTransition" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAws_CreateTransition" "', argument " "3"" of type '" "unsigned int""'");
    } 
    arg3 = static_cast< unsigned int >(val3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAws_CreateTransition" "', argument " "4"" of type '" "csTicks""'");
    } 
    arg4 = static_cast< csTicks >(val4);
    (arg1)->CreateTransition(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_CreateTransition__SWIG_1) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    unsigned int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAws_CreateTransition(self,win,transition_type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_CreateTransition" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_CreateTransition" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAws_CreateTransition" "', argument " "3"" of type '" "unsigned int""'");
    } 
    arg3 = static_cast< unsigned int >(val3);
    (arg1)->CreateTransition(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_CreateTransition) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_CreateTransition__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_CreateTransition__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAws_CreateTransition'");
  XSRETURN(0);
}


XS(_wrap_iAws_CreateTransitionEx) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    unsigned int arg3 ;
    csTicks arg4 ;
    csRect *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iAws_CreateTransitionEx(self,win,transition_type,duration,user);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_CreateTransitionEx" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_CreateTransitionEx" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAws_CreateTransitionEx" "', argument " "3"" of type '" "unsigned int""'");
    } 
    arg3 = static_cast< unsigned int >(val3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAws_CreateTransitionEx" "', argument " "4"" of type '" "csTicks""'");
    } 
    arg4 = static_cast< csTicks >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iAws_CreateTransitionEx" "', argument " "5"" of type '" "csRect &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAws_CreateTransitionEx" "', argument " "5"" of type '" "csRect &""'"); 
    }
    arg5 = reinterpret_cast< csRect * >(argp5);
    (arg1)->CreateTransitionEx(arg2,arg3,arg4,*arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetFlag) {
  {
    iAws *arg1 = (iAws *) 0 ;
    unsigned int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_SetFlag(self,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetFlag" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_SetFlag" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    (arg1)->SetFlag(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_ClearFlag) {
  {
    iAws *arg1 = (iAws *) 0 ;
    unsigned int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_ClearFlag(self,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_ClearFlag" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_ClearFlag" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    (arg1)->ClearFlag(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetFlags) {
  {
    iAws *arg1 = (iAws *) 0 ;
    unsigned int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetFlags" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (unsigned int)(arg1)->GetFlags();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GetObjectRegistry) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iObjectRegistry *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GetObjectRegistry(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GetObjectRegistry" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (iObjectRegistry *)(arg1)->GetObjectRegistry();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObjectRegistry, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_AllWindowsHidden) {
  {
    iAws *arg1 = (iAws *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_AllWindowsHidden(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_AllWindowsHidden" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (bool)(arg1)->AllWindowsHidden();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_ComponentIsInTransition) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_ComponentIsInTransition(self,win);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_ComponentIsInTransition" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_ComponentIsInTransition" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    result = (bool)(arg1)->ComponentIsInTransition(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_ComponentDestroyed) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_ComponentDestroyed(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_ComponentDestroyed" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_ComponentDestroyed" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->ComponentDestroyed(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_DeleteMarkedComponents) {
  {
    iAws *arg1 = (iAws *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_DeleteMarkedComponents(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_DeleteMarkedComponents" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    (arg1)->DeleteMarkedComponents();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MarkToDeleteRecursively) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_MarkToDeleteRecursively(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MarkToDeleteRecursively" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_MarkToDeleteRecursively" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->MarkToDeleteRecursively(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_PreProcess_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_PreProcess_set(self,PreProcess);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_PreProcess_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_PreProcess_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->PreProcess = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_PreProcess_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_PreProcess_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_PreProcess_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->PreProcess);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseDown_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_MouseDown_set(self,MouseDown);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseDown_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_MouseDown_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->MouseDown = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseDown_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_MouseDown_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseDown_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->MouseDown);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseUp_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_MouseUp_set(self,MouseUp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseUp_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_MouseUp_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->MouseUp = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseUp_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_MouseUp_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseUp_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->MouseUp);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseClick_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_MouseClick_set(self,MouseClick);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseClick_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_MouseClick_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->MouseClick = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseClick_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_MouseClick_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseClick_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->MouseClick);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseMove_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_MouseMove_set(self,MouseMove);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseMove_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_MouseMove_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->MouseMove = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseMove_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_MouseMove_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseMove_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->MouseMove);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_KeyboardDown_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_KeyboardDown_set(self,KeyboardDown);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_KeyboardDown_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_KeyboardDown_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->KeyboardDown = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_KeyboardDown_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_KeyboardDown_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_KeyboardDown_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->KeyboardDown);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_KeyboardUp_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_KeyboardUp_set(self,KeyboardUp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_KeyboardUp_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_KeyboardUp_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->KeyboardUp = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_KeyboardUp_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_KeyboardUp_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_KeyboardUp_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->KeyboardUp);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseEnter_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_MouseEnter_set(self,MouseEnter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseEnter_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_MouseEnter_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->MouseEnter = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseEnter_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_MouseEnter_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseEnter_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->MouseEnter);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseExit_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_MouseExit_set(self,MouseExit);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseExit_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_MouseExit_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->MouseExit = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_MouseExit_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_MouseExit_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_MouseExit_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->MouseExit);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_LoseFocus_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_LoseFocus_set(self,LoseFocus);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_LoseFocus_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_LoseFocus_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->LoseFocus = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_LoseFocus_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_LoseFocus_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_LoseFocus_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->LoseFocus);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GainFocus_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_GainFocus_set(self,GainFocus);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GainFocus_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_GainFocus_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->GainFocus = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GainFocus_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GainFocus_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GainFocus_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->GainFocus);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GroupOff_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_GroupOff_set(self,GroupOff);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GroupOff_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_GroupOff_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->GroupOff = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_GroupOff_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_GroupOff_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_GroupOff_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->GroupOff);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_FrameStart_set) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_FrameStart_set(self,FrameStart);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_FrameStart_set" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAws_FrameStart_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->FrameStart = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_FrameStart_get) {
  {
    iAws *arg1 = (iAws *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_FrameStart_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_FrameStart_get" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (csEventID) ((arg1)->FrameStart);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAws) {
  {
    iAws *arg1 = (iAws *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAws(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAws" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    delete_iAws(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iAws_scfGetVersion();");
    }
    result = (int)iAws_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetupCanvas__SWIG_3) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iGraphics2D *arg2 = (iGraphics2D *) 0 ;
    iGraphics3D *arg3 = (iGraphics3D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAws_SetupCanvas(self,g2d,g3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetupCanvas" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetupCanvas" "', argument " "2"" of type '" "iGraphics2D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics2D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAws_SetupCanvas" "', argument " "3"" of type '" "iGraphics3D *""'"); 
    }
    arg3 = reinterpret_cast< iGraphics3D * >(argp3);
    result = (bool)iAws_SetupCanvas__SWIG_3(arg1,arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetupCanvas__SWIG_4) {
  {
    iAws *arg1 = (iAws *) 0 ;
    iGraphics2D *arg2 = (iGraphics2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAws_SetupCanvas(self,g2d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetupCanvas" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAws_SetupCanvas" "', argument " "2"" of type '" "iGraphics2D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics2D * >(argp2);
    result = (bool)iAws_SetupCanvas__SWIG_3(arg1,arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetupCanvas__SWIG_5) {
  {
    iAws *arg1 = (iAws *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAws_SetupCanvas(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAws_SetupCanvas" "', argument " "1"" of type '" "iAws *""'"); 
    }
    arg1 = reinterpret_cast< iAws * >(argp1);
    result = (bool)iAws_SetupCanvas__SWIG_3(arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAws_SetupCanvas) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iAwsCanvas, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iAwsCanvas, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAws, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iAwsCanvas, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_SetupCanvas__SWIG_5); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_SetupCanvas__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_SetupCanvas__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_SetupCanvas__SWIG_1); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_SetupCanvas__SWIG_3); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAws_SetupCanvas__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAws_SetupCanvas'");
  XSRETURN(0);
}


XS(_wrap_iAwsPrefManager_Setup) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iObjectRegistry *arg2 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_Setup(self,object_reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_Setup" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_Setup" "', argument " "2"" of type '" "iObjectRegistry *""'"); 
    }
    arg2 = reinterpret_cast< iObjectRegistry * >(argp2);
    result = (bool)(arg1)->Setup(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_Load) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_Load(self,def_file);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_Load" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Load((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_NameToId) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    unsigned long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_NameToId(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_NameToId" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_NameToId" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (unsigned long)(arg1)->NameToId((char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_SelectDefaultSkin) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_SelectDefaultSkin(self,skin_name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_SelectDefaultSkin" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_SelectDefaultSkin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SelectDefaultSkin((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupIntKey__SWIG_0) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    int *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg3 = &temp3;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupIntKey(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupIntKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_LookupIntKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->LookupIntKey((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupIntKey__SWIG_1) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    unsigned long arg2 ;
    int *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg3 = &temp3;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupIntKey(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupIntKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsPrefManager_LookupIntKey" "', argument " "2"" of type '" "unsigned long""'");
    } 
    arg2 = static_cast< unsigned long >(val2);
    result = (bool)(arg1)->LookupIntKey(arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupIntKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupIntKey__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupIntKey__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsPrefManager_LookupIntKey'");
  XSRETURN(0);
}


XS(_wrap_iAwsPrefManager_LookupStringKey__SWIG_0) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iString **arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupStringKey(self,name,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupStringKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_LookupStringKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iString,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_LookupStringKey" "', argument " "3"" of type '" "iString *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupStringKey" "', argument " "3"" of type '" "iString *&""'"); 
    }
    arg3 = reinterpret_cast< iString ** >(argp3);
    result = (bool)(arg1)->LookupStringKey((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupStringKey__SWIG_1) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    unsigned long arg2 ;
    iString **arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupStringKey(self,id,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupStringKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsPrefManager_LookupStringKey" "', argument " "2"" of type '" "unsigned long""'");
    } 
    arg2 = static_cast< unsigned long >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iString,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_LookupStringKey" "', argument " "3"" of type '" "iString *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupStringKey" "', argument " "3"" of type '" "iString *&""'"); 
    }
    arg3 = reinterpret_cast< iString ** >(argp3);
    result = (bool)(arg1)->LookupStringKey(arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupStringKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupStringKey__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupStringKey__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsPrefManager_LookupStringKey'");
  XSRETURN(0);
}


XS(_wrap_iAwsPrefManager_LookupRectKey__SWIG_0) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    csRect *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupRectKey(self,name,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupRectKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_LookupRectKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_LookupRectKey" "', argument " "3"" of type '" "csRect &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupRectKey" "', argument " "3"" of type '" "csRect &""'"); 
    }
    arg3 = reinterpret_cast< csRect * >(argp3);
    result = (bool)(arg1)->LookupRectKey((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupRectKey__SWIG_1) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    unsigned long arg2 ;
    csRect *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupRectKey(self,id,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupRectKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsPrefManager_LookupRectKey" "', argument " "2"" of type '" "unsigned long""'");
    } 
    arg2 = static_cast< unsigned long >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_LookupRectKey" "', argument " "3"" of type '" "csRect &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupRectKey" "', argument " "3"" of type '" "csRect &""'"); 
    }
    arg3 = reinterpret_cast< csRect * >(argp3);
    result = (bool)(arg1)->LookupRectKey(arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupRectKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupRectKey__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupRectKey__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsPrefManager_LookupRectKey'");
  XSRETURN(0);
}


XS(_wrap_iAwsPrefManager_LookupRGBKey__SWIG_0) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    unsigned char *arg3 = 0 ;
    unsigned char *arg4 = 0 ;
    unsigned char *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupRGBKey(self,name,red,green,blue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "3"" of type '" "unsigned char &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "3"" of type '" "unsigned char &""'"); 
    }
    arg3 = reinterpret_cast< unsigned char * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "4"" of type '" "unsigned char &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "4"" of type '" "unsigned char &""'"); 
    }
    arg4 = reinterpret_cast< unsigned char * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "5"" of type '" "unsigned char &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "5"" of type '" "unsigned char &""'"); 
    }
    arg5 = reinterpret_cast< unsigned char * >(argp5);
    result = (bool)(arg1)->LookupRGBKey((char const *)arg2,*arg3,*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupRGBKey__SWIG_1) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    unsigned long arg2 ;
    unsigned char *arg3 = 0 ;
    unsigned char *arg4 = 0 ;
    unsigned char *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupRGBKey(self,id,red,green,blue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "2"" of type '" "unsigned long""'");
    } 
    arg2 = static_cast< unsigned long >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "3"" of type '" "unsigned char &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "3"" of type '" "unsigned char &""'"); 
    }
    arg3 = reinterpret_cast< unsigned char * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "4"" of type '" "unsigned char &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "4"" of type '" "unsigned char &""'"); 
    }
    arg4 = reinterpret_cast< unsigned char * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "5"" of type '" "unsigned char &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupRGBKey" "', argument " "5"" of type '" "unsigned char &""'"); 
    }
    arg5 = reinterpret_cast< unsigned char * >(argp5);
    result = (bool)(arg1)->LookupRGBKey(arg2,*arg3,*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupRGBKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_unsigned_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_unsigned_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_unsigned_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_unsigned_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_unsigned_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_unsigned_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupRGBKey__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupRGBKey__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsPrefManager_LookupRGBKey'");
  XSRETURN(0);
}


XS(_wrap_iAwsPrefManager_LookupPointKey__SWIG_0) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    csVector2 *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupPointKey(self,name,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupPointKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_LookupPointKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_LookupPointKey" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupPointKey" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (bool)(arg1)->LookupPointKey((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupPointKey__SWIG_1) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    unsigned long arg2 ;
    csVector2 *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_LookupPointKey(self,id,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_LookupPointKey" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsPrefManager_LookupPointKey" "', argument " "2"" of type '" "unsigned long""'");
    } 
    arg2 = static_cast< unsigned long >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_LookupPointKey" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_LookupPointKey" "', argument " "3"" of type '" "csVector2 &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    result = (bool)(arg1)->LookupPointKey(arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_LookupPointKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupPointKey__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_LookupPointKey__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsPrefManager_LookupPointKey'");
  XSRETURN(0);
}


XS(_wrap_iAwsPrefManager_GetInt) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iAwsComponentNode *arg2 = (iAwsComponentNode *) 0 ;
    char *arg3 = (char *) 0 ;
    int *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg4 = &temp4;
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_GetInt(self,node,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetInt" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetInt" "', argument " "2"" of type '" "iAwsComponentNode *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponentNode * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_GetInt" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->GetInt(arg2,(char const *)arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetFloat) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iAwsComponentNode *arg2 = (iAwsComponentNode *) 0 ;
    char *arg3 = (char *) 0 ;
    float *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsPrefManager_GetFloat(self,iAwsComponentNode *,name,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetFloat" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetFloat" "', argument " "2"" of type '" "iAwsComponentNode *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponentNode * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_GetFloat" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsPrefManager_GetFloat" "', argument " "4"" of type '" "float &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_GetFloat" "', argument " "4"" of type '" "float &""'"); 
    }
    arg4 = reinterpret_cast< float * >(argp4);
    result = (bool)(arg1)->GetFloat(arg2,(char const *)arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetRect) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iAwsComponentNode *arg2 = (iAwsComponentNode *) 0 ;
    char *arg3 = (char *) 0 ;
    csRect *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsPrefManager_GetRect(self,node,name,rect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetRect" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetRect" "', argument " "2"" of type '" "iAwsComponentNode *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponentNode * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_GetRect" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsPrefManager_GetRect" "', argument " "4"" of type '" "csRect &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_GetRect" "', argument " "4"" of type '" "csRect &""'"); 
    }
    arg4 = reinterpret_cast< csRect * >(argp4);
    result = (bool)(arg1)->GetRect(arg2,(char const *)arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetString) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iAwsComponentNode *arg2 = (iAwsComponentNode *) 0 ;
    char *arg3 = (char *) 0 ;
    iString *arg4 = (iString *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsPrefManager_GetString(self,node,name,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetString" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetString" "', argument " "2"" of type '" "iAwsComponentNode *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponentNode * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_GetString" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsPrefManager_GetString" "', argument " "4"" of type '" "iString *""'"); 
    }
    arg4 = reinterpret_cast< iString * >(argp4);
    result = (bool)(arg1)->GetString(arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetRGB) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iAwsComponentNode *arg2 = (iAwsComponentNode *) 0 ;
    char *arg3 = (char *) 0 ;
    unsigned char *arg4 = 0 ;
    unsigned char *arg5 = 0 ;
    unsigned char *arg6 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iAwsPrefManager_GetRGB(self,node,name,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetRGB" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetRGB" "', argument " "2"" of type '" "iAwsComponentNode *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponentNode * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_GetRGB" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsPrefManager_GetRGB" "', argument " "4"" of type '" "unsigned char &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_GetRGB" "', argument " "4"" of type '" "unsigned char &""'"); 
    }
    arg4 = reinterpret_cast< unsigned char * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iAwsPrefManager_GetRGB" "', argument " "5"" of type '" "unsigned char &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_GetRGB" "', argument " "5"" of type '" "unsigned char &""'"); 
    }
    arg5 = reinterpret_cast< unsigned char * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_unsigned_char,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iAwsPrefManager_GetRGB" "', argument " "6"" of type '" "unsigned char &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsPrefManager_GetRGB" "', argument " "6"" of type '" "unsigned char &""'"); 
    }
    arg6 = reinterpret_cast< unsigned char * >(argp6);
    result = (bool)(arg1)->GetRGB(arg2,(char const *)arg3,*arg4,*arg5,*arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_FindWindowDef) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsComponentNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_FindWindowDef(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_FindWindowDef" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_FindWindowDef" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iAwsComponentNode *)(arg1)->FindWindowDef((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponentNode, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_FindSkinDef) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsKeyContainer *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_FindSkinDef(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_FindSkinDef" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_FindSkinDef" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iAwsKeyContainer *)(arg1)->FindSkinDef((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsKeyContainer, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_RemoveWindowDef) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_RemoveWindowDef(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_RemoveWindowDef" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_RemoveWindowDef" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->RemoveWindowDef((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_RemoveAllWindowDefs) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsPrefManager_RemoveAllWindowDefs(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_RemoveAllWindowDefs" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    (arg1)->RemoveAllWindowDefs();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_RemoveSkinDef) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_RemoveSkinDef(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_RemoveSkinDef" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_RemoveSkinDef" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->RemoveSkinDef((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_RemoveAllSkinDefs) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsPrefManager_RemoveAllSkinDefs(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_RemoveAllSkinDefs" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    (arg1)->RemoveAllSkinDefs();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_SetColor) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_SetColor(self,index,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_SetColor" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsPrefManager_SetColor" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsPrefManager_SetColor" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetColor(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetColor) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    int arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_GetColor(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetColor" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsPrefManager_GetColor" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (int)(arg1)->GetColor(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_FindColor) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    unsigned char arg2 ;
    unsigned char arg3 ;
    unsigned char arg4 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    unsigned char val3 ;
    int ecode3 = 0 ;
    unsigned char val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsPrefManager_FindColor(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_FindColor" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsPrefManager_FindColor" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsPrefManager_FindColor" "', argument " "3"" of type '" "unsigned char""'");
    } 
    arg3 = static_cast< unsigned char >(val3);
    ecode4 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsPrefManager_FindColor" "', argument " "4"" of type '" "unsigned char""'");
    } 
    arg4 = static_cast< unsigned char >(val4);
    result = (int)(arg1)->FindColor(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetDefaultFont) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iFont *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsPrefManager_GetDefaultFont(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetDefaultFont" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    result = (iFont *)(arg1)->GetDefaultFont();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iFont, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetFont) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iFont *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_GetFont(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetFont" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetFont" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iFont *)(arg1)->GetFont((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iFont, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetTexture__SWIG_0) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_GetTexture(self,name,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetTexture" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_GetTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (iTextureHandle *)(arg1)->GetTexture((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetTexture__SWIG_1) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_GetTexture(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetTexture" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iTextureHandle *)(arg1)->GetTexture((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetTexture__SWIG_2) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    unsigned char arg4 ;
    unsigned char arg5 ;
    unsigned char arg6 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    unsigned char val4 ;
    int ecode4 = 0 ;
    unsigned char val5 ;
    int ecode5 = 0 ;
    unsigned char val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iAwsPrefManager_GetTexture(self,name,filename,key_r,key_g,key_b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetTexture" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsPrefManager_GetTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsPrefManager_GetTexture" "', argument " "4"" of type '" "unsigned char""'");
    } 
    arg4 = static_cast< unsigned char >(val4);
    ecode5 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iAwsPrefManager_GetTexture" "', argument " "5"" of type '" "unsigned char""'");
    } 
    arg5 = static_cast< unsigned char >(val5);
    ecode6 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iAwsPrefManager_GetTexture" "', argument " "6"" of type '" "unsigned char""'");
    } 
    arg6 = static_cast< unsigned char >(val6);
    result = (iTextureHandle *)(arg1)->GetTexture((char const *)arg2,(char const *)arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetTexture) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsPrefManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_GetTexture__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_GetTexture__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsPrefManager_GetTexture__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsPrefManager_GetTexture'");
  XSRETURN(0);
}


XS(_wrap_iAwsPrefManager_SetTextureManager) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iTextureManager *arg2 = (iTextureManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_SetTextureManager(self,txtmgr);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_SetTextureManager" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_SetTextureManager" "', argument " "2"" of type '" "iTextureManager *""'"); 
    }
    arg2 = reinterpret_cast< iTextureManager * >(argp2);
    (arg1)->SetTextureManager(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_SetFontServer) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iFontServer *arg2 = (iFontServer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_SetFontServer(self,fntsvr);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_SetFontServer" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFontServer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_SetFontServer" "', argument " "2"" of type '" "iFontServer *""'"); 
    }
    arg2 = reinterpret_cast< iFontServer * >(argp2);
    (arg1)->SetFontServer(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_SetDefaultFont) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iFont *arg2 = (iFont *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_SetDefaultFont(self,font);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_SetDefaultFont" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_SetDefaultFont" "', argument " "2"" of type '" "iFont *""'"); 
    }
    arg2 = reinterpret_cast< iFont * >(argp2);
    (arg1)->SetDefaultFont(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_SetWindowMgr) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iAws *arg2 = (iAws *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_SetWindowMgr(self,wmgr);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_SetWindowMgr" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_SetWindowMgr" "', argument " "2"" of type '" "iAws *""'"); 
    }
    arg2 = reinterpret_cast< iAws * >(argp2);
    (arg1)->SetWindowMgr(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_SetupPalette) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsPrefManager_SetupPalette(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_SetupPalette" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    (arg1)->SetupPalette();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_RegisterConstant) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsPrefManager_RegisterConstant(self,name,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_RegisterConstant" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_RegisterConstant" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsPrefManager_RegisterConstant" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->RegisterConstant((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_ConstantExists) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_ConstantExists(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_ConstantExists" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_ConstantExists" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->ConstantExists((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetConstantValue) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_GetConstantValue(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetConstantValue" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_GetConstantValue" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)(arg1)->GetConstantValue((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_CreateKeyFactory) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iAwsKeyFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsPrefManager_CreateKeyFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_CreateKeyFactory" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    result = (iAwsKeyFactory *)(arg1)->CreateKeyFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsKeyFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_CreateConnectionNodeFactory) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    iAwsConnectionNodeFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsPrefManager_CreateConnectionNodeFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_CreateConnectionNodeFactory" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    result = (iAwsConnectionNodeFactory *)(arg1)->CreateConnectionNodeFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsConnectionNodeFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_AddCustomStringProperty) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsPrefManager_AddCustomStringProperty(self,prop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_AddCustomStringProperty" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsPrefManager_AddCustomStringProperty" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->AddCustomStringProperty((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsPrefManager_GetCustomStringProperties) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    csStringArray *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsPrefManager_GetCustomStringProperties(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsPrefManager_GetCustomStringProperties" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    {
      csStringArray const &_result_ref = (arg1)->GetCustomStringProperties();
      result = (csStringArray *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStringArray, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsPrefManager) {
  {
    iAwsPrefManager *arg1 = (iAwsPrefManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsPrefManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsPrefManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsPrefManager" "', argument " "1"" of type '" "iAwsPrefManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsPrefManager * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSinkManager_Setup) {
  {
    iAwsSinkManager *arg1 = (iAwsSinkManager *) 0 ;
    iObjectRegistry *arg2 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsSinkManager_Setup(self,object_reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSinkManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSinkManager_Setup" "', argument " "1"" of type '" "iAwsSinkManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSinkManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSinkManager_Setup" "', argument " "2"" of type '" "iObjectRegistry *""'"); 
    }
    arg2 = reinterpret_cast< iObjectRegistry * >(argp2);
    result = (bool)(arg1)->Setup(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSinkManager_RegisterSink) {
  {
    iAwsSinkManager *arg1 = (iAwsSinkManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsSink *arg3 = (iAwsSink *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsSinkManager_RegisterSink(self,name,sink);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSinkManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSinkManager_RegisterSink" "', argument " "1"" of type '" "iAwsSinkManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSinkManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSinkManager_RegisterSink" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsSinkManager_RegisterSink" "', argument " "3"" of type '" "iAwsSink *""'"); 
    }
    arg3 = reinterpret_cast< iAwsSink * >(argp3);
    (arg1)->RegisterSink((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSinkManager_RemoveSink) {
  {
    iAwsSinkManager *arg1 = (iAwsSinkManager *) 0 ;
    iAwsSink *arg2 = (iAwsSink *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsSinkManager_RemoveSink(self,sink);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSinkManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSinkManager_RemoveSink" "', argument " "1"" of type '" "iAwsSinkManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSinkManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSinkManager_RemoveSink" "', argument " "2"" of type '" "iAwsSink *""'"); 
    }
    arg2 = reinterpret_cast< iAwsSink * >(argp2);
    result = (bool)(arg1)->RemoveSink(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSinkManager_FindSink) {
  {
    iAwsSinkManager *arg1 = (iAwsSinkManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsSink *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsSinkManager_FindSink(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSinkManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSinkManager_FindSink" "', argument " "1"" of type '" "iAwsSinkManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSinkManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSinkManager_FindSink" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iAwsSink *)(arg1)->FindSink((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsSink, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSinkManager_CreateSink__SWIG_0) {
  {
    iAwsSinkManager *arg1 = (iAwsSinkManager *) 0 ;
    intptr_t arg2 ;
    iAwsSink *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsSinkManager_CreateSink(self,parm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSinkManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSinkManager_CreateSink" "', argument " "1"" of type '" "iAwsSinkManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSinkManager * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsSinkManager_CreateSink" "', argument " "2"" of type '" "intptr_t""'");
    } 
    arg2 = static_cast< intptr_t >(val2);
    result = (iAwsSink *)(arg1)->CreateSink(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsSink, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSinkManager_CreateSink__SWIG_1) {
  {
    iAwsSinkManager *arg1 = (iAwsSinkManager *) 0 ;
    void *arg2 = (void *) 0 ;
    iAwsSink *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsSinkManager_CreateSink(self,parm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSinkManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSinkManager_CreateSink" "', argument " "1"" of type '" "iAwsSinkManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSinkManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, 0);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSinkManager_CreateSink" "', argument " "2"" of type '" "void *""'"); 
    }
    result = (iAwsSink *)(arg1)->CreateSink(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsSink, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSinkManager_CreateSink) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsSinkManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &ptr, 0, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsSinkManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsSinkManager_CreateSink__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsSinkManager_CreateSink__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsSinkManager_CreateSink'");
  XSRETURN(0);
}


XS(_wrap_iAwsSinkManager_CreateSlot) {
  {
    iAwsSinkManager *arg1 = (iAwsSinkManager *) 0 ;
    iAwsSlot *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsSinkManager_CreateSlot(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSinkManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSinkManager_CreateSlot" "', argument " "1"" of type '" "iAwsSinkManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSinkManager * >(argp1);
    result = (iAwsSlot *)(arg1)->CreateSlot();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsSlot, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsSinkManager) {
  {
    iAwsSinkManager *arg1 = (iAwsSinkManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsSinkManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSinkManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsSinkManager" "', argument " "1"" of type '" "iAwsSinkManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSinkManager * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSink_GetTriggerID) {
  {
    iAwsSink *arg1 = (iAwsSink *) 0 ;
    char *arg2 = (char *) 0 ;
    unsigned long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsSink_GetTriggerID(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSink_GetTriggerID" "', argument " "1"" of type '" "iAwsSink *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSink * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSink_GetTriggerID" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (unsigned long)(arg1)->GetTriggerID((char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSink_HandleTrigger) {
  {
    iAwsSink *arg1 = (iAwsSink *) 0 ;
    int arg2 ;
    iAwsSource *arg3 = (iAwsSource *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsSink_HandleTrigger(self,trigger_id,source);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSink_HandleTrigger" "', argument " "1"" of type '" "iAwsSink *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSink * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsSink_HandleTrigger" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsSource, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsSink_HandleTrigger" "', argument " "3"" of type '" "iAwsSource *""'"); 
    }
    arg3 = reinterpret_cast< iAwsSource * >(argp3);
    (arg1)->HandleTrigger(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSink_RegisterTrigger__SWIG_0) {
  {
    iAwsSink *arg1 = (iAwsSink *) 0 ;
    char *arg2 = (char *) 0 ;
    void (*arg3)(unsigned long,intptr_t,iAwsSource *) = (void (*)(unsigned long,intptr_t,iAwsSource *)) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsSink_RegisterTrigger(self,name,Trigger);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSink_RegisterTrigger" "', argument " "1"" of type '" "iAwsSink *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSink * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSink_RegisterTrigger" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      int res = SWIG_ConvertFunctionPtr(ST(2), (void**)(&arg3), SWIGTYPE_p_f_unsigned_long_int_p_iAwsSource__void);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "iAwsSink_RegisterTrigger" "', argument " "3"" of type '" "void (*)(unsigned long,intptr_t,iAwsSource *)""'"); 
      }
    }
    (arg1)->RegisterTrigger((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSink_RegisterTrigger__SWIG_1) {
  {
    iAwsSink *arg1 = (iAwsSink *) 0 ;
    char *arg2 = (char *) 0 ;
    void (*arg3)(unsigned long,void *,iAwsSource *) = (void (*)(unsigned long,void *,iAwsSource *)) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsSink_RegisterTrigger(self,name,Trigger);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSink_RegisterTrigger" "', argument " "1"" of type '" "iAwsSink *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSink * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSink_RegisterTrigger" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      int res = SWIG_ConvertFunctionPtr(ST(2), (void**)(&arg3), SWIGTYPE_p_f_unsigned_long_p_void_p_iAwsSource__void);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "iAwsSink_RegisterTrigger" "', argument " "3"" of type '" "void (*)(unsigned long,void *,iAwsSource *)""'"); 
      }
    }
    (arg1)->RegisterTrigger((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSink_RegisterTrigger) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsSink, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertFunctionPtr(ST(2), &ptr, SWIGTYPE_p_f_unsigned_long_int_p_iAwsSource__void);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsSink, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertFunctionPtr(ST(2), &ptr, SWIGTYPE_p_f_unsigned_long_p_void_p_iAwsSource__void);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsSink_RegisterTrigger__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsSink_RegisterTrigger__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsSink_RegisterTrigger'");
  XSRETURN(0);
}


XS(_wrap_iAwsSink_GetError) {
  {
    iAwsSink *arg1 = (iAwsSink *) 0 ;
    unsigned int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsSink_GetError(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSink_GetError" "', argument " "1"" of type '" "iAwsSink *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSink * >(argp1);
    result = (unsigned int)(arg1)->GetError();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsSink) {
  {
    iAwsSink *arg1 = (iAwsSink *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsSink(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSink, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsSink" "', argument " "1"" of type '" "iAwsSink *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSink * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSource_WindowManager) {
  {
    iAwsSource *arg1 = (iAwsSource *) 0 ;
    iAws *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsSource_WindowManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSource_WindowManager" "', argument " "1"" of type '" "iAwsSource *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSource * >(argp1);
    result = (iAws *)(arg1)->WindowManager();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAws, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSource_GetComponent) {
  {
    iAwsSource *arg1 = (iAwsSource *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsSource_GetComponent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSource_GetComponent" "', argument " "1"" of type '" "iAwsSource *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSource * >(argp1);
    result = (iAwsComponent *)(arg1)->GetComponent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSource_RegisterSlot) {
  {
    iAwsSource *arg1 = (iAwsSource *) 0 ;
    iAwsSlot *arg2 = (iAwsSlot *) 0 ;
    unsigned long arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsSource_RegisterSlot(self,slot,signal);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSource_RegisterSlot" "', argument " "1"" of type '" "iAwsSource *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSource * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsSlot, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSource_RegisterSlot" "', argument " "2"" of type '" "iAwsSlot *""'"); 
    }
    arg2 = reinterpret_cast< iAwsSlot * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsSource_RegisterSlot" "', argument " "3"" of type '" "unsigned long""'");
    } 
    arg3 = static_cast< unsigned long >(val3);
    result = (bool)(arg1)->RegisterSlot(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSource_UnregisterSlot) {
  {
    iAwsSource *arg1 = (iAwsSource *) 0 ;
    iAwsSlot *arg2 = (iAwsSlot *) 0 ;
    unsigned long arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsSource_UnregisterSlot(self,slot,signal);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSource_UnregisterSlot" "', argument " "1"" of type '" "iAwsSource *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSource * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsSlot, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSource_UnregisterSlot" "', argument " "2"" of type '" "iAwsSlot *""'"); 
    }
    arg2 = reinterpret_cast< iAwsSlot * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsSource_UnregisterSlot" "', argument " "3"" of type '" "unsigned long""'");
    } 
    arg3 = static_cast< unsigned long >(val3);
    result = (bool)(arg1)->UnregisterSlot(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSource_Broadcast) {
  {
    iAwsSource *arg1 = (iAwsSource *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsSource_Broadcast(self,signal);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSource_Broadcast" "', argument " "1"" of type '" "iAwsSource *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSource * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSource_Broadcast" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsSource_Broadcast" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    (arg1)->Broadcast(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsSource) {
  {
    iAwsSource *arg1 = (iAwsSource *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsSource(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSource, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsSource" "', argument " "1"" of type '" "iAwsSource *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSource * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSlot_Connect) {
  {
    iAwsSlot *arg1 = (iAwsSlot *) 0 ;
    iAwsSource *arg2 = (iAwsSource *) 0 ;
    unsigned long arg3 ;
    iAwsSink *arg4 = (iAwsSink *) 0 ;
    unsigned long arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    unsigned long val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iAwsSlot_Connect(self,source,signal,sink,trigger);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSlot, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSlot_Connect" "', argument " "1"" of type '" "iAwsSlot *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSlot * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsSource, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSlot_Connect" "', argument " "2"" of type '" "iAwsSource *""'"); 
    }
    arg2 = reinterpret_cast< iAwsSource * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsSlot_Connect" "', argument " "3"" of type '" "unsigned long""'");
    } 
    arg3 = static_cast< unsigned long >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsSlot_Connect" "', argument " "4"" of type '" "iAwsSink *""'"); 
    }
    arg4 = reinterpret_cast< iAwsSink * >(argp4);
    ecode5 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iAwsSlot_Connect" "', argument " "5"" of type '" "unsigned long""'");
    } 
    arg5 = static_cast< unsigned long >(val5);
    (arg1)->Connect(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSlot_Disconnect) {
  {
    iAwsSlot *arg1 = (iAwsSlot *) 0 ;
    iAwsSource *arg2 = (iAwsSource *) 0 ;
    unsigned long arg3 ;
    iAwsSink *arg4 = (iAwsSink *) 0 ;
    unsigned long arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    unsigned long val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iAwsSlot_Disconnect(self,source,signal,sink,trigger);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSlot, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSlot_Disconnect" "', argument " "1"" of type '" "iAwsSlot *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSlot * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsSource, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSlot_Disconnect" "', argument " "2"" of type '" "iAwsSource *""'"); 
    }
    arg2 = reinterpret_cast< iAwsSource * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsSlot_Disconnect" "', argument " "3"" of type '" "unsigned long""'");
    } 
    arg3 = static_cast< unsigned long >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsSlot_Disconnect" "', argument " "4"" of type '" "iAwsSink *""'"); 
    }
    arg4 = reinterpret_cast< iAwsSink * >(argp4);
    ecode5 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iAwsSlot_Disconnect" "', argument " "5"" of type '" "unsigned long""'");
    } 
    arg5 = static_cast< unsigned long >(val5);
    (arg1)->Disconnect(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsSlot_Emit) {
  {
    iAwsSlot *arg1 = (iAwsSlot *) 0 ;
    iAwsSource *arg2 = 0 ;
    unsigned long arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsSlot_Emit(self,source,signal);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSlot, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsSlot_Emit" "', argument " "1"" of type '" "iAwsSlot *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSlot * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iAwsSource,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsSlot_Emit" "', argument " "2"" of type '" "iAwsSource &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsSlot_Emit" "', argument " "2"" of type '" "iAwsSource &""'"); 
    }
    arg2 = reinterpret_cast< iAwsSource * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsSlot_Emit" "', argument " "3"" of type '" "unsigned long""'");
    } 
    arg3 = static_cast< unsigned long >(val3);
    (arg1)->Emit(*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsSlot) {
  {
    iAwsSlot *arg1 = (iAwsSlot *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsSlot(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsSlot, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsSlot" "', argument " "1"" of type '" "iAwsSlot *""'"); 
    }
    arg1 = reinterpret_cast< iAwsSlot * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsLayoutManager_SetOwner) {
  {
    iAwsLayoutManager *arg1 = (iAwsLayoutManager *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsLayoutManager_SetOwner(self,_owner);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsLayoutManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsLayoutManager_SetOwner" "', argument " "1"" of type '" "iAwsLayoutManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsLayoutManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsLayoutManager_SetOwner" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->SetOwner(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsLayoutManager_AddComponent) {
  {
    iAwsLayoutManager *arg1 = (iAwsLayoutManager *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    iAwsComponentNode *arg3 = (iAwsComponentNode *) 0 ;
    csRect result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsLayoutManager_AddComponent(self,cmp,settings);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsLayoutManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsLayoutManager_AddComponent" "', argument " "1"" of type '" "iAwsLayoutManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsLayoutManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsLayoutManager_AddComponent" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsLayoutManager_AddComponent" "', argument " "3"" of type '" "iAwsComponentNode *""'"); 
    }
    arg3 = reinterpret_cast< iAwsComponentNode * >(argp3);
    result = (arg1)->AddComponent(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csRect(static_cast< const csRect& >(result))), SWIGTYPE_p_csRect, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsLayoutManager_RemoveComponent) {
  {
    iAwsLayoutManager *arg1 = (iAwsLayoutManager *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsLayoutManager_RemoveComponent(self,iAwsComponent *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsLayoutManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsLayoutManager_RemoveComponent" "', argument " "1"" of type '" "iAwsLayoutManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsLayoutManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsLayoutManager_RemoveComponent" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->RemoveComponent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsLayoutManager_LayoutComponents) {
  {
    iAwsLayoutManager *arg1 = (iAwsLayoutManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsLayoutManager_LayoutComponents(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsLayoutManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsLayoutManager_LayoutComponents" "', argument " "1"" of type '" "iAwsLayoutManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsLayoutManager * >(argp1);
    (arg1)->LayoutComponents();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsLayoutManager) {
  {
    iAwsLayoutManager *arg1 = (iAwsLayoutManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsLayoutManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsLayoutManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsLayoutManager" "', argument " "1"" of type '" "iAwsLayoutManager *""'"); 
    }
    arg1 = reinterpret_cast< iAwsLayoutManager * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Create) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAws *arg2 = (iAws *) 0 ;
    iAwsComponent *arg3 = (iAwsComponent *) 0 ;
    iAwsComponentNode *arg4 = (iAwsComponentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsComponent_Create(self,mgr,parent,settings);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Create" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_Create" "', argument " "2"" of type '" "iAws *""'"); 
    }
    arg2 = reinterpret_cast< iAws * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsComponent_Create" "', argument " "3"" of type '" "iAwsComponent *""'"); 
    }
    arg3 = reinterpret_cast< iAwsComponent * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iAwsComponent_Create" "', argument " "4"" of type '" "iAwsComponentNode *""'"); 
    }
    arg4 = reinterpret_cast< iAwsComponentNode * >(argp4);
    result = (bool)(arg1)->Create(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Setup) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAws *arg2 = (iAws *) 0 ;
    iAwsComponentNode *arg3 = (iAwsComponentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_Setup(self,wmgr,settings);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Setup" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAws, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_Setup" "', argument " "2"" of type '" "iAws *""'"); 
    }
    arg2 = reinterpret_cast< iAws * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsComponent_Setup" "', argument " "3"" of type '" "iAwsComponentNode *""'"); 
    }
    arg3 = reinterpret_cast< iAwsComponentNode * >(argp3);
    result = (bool)(arg1)->Setup(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_HandleEvent) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iEvent *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_HandleEvent(self,Event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_HandleEvent" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iEvent,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_HandleEvent" "', argument " "2"" of type '" "iEvent &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsComponent_HandleEvent" "', argument " "2"" of type '" "iEvent &""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (bool)(arg1)->HandleEvent(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetProperty__SWIG_0) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    char *arg2 = (char *) 0 ;
    intptr_t *arg3 = (intptr_t *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_GetProperty(self,name,parm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetProperty" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_GetProperty" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsComponent_GetProperty" "', argument " "3"" of type '" "intptr_t *""'"); 
    }
    arg3 = reinterpret_cast< intptr_t * >(argp3);
    result = (bool)(arg1)->GetProperty((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetProperty__SWIG_1) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    char *arg2 = (char *) 0 ;
    void **arg3 = (void **) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_GetProperty(self,name,parm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetProperty" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_GetProperty" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_p_void, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsComponent_GetProperty" "', argument " "3"" of type '" "void **""'"); 
    }
    arg3 = reinterpret_cast< void ** >(argp3);
    result = (bool)(arg1)->GetProperty((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetProperty) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_void, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsComponent_GetProperty__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsComponent_GetProperty__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsComponent_GetProperty'");
  XSRETURN(0);
}


XS(_wrap_iAwsComponent_SetProperty__SWIG_0) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    char *arg2 = (char *) 0 ;
    intptr_t arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_SetProperty(self,name,parm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetProperty" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_SetProperty" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_SetProperty" "', argument " "3"" of type '" "intptr_t""'");
    } 
    arg3 = static_cast< intptr_t >(val3);
    result = (bool)(arg1)->SetProperty((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetProperty__SWIG_1) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    char *arg2 = (char *) 0 ;
    void *arg3 = (void *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_SetProperty(self,name,parm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetProperty" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_SetProperty" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2),SWIG_as_voidptrptr(&arg3), 0, 0);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsComponent_SetProperty" "', argument " "3"" of type '" "void *""'"); 
    }
    result = (bool)(arg1)->SetProperty((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetProperty) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &ptr, 0, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsComponent_SetProperty__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsComponent_SetProperty__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsComponent_SetProperty'");
  XSRETURN(0);
}


XS(_wrap_iAwsComponent_Execute__SWIG_0) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsParmList *arg3 = (iAwsParmList *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_Execute(self,action,parmlist);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Execute" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_Execute" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsParmList, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsComponent_Execute" "', argument " "3"" of type '" "iAwsParmList *""'"); 
    }
    arg3 = reinterpret_cast< iAwsParmList * >(argp3);
    result = (bool)(arg1)->Execute((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Execute__SWIG_1) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_Execute(self,action);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Execute" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_Execute" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Execute((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Execute) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iAwsParmList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsComponent_Execute__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsComponent_Execute__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsComponent_Execute'");
  XSRETURN(0);
}


XS(_wrap_iAwsComponent_Invalidate__SWIG_0) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Invalidate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Invalidate" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->Invalidate();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Invalidate__SWIG_1) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_Invalidate(self,area);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Invalidate" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_Invalidate" "', argument " "2"" of type '" "csRect""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsComponent_Invalidate" "', argument " "2"" of type '" "csRect""'");
      } else {
        arg2 = *(reinterpret_cast< csRect * >(argp2));
      }
    }
    (arg1)->Invalidate(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Invalidate) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iAwsComponent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsComponent_Invalidate__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iAwsComponent_Invalidate__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iAwsComponent_Invalidate'");
  XSRETURN(0);
}


XS(_wrap_iAwsComponent_Frame) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Frame(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Frame" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (arg1)->Frame();
    ST(argvi) = SWIG_NewPointerObj((new csRect(static_cast< const csRect& >(result))), SWIGTYPE_p_csRect, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_ClientFrame) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_ClientFrame(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_ClientFrame" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (arg1)->ClientFrame();
    ST(argvi) = SWIG_NewPointerObj((new csRect(static_cast< const csRect& >(result))), SWIGTYPE_p_csRect, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Type) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Type(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Type" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (char *)(arg1)->Type();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetFlag) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    unsigned int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetFlag(self,flag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetFlag" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_SetFlag" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    (arg1)->SetFlag(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_ClearFlag) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    unsigned int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_ClearFlag(self,flag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_ClearFlag" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_ClearFlag" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    (arg1)->ClearFlag(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Flags) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    unsigned int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Flags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Flags" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (unsigned int)(arg1)->Flags();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_WindowManager) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAws *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_WindowManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_WindowManager" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (iAws *)(arg1)->WindowManager();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAws, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Parent) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Parent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Parent" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (iAwsComponent *)(arg1)->Parent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Window) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Window(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Window" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (iAwsComponent *)(arg1)->Window();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Layout) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsLayoutManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Layout(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Layout" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (iAwsLayoutManager *)(arg1)->Layout();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsLayoutManager, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetParent) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetParent(self,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetParent" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_SetParent" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->SetParent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetLayout) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsLayoutManager *arg2 = (iAwsLayoutManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetLayout(self,layout);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetLayout" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsLayoutManager, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_SetLayout" "', argument " "2"" of type '" "iAwsLayoutManager *""'"); 
    }
    arg2 = reinterpret_cast< iAwsLayoutManager * >(argp2);
    (arg1)->SetLayout(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_AddToLayout) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    iAwsComponentNode *arg3 = (iAwsComponentNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_AddToLayout(self,cmp,settings);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_AddToLayout" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_AddToLayout" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsComponentNode, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsComponent_AddToLayout" "', argument " "3"" of type '" "iAwsComponentNode *""'"); 
    }
    arg3 = reinterpret_cast< iAwsComponentNode * >(argp3);
    (arg1)->AddToLayout(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_getPreferredSize) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_getPreferredSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_getPreferredSize" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (arg1)->getPreferredSize();
    ST(argvi) = SWIG_NewPointerObj((new csRect(static_cast< const csRect& >(result))), SWIGTYPE_p_csRect, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_setPreferredSize) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_setPreferredSize(self,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_setPreferredSize" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_setPreferredSize" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsComponent_setPreferredSize" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->setPreferredSize((csRect const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_clearPreferredSize) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_clearPreferredSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_clearPreferredSize" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->clearPreferredSize();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_getMinimumSize) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_getMinimumSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_getMinimumSize" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (arg1)->getMinimumSize();
    ST(argvi) = SWIG_NewPointerObj((new csRect(static_cast< const csRect& >(result))), SWIGTYPE_p_csRect, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_getInsets) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_getInsets(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_getInsets" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (arg1)->getInsets();
    ST(argvi) = SWIG_NewPointerObj((new csRect(static_cast< const csRect& >(result))), SWIGTYPE_p_csRect, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Overlaps) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_Overlaps(self,r);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Overlaps" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_Overlaps" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsComponent_Overlaps" "', argument " "2"" of type '" "csRect const &""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    result = (bool)(arg1)->Overlaps((csRect const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_isHidden) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_isHidden(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_isHidden" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->isHidden();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetFocusable) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetFocusable(self,_focusable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetFocusable" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_SetFocusable" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetFocusable(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Focusable) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Focusable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Focusable" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->Focusable();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_isFocused) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_isFocused(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_isFocused" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->isFocused();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_IsMaximized) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_IsMaximized(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_IsMaximized" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->IsMaximized();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Hide) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Hide(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Hide" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->Hide();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Show) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Show(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Show" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->Show();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetFocus) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_SetFocus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetFocus" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->SetFocus();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_UnsetFocus) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_UnsetFocus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_UnsetFocus" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->UnsetFocus();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Move) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_Move(self,delta_x,delta_y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Move" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_Move" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_Move" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->Move(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_MoveTo) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_MoveTo(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_MoveTo" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_MoveTo" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_MoveTo" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->MoveTo(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Resize) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_Resize(self,width,height);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Resize" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_Resize" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_Resize" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->Resize(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_ResizeTo) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_ResizeTo(self,newFrame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_ResizeTo" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_ResizeTo" "', argument " "2"" of type '" "csRect""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsComponent_ResizeTo" "', argument " "2"" of type '" "csRect""'");
      } else {
        arg2 = *(reinterpret_cast< csRect * >(argp2));
      }
    }
    (arg1)->ResizeTo(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Maximize) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Maximize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Maximize" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->Maximize();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_UnMaximize) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_UnMaximize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_UnMaximize" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->UnMaximize();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_LayoutChildren) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_LayoutChildren(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_LayoutChildren" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->LayoutChildren();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_isDeaf) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_isDeaf(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_isDeaf" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->isDeaf();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetDeaf) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetDeaf(self,bDeaf);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetDeaf" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_SetDeaf" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetDeaf(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetID) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    unsigned long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_GetID(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetID" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (unsigned long)(arg1)->GetID();
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetID) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    unsigned long arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetID(self,_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetID" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_SetID" "', argument " "2"" of type '" "unsigned long""'");
    } 
    arg2 = static_cast< unsigned long >(val2);
    (arg1)->SetID(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_FindChild) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_FindChild(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_FindChild" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_FindChild" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iAwsComponent *)(arg1)->FindChild((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_DoFindChild) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    unsigned int arg2 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_DoFindChild(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_DoFindChild" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_DoFindChild" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    result = (iAwsComponent *)(arg1)->DoFindChild(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_ChildAt) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponent_ChildAt(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_ChildAt" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_ChildAt" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_ChildAt" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (iAwsComponent *)(arg1)->ChildAt(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_AddChild) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_AddChild(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_AddChild" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_AddChild" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->AddChild(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_RemoveChild) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_RemoveChild(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_RemoveChild" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_RemoveChild" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->RemoveChild(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetChildCount) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_GetChildCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetChildCount" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (int)(arg1)->GetChildCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetTopChild) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_GetTopChild(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetTopChild" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (iAwsComponent *)(arg1)->GetTopChild();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_ComponentAbove) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_ComponentAbove(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_ComponentAbove" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (iAwsComponent *)(arg1)->ComponentAbove();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_ComponentBelow) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_ComponentBelow(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_ComponentBelow" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (iAwsComponent *)(arg1)->ComponentBelow();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetComponentAbove) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetComponentAbove(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetComponentAbove" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_SetComponentAbove" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->SetComponentAbove(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetComponentBelow) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetComponentBelow(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetComponentBelow" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_SetComponentBelow" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->SetComponentBelow(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_AddToTabOrder) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_AddToTabOrder(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_AddToTabOrder" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_AddToTabOrder" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    result = (bool)(arg1)->AddToTabOrder(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_TabNext) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_TabNext(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_TabNext" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_TabNext" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    result = (iAwsComponent *)(arg1)->TabNext(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_TabPrev) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_TabPrev(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_TabPrev" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_TabPrev" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    result = (iAwsComponent *)(arg1)->TabPrev(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetTabLength) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_GetTabLength(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetTabLength" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (int)(arg1)->GetTabLength();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetTabComponent) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_GetTabComponent(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetTabComponent" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_GetTabComponent" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iAwsComponent *)(arg1)->GetTabComponent(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetFirstFocusableChild) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_GetFirstFocusableChild(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetFirstFocusableChild" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_GetFirstFocusableChild" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    result = (iAwsComponent *)(arg1)->GetFirstFocusableChild(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Raise) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Raise(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Raise" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->Raise();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Lower) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Lower(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Lower" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->Lower();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_HasChildren) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_HasChildren(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_HasChildren" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->HasChildren();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetRedrawTag) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    unsigned int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetRedrawTag(self,tag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetRedrawTag" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_SetRedrawTag" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    (arg1)->SetRedrawTag(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_RedrawTag) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    unsigned int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_RedrawTag(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_RedrawTag" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (unsigned int)(arg1)->RedrawTag();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnDraw) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csRect arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_OnDraw(self,clip);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnDraw" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRect,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_OnDraw" "', argument " "2"" of type '" "csRect""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsComponent_OnDraw" "', argument " "2"" of type '" "csRect""'");
      } else {
        arg2 = *(reinterpret_cast< csRect * >(argp2));
      }
    }
    (arg1)->OnDraw(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnMouseDown) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsComponent_OnMouseDown(self,button,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnMouseDown" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_OnMouseDown" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_OnMouseDown" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsComponent_OnMouseDown" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->OnMouseDown(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnMouseUp) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsComponent_OnMouseUp(self,button,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnMouseUp" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_OnMouseUp" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_OnMouseUp" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsComponent_OnMouseUp" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->OnMouseUp(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnMouseMove) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsComponent_OnMouseMove(self,button,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnMouseMove" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_OnMouseMove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_OnMouseMove" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsComponent_OnMouseMove" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->OnMouseMove(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnMouseClick) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsComponent_OnMouseClick(self,button,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnMouseClick" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_OnMouseClick" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_OnMouseClick" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsComponent_OnMouseClick" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->OnMouseClick(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnMouseDoubleClick) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iAwsComponent_OnMouseDoubleClick(self,button,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnMouseDoubleClick" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAwsComponent_OnMouseDoubleClick" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponent_OnMouseDoubleClick" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsComponent_OnMouseDoubleClick" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->OnMouseDoubleClick(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnMouseExit) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnMouseExit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnMouseExit" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->OnMouseExit();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnMouseEnter) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnMouseEnter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnMouseEnter" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->OnMouseEnter();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnKeyboard) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    csKeyEventData *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_OnKeyboard(self,eventData);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnKeyboard" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csKeyEventData,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_OnKeyboard" "', argument " "2"" of type '" "csKeyEventData const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsComponent_OnKeyboard" "', argument " "2"" of type '" "csKeyEventData const &""'"); 
    }
    arg2 = reinterpret_cast< csKeyEventData * >(argp2);
    result = (bool)(arg1)->OnKeyboard((csKeyEventData const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnLostFocus) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnLostFocus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnLostFocus" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->OnLostFocus();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnGainFocus) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnGainFocus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnGainFocus" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->OnGainFocus();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnFrame) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnFrame(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnFrame" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->OnFrame();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnAdded) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnAdded(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnAdded" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnAdded();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnResized) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnResized(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnResized" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnResized();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnChildMoved) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnChildMoved(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnChildMoved" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnChildMoved();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnRaise) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnRaise(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnRaise" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnRaise();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnLower) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnLower(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnLower" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnLower();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnChildHide) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnChildHide(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnChildHide" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnChildHide();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnChildShow) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnChildShow(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnChildShow" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnChildShow();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnSetFocus) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnSetFocus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnSetFocus" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnSetFocus();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_OnUnsetFocus) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_OnUnsetFocus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_OnUnsetFocus" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->OnUnsetFocus();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_Unlink) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_Unlink(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_Unlink" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->Unlink();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_LinkAbove) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_LinkAbove(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_LinkAbove" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_LinkAbove" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->LinkAbove(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_LinkBelow) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_LinkBelow(self,comp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_LinkBelow" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_LinkBelow" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->LinkBelow(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_SetTopChild) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    iAwsComponent *arg2 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponent_SetTopChild(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_SetTopChild" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponent_SetTopChild" "', argument " "2"" of type '" "iAwsComponent *""'"); 
    }
    arg2 = reinterpret_cast< iAwsComponent * >(argp2);
    (arg1)->SetTopChild(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_MarkToDelete) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_MarkToDelete(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_MarkToDelete" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    (arg1)->MarkToDelete();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponent_GetMarkToDelete) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponent_GetMarkToDelete(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponent_GetMarkToDelete" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    result = (bool)(arg1)->GetMarkToDelete();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsComponent) {
  {
    iAwsComponent *arg1 = (iAwsComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsComponent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponent, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsComponent" "', argument " "1"" of type '" "iAwsComponent *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponent * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponentFactory_Create) {
  {
    iAwsComponentFactory *arg1 = (iAwsComponentFactory *) 0 ;
    iAwsComponent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsComponentFactory_Create(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponentFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponentFactory_Create" "', argument " "1"" of type '" "iAwsComponentFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponentFactory * >(argp1);
    result = (iAwsComponent *)(arg1)->Create();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponent, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponentFactory_Register) {
  {
    iAwsComponentFactory *arg1 = (iAwsComponentFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsComponentFactory_Register(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponentFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponentFactory_Register" "', argument " "1"" of type '" "iAwsComponentFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponentFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponentFactory_Register" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->Register((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsComponentFactory_RegisterConstant) {
  {
    iAwsComponentFactory *arg1 = (iAwsComponentFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsComponentFactory_RegisterConstant(self,name,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponentFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsComponentFactory_RegisterConstant" "', argument " "1"" of type '" "iAwsComponentFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponentFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsComponentFactory_RegisterConstant" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsComponentFactory_RegisterConstant" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->RegisterConstant((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsComponentFactory) {
  {
    iAwsComponentFactory *arg1 = (iAwsComponentFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsComponentFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsComponentFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsComponentFactory" "', argument " "1"" of type '" "iAwsComponentFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsComponentFactory * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_Initialize) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsKeyFactory_Initialize(self,name,component_type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_Initialize" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_Initialize" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsKeyFactory_Initialize" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->Initialize((char const *)arg2,(char const *)arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddToWindowList) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    iAwsPrefManager *arg2 = (iAwsPrefManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddToWindowList(self,pm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddToWindowList" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsPrefManager, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddToWindowList" "', argument " "2"" of type '" "iAwsPrefManager *""'"); 
    }
    arg2 = reinterpret_cast< iAwsPrefManager * >(argp2);
    (arg1)->AddToWindowList(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddFactory) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    iAwsKeyFactory *arg2 = (iAwsKeyFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddFactory(self,factory);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddFactory" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddFactory" "', argument " "2"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg2 = reinterpret_cast< iAwsKeyFactory * >(argp2);
    (arg1)->AddFactory(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddIntKey) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddIntKey(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddIntKey" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddIntKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsKeyFactory_AddIntKey" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->AddIntKey((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddStringKey) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddStringKey(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddStringKey" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddStringKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsKeyFactory_AddStringKey" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->AddStringKey((char const *)arg2,(char const *)arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddRectKey) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    csRect arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddRectKey(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddRectKey" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddRectKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRect,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsKeyFactory_AddRectKey" "', argument " "3"" of type '" "csRect""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsKeyFactory_AddRectKey" "', argument " "3"" of type '" "csRect""'");
      } else {
        arg3 = *(reinterpret_cast< csRect * >(argp3));
      }
    }
    (arg1)->AddRectKey((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddRGBKey) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    unsigned char arg3 ;
    unsigned char arg4 ;
    unsigned char arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    unsigned char val3 ;
    int ecode3 = 0 ;
    unsigned char val4 ;
    int ecode4 = 0 ;
    unsigned char val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddRGBKey(self,name,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddRGBKey" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddRGBKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iAwsKeyFactory_AddRGBKey" "', argument " "3"" of type '" "unsigned char""'");
    } 
    arg3 = static_cast< unsigned char >(val3);
    ecode4 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsKeyFactory_AddRGBKey" "', argument " "4"" of type '" "unsigned char""'");
    } 
    arg4 = static_cast< unsigned char >(val4);
    ecode5 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iAwsKeyFactory_AddRGBKey" "', argument " "5"" of type '" "unsigned char""'");
    } 
    arg5 = static_cast< unsigned char >(val5);
    (arg1)->AddRGBKey((char const *)arg2,arg3,arg4,arg5);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddPointKey) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    csVector2 arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddPointKey(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddPointKey" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddPointKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsKeyFactory_AddPointKey" "', argument " "3"" of type '" "csVector2""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iAwsKeyFactory_AddPointKey" "', argument " "3"" of type '" "csVector2""'");
      } else {
        arg3 = *(reinterpret_cast< csVector2 * >(argp3));
      }
    }
    (arg1)->AddPointKey((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddConnectionKey) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsSink *arg3 = (iAwsSink *) 0 ;
    unsigned long arg4 ;
    unsigned long arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned long val4 ;
    int ecode4 = 0 ;
    unsigned long val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddConnectionKey(self,name,s,t,sig);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddConnectionKey" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddConnectionKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsKeyFactory_AddConnectionKey" "', argument " "3"" of type '" "iAwsSink *""'"); 
    }
    arg3 = reinterpret_cast< iAwsSink * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsKeyFactory_AddConnectionKey" "', argument " "4"" of type '" "unsigned long""'");
    } 
    arg4 = static_cast< unsigned long >(val4);
    ecode5 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iAwsKeyFactory_AddConnectionKey" "', argument " "5"" of type '" "unsigned long""'");
    } 
    arg5 = static_cast< unsigned long >(val5);
    (arg1)->AddConnectionKey((char const *)arg2,arg3,arg4,arg5);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_AddConnectionNode) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    iAwsConnectionNodeFactory *arg2 = (iAwsConnectionNodeFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iAwsKeyFactory_AddConnectionNode(self,node);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_AddConnectionNode" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAwsConnectionNodeFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsKeyFactory_AddConnectionNode" "', argument " "2"" of type '" "iAwsConnectionNodeFactory *""'"); 
    }
    arg2 = reinterpret_cast< iAwsConnectionNodeFactory * >(argp2);
    (arg1)->AddConnectionNode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsKeyFactory_GetThisNode) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    iAwsComponentNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsKeyFactory_GetThisNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsKeyFactory_GetThisNode" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    result = (iAwsComponentNode *)(arg1)->GetThisNode();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iAwsComponentNode, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsKeyFactory) {
  {
    iAwsKeyFactory *arg1 = (iAwsKeyFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsKeyFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsKeyFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsKeyFactory" "', argument " "1"" of type '" "iAwsKeyFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsKeyFactory * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsConnectionNodeFactory_Initialize) {
  {
    iAwsConnectionNodeFactory *arg1 = (iAwsConnectionNodeFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsConnectionNodeFactory_Initialize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsConnectionNodeFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsConnectionNodeFactory_Initialize" "', argument " "1"" of type '" "iAwsConnectionNodeFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsConnectionNodeFactory * >(argp1);
    (arg1)->Initialize();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsConnectionNodeFactory_AddConnectionKey) {
  {
    iAwsConnectionNodeFactory *arg1 = (iAwsConnectionNodeFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iAwsSink *arg3 = (iAwsSink *) 0 ;
    unsigned long arg4 ;
    unsigned long arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned long val4 ;
    int ecode4 = 0 ;
    unsigned long val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iAwsConnectionNodeFactory_AddConnectionKey(self,name,s,t,sig);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsConnectionNodeFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsConnectionNodeFactory_AddConnectionKey" "', argument " "1"" of type '" "iAwsConnectionNodeFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsConnectionNodeFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iAwsConnectionNodeFactory_AddConnectionKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iAwsSink, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAwsConnectionNodeFactory_AddConnectionKey" "', argument " "3"" of type '" "iAwsSink *""'"); 
    }
    arg3 = reinterpret_cast< iAwsSink * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iAwsConnectionNodeFactory_AddConnectionKey" "', argument " "4"" of type '" "unsigned long""'");
    } 
    arg4 = static_cast< unsigned long >(val4);
    ecode5 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iAwsConnectionNodeFactory_AddConnectionKey" "', argument " "5"" of type '" "unsigned long""'");
    } 
    arg5 = static_cast< unsigned long >(val5);
    (arg1)->AddConnectionKey((char const *)arg2,arg3,arg4,arg5);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAwsConnectionNodeFactory_GetThisNode) {
  {
    iAwsConnectionNodeFactory *arg1 = (iAwsConnectionNodeFactory *) 0 ;
    awsConnectionNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iAwsConnectionNodeFactory_GetThisNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsConnectionNodeFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAwsConnectionNodeFactory_GetThisNode" "', argument " "1"" of type '" "iAwsConnectionNodeFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsConnectionNodeFactory * >(argp1);
    result = (awsConnectionNode *)(arg1)->GetThisNode();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_awsConnectionNode, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAwsConnectionNodeFactory) {
  {
    iAwsConnectionNodeFactory *arg1 = (iAwsConnectionNodeFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAwsConnectionNodeFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAwsConnectionNodeFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAwsConnectionNodeFactory" "', argument " "1"" of type '" "iAwsConnectionNodeFactory *""'"); 
    }
    arg1 = reinterpret_cast< iAwsConnectionNodeFactory * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVertexStatus_Type_set) {
  {
    csVertexStatus *arg1 = (csVertexStatus *) 0 ;
    unsigned char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned char val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVertexStatus_Type_set(self,Type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVertexStatus_Type_set" "', argument " "1"" of type '" "csVertexStatus *""'"); 
    }
    arg1 = reinterpret_cast< csVertexStatus * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVertexStatus_Type_set" "', argument " "2"" of type '" "unsigned char""'");
    } 
    arg2 = static_cast< unsigned char >(val2);
    if (arg1) (arg1)->Type = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVertexStatus_Type_get) {
  {
    csVertexStatus *arg1 = (csVertexStatus *) 0 ;
    unsigned char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVertexStatus_Type_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVertexStatus_Type_get" "', argument " "1"" of type '" "csVertexStatus *""'"); 
    }
    arg1 = reinterpret_cast< csVertexStatus * >(argp1);
    result = (unsigned char) ((arg1)->Type);
    ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned char >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVertexStatus_Vertex_set) {
  {
    csVertexStatus *arg1 = (csVertexStatus *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVertexStatus_Vertex_set(self,Vertex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVertexStatus_Vertex_set" "', argument " "1"" of type '" "csVertexStatus *""'"); 
    }
    arg1 = reinterpret_cast< csVertexStatus * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVertexStatus_Vertex_set" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    if (arg1) (arg1)->Vertex = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVertexStatus_Vertex_get) {
  {
    csVertexStatus *arg1 = (csVertexStatus *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVertexStatus_Vertex_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVertexStatus_Vertex_get" "', argument " "1"" of type '" "csVertexStatus *""'"); 
    }
    arg1 = reinterpret_cast< csVertexStatus * >(argp1);
    result =  ((arg1)->Vertex);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVertexStatus_Pos_set) {
  {
    csVertexStatus *arg1 = (csVertexStatus *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csVertexStatus_Pos_set(self,Pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVertexStatus_Pos_set" "', argument " "1"" of type '" "csVertexStatus *""'"); 
    }
    arg1 = reinterpret_cast< csVertexStatus * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csVertexStatus_Pos_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->Pos = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csVertexStatus_Pos_get) {
  {
    csVertexStatus *arg1 = (csVertexStatus *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csVertexStatus_Pos_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csVertexStatus_Pos_get" "', argument " "1"" of type '" "csVertexStatus *""'"); 
    }
    arg1 = reinterpret_cast< csVertexStatus * >(argp1);
    result = (float) ((arg1)->Pos);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csVertexStatus) {
  {
    csVertexStatus *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csVertexStatus();");
    }
    result = (csVertexStatus *)new csVertexStatus();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVertexStatus, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csVertexStatus) {
  {
    csVertexStatus *arg1 = (csVertexStatus *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csVertexStatus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csVertexStatus, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csVertexStatus" "', argument " "1"" of type '" "csVertexStatus *""'"); 
    }
    arg1 = reinterpret_cast< csVertexStatus * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_Clip__SWIG_0) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    size_t arg3 ;
    csVector2 *arg4 = (csVector2 *) 0 ;
    size_t *arg5 = 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iClipper2D_Clip(self,InPolygon,InCount,OutPolygon,OutCount);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_Clip" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iClipper2D_Clip" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iClipper2D_Clip" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iClipper2D_Clip" "', argument " "4"" of type '" "csVector2 *""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iClipper2D_Clip" "', argument " "5"" of type '" "size_t &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iClipper2D_Clip" "', argument " "5"" of type '" "size_t &""'"); 
    }
    arg5 = reinterpret_cast< size_t * >(argp5);
    result = (arg1)->Clip(arg2,arg3,arg4,*arg5);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_Clip__SWIG_1) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    size_t arg3 ;
    csVector2 *arg4 = (csVector2 *) 0 ;
    size_t *arg5 = 0 ;
    csBox2 *arg6 = 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iClipper2D_Clip(self,InPolygon,InCount,OutPolygon,OutCount,BoundingBox);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_Clip" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iClipper2D_Clip" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iClipper2D_Clip" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iClipper2D_Clip" "', argument " "4"" of type '" "csVector2 *""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iClipper2D_Clip" "', argument " "5"" of type '" "size_t &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iClipper2D_Clip" "', argument " "5"" of type '" "size_t &""'"); 
    }
    arg5 = reinterpret_cast< size_t * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iClipper2D_Clip" "', argument " "6"" of type '" "csBox2 &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iClipper2D_Clip" "', argument " "6"" of type '" "csBox2 &""'"); 
    }
    arg6 = reinterpret_cast< csBox2 * >(argp6);
    result = (arg1)->Clip(arg2,arg3,arg4,*arg5,*arg6);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_Clip__SWIG_2) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    size_t arg3 ;
    csVector2 *arg4 = (csVector2 *) 0 ;
    size_t *arg5 = 0 ;
    csVertexStatus *arg6 = (csVertexStatus *) 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iClipper2D_Clip(self,InPolygon,InCount,OutPolygon,OutCount,OutStatus);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_Clip" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iClipper2D_Clip" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iClipper2D_Clip" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iClipper2D_Clip" "', argument " "4"" of type '" "csVector2 *""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iClipper2D_Clip" "', argument " "5"" of type '" "size_t &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iClipper2D_Clip" "', argument " "5"" of type '" "size_t &""'"); 
    }
    arg5 = reinterpret_cast< size_t * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_csVertexStatus, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iClipper2D_Clip" "', argument " "6"" of type '" "csVertexStatus *""'"); 
    }
    arg6 = reinterpret_cast< csVertexStatus * >(argp6);
    result = (arg1)->Clip(arg2,arg3,arg4,*arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_Clip) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iClipper2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_size_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iClipper2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_size_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iClipper2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_size_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csVertexStatus, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iClipper2D_Clip__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iClipper2D_Clip__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iClipper2D_Clip__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iClipper2D_Clip'");
  XSRETURN(0);
}


XS(_wrap_iClipper2D_ClipInPlace) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    size_t *arg3 = 0 ;
    csBox2 *arg4 = 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iClipper2D_ClipInPlace(self,InPolygon,InOutCount,BoundingBox);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_ClipInPlace" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iClipper2D_ClipInPlace" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iClipper2D_ClipInPlace" "', argument " "3"" of type '" "size_t &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iClipper2D_ClipInPlace" "', argument " "3"" of type '" "size_t &""'"); 
    }
    arg3 = reinterpret_cast< size_t * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iClipper2D_ClipInPlace" "', argument " "4"" of type '" "csBox2 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iClipper2D_ClipInPlace" "', argument " "4"" of type '" "csBox2 &""'"); 
    }
    arg4 = reinterpret_cast< csBox2 * >(argp4);
    result = (arg1)->ClipInPlace(arg2,*arg3,*arg4);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_ClassifyBox) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    csBox2 *arg2 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iClipper2D_ClassifyBox(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_ClassifyBox" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iClipper2D_ClassifyBox" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iClipper2D_ClassifyBox" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    result = (int)(arg1)->ClassifyBox((csBox2 const &)*arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_IsInside) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    csVector2 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iClipper2D_IsInside(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_IsInside" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iClipper2D_IsInside" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iClipper2D_IsInside" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    result = (bool)(arg1)->IsInside((csVector2 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_GetVertexCount) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iClipper2D_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_GetVertexCount" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    result = (arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_GetClipPoly) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iClipper2D_GetClipPoly(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_GetClipPoly" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    result = (csVector2 *)(arg1)->GetClipPoly();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iClipper2D_GetClipperType) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    iClipper2D::ClipperType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iClipper2D_GetClipperType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iClipper2D_GetClipperType" "', argument " "1"" of type '" "iClipper2D const *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    result = (iClipper2D::ClipperType)((iClipper2D const *)arg1)->GetClipperType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iClipper2D) {
  {
    iClipper2D *arg1 = (iClipper2D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iClipper2D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iClipper2D, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iClipper2D" "', argument " "1"" of type '" "iClipper2D *""'"); 
    }
    arg1 = reinterpret_cast< iClipper2D * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModelListener_ObjectModelChanged) {
  {
    iObjectModelListener *arg1 = (iObjectModelListener *) 0 ;
    iObjectModel *arg2 = (iObjectModel *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModelListener_ObjectModelChanged(self,model);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModelListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModelListener_ObjectModelChanged" "', argument " "1"" of type '" "iObjectModelListener *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModelListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModelListener_ObjectModelChanged" "', argument " "2"" of type '" "iObjectModel *""'"); 
    }
    arg2 = reinterpret_cast< iObjectModel * >(argp2);
    (arg1)->ObjectModelChanged(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iObjectModelListener) {
  {
    iObjectModelListener *arg1 = (iObjectModelListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iObjectModelListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModelListener, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iObjectModelListener" "', argument " "1"" of type '" "iObjectModelListener *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModelListener * >(argp1);
    delete_iObjectModelListener(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModelListener_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iObjectModelListener_scfGetVersion();");
    }
    result = (int)iObjectModelListener_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetShapeNumber) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectModel_GetShapeNumber(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetShapeNumber" "', argument " "1"" of type '" "iObjectModel const *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    result = (long)((iObjectModel const *)arg1)->GetShapeNumber();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetPolygonMeshBase) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iPolygonMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectModel_GetPolygonMeshBase(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetPolygonMeshBase" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    result = (iPolygonMesh *)(arg1)->GetPolygonMeshBase();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPolygonMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetPolygonMeshColldet) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iPolygonMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectModel_GetPolygonMeshColldet(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetPolygonMeshColldet" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    result = (iPolygonMesh *)(arg1)->GetPolygonMeshColldet();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPolygonMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetTerraFormerColldet) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iTerraFormer *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectModel_GetTerraFormerColldet(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetTerraFormerColldet" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    result = (iTerraFormer *)(arg1)->GetTerraFormerColldet();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTerraFormer, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_SetPolygonMeshColldet) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iPolygonMesh *arg2 = (iPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModel_SetPolygonMeshColldet(self,polymesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_SetPolygonMeshColldet" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModel_SetPolygonMeshColldet" "', argument " "2"" of type '" "iPolygonMesh *""'"); 
    }
    arg2 = reinterpret_cast< iPolygonMesh * >(argp2);
    (arg1)->SetPolygonMeshColldet(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetPolygonMeshViscull) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iPolygonMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectModel_GetPolygonMeshViscull(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetPolygonMeshViscull" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    result = (iPolygonMesh *)(arg1)->GetPolygonMeshViscull();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPolygonMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_SetPolygonMeshViscull) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iPolygonMesh *arg2 = (iPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModel_SetPolygonMeshViscull(self,polymesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_SetPolygonMeshViscull" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModel_SetPolygonMeshViscull" "', argument " "2"" of type '" "iPolygonMesh *""'"); 
    }
    arg2 = reinterpret_cast< iPolygonMesh * >(argp2);
    (arg1)->SetPolygonMeshViscull(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetPolygonMeshShadows) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iPolygonMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectModel_GetPolygonMeshShadows(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetPolygonMeshShadows" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    result = (iPolygonMesh *)(arg1)->GetPolygonMeshShadows();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPolygonMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_SetPolygonMeshShadows) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iPolygonMesh *arg2 = (iPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModel_SetPolygonMeshShadows(self,polymesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_SetPolygonMeshShadows" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModel_SetPolygonMeshShadows" "', argument " "2"" of type '" "iPolygonMesh *""'"); 
    }
    arg2 = reinterpret_cast< iPolygonMesh * >(argp2);
    (arg1)->SetPolygonMeshShadows(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_CreateLowerDetailPolygonMesh) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    float arg2 ;
    SwigValueWrapper<csPtr<iPolygonMesh > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModel_CreateLowerDetailPolygonMesh(self,detail);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_CreateLowerDetailPolygonMesh" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iObjectModel_CreateLowerDetailPolygonMesh" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (arg1)->CreateLowerDetailPolygonMesh(arg2);
    {
      csRef<iPolygonMesh> rf ((csPtr<iPolygonMesh>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iPolygonMesh*)rf, SWIG_TypeQuery("cspace::""iPolygonMesh"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetObjectBoundingBox__SWIG_0) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModel_GetObjectBoundingBox(self,bbox);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetObjectBoundingBox" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModel_GetObjectBoundingBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iObjectModel_GetObjectBoundingBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->GetObjectBoundingBox(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetObjectBoundingBox__SWIG_1) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectModel_GetObjectBoundingBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetObjectBoundingBox" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    {
      csBox3 const &_result_ref = (arg1)->GetObjectBoundingBox();
      result = (csBox3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetObjectBoundingBox) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectModel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectModel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectModel_GetObjectBoundingBox__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectModel_GetObjectBoundingBox__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iObjectModel_GetObjectBoundingBox'");
  XSRETURN(0);
}


XS(_wrap_iObjectModel_SetObjectBoundingBox) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModel_SetObjectBoundingBox(self,bbox);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_SetObjectBoundingBox" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModel_SetObjectBoundingBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iObjectModel_SetObjectBoundingBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->SetObjectBoundingBox((csBox3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_GetRadius) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    float *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iObjectModel_GetRadius(self,radius,center);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_GetRadius" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModel_GetRadius" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iObjectModel_GetRadius" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iObjectModel_GetRadius" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iObjectModel_GetRadius" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->GetRadius(*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_AddListener) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iObjectModelListener *arg2 = (iObjectModelListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModel_AddListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_AddListener" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectModelListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModel_AddListener" "', argument " "2"" of type '" "iObjectModelListener *""'"); 
    }
    arg2 = reinterpret_cast< iObjectModelListener * >(argp2);
    (arg1)->AddListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_RemoveListener) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    iObjectModelListener *arg2 = (iObjectModelListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectModel_RemoveListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectModel_RemoveListener" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectModelListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectModel_RemoveListener" "', argument " "2"" of type '" "iObjectModelListener *""'"); 
    }
    arg2 = reinterpret_cast< iObjectModelListener * >(argp2);
    (arg1)->RemoveListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iObjectModel) {
  {
    iObjectModel *arg1 = (iObjectModel *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iObjectModel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectModel, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iObjectModel" "', argument " "1"" of type '" "iObjectModel *""'"); 
    }
    arg1 = reinterpret_cast< iObjectModel * >(argp1);
    delete_iObjectModel(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectModel_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iObjectModel_scfGetVersion();");
    }
    result = (int)iObjectModel_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_Length) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPath_Length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_Length" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    result = (int)(arg1)->Length();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_CalculateAtTime) {
  {
    iPath *arg1 = (iPath *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPath_CalculateAtTime(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_CalculateAtTime" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_CalculateAtTime" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->CalculateAtTime(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_GetCurrentIndex) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPath_GetCurrentIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_GetCurrentIndex" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    result = (int)(arg1)->GetCurrentIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_SetPositionVectors) {
  {
    iPath *arg1 = (iPath *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPath_SetPositionVectors(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_SetPositionVectors" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPath_SetPositionVectors" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetPositionVectors(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_SetUpVectors) {
  {
    iPath *arg1 = (iPath *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPath_SetUpVectors(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_SetUpVectors" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPath_SetUpVectors" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetUpVectors(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_SetForwardVectors) {
  {
    iPath *arg1 = (iPath *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPath_SetForwardVectors(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_SetForwardVectors" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPath_SetForwardVectors" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetForwardVectors(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_SetPositionVector) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPath_SetPositionVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_SetPositionVector" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_SetPositionVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPath_SetPositionVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_SetPositionVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetPositionVector(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_SetUpVector) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPath_SetUpVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_SetUpVector" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_SetUpVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPath_SetUpVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_SetUpVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetUpVector(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_SetForwardVector) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPath_SetForwardVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_SetForwardVector" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_SetForwardVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPath_SetForwardVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_SetForwardVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetForwardVector(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_GetPositionVector) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPath_GetPositionVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_GetPositionVector" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_GetPositionVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPath_GetPositionVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_GetPositionVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->GetPositionVector(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_GetUpVector) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPath_GetUpVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_GetUpVector" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_GetUpVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPath_GetUpVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_GetUpVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->GetUpVector(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_GetForwardVector) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPath_GetForwardVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_GetForwardVector" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_GetForwardVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPath_GetForwardVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_GetForwardVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->GetForwardVector(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_GetTime) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPath_GetTime(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_GetTime" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_GetTime" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetTime(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_SetTime) {
  {
    iPath *arg1 = (iPath *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPath_SetTime(self,idx,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_SetTime" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPath_SetTime" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iPath_SetTime" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetTime(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_GetInterpolatedPosition) {
  {
    iPath *arg1 = (iPath *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPath_GetInterpolatedPosition(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_GetInterpolatedPosition" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPath_GetInterpolatedPosition" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_GetInterpolatedPosition" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->GetInterpolatedPosition(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_GetInterpolatedUp) {
  {
    iPath *arg1 = (iPath *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPath_GetInterpolatedUp(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_GetInterpolatedUp" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPath_GetInterpolatedUp" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_GetInterpolatedUp" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->GetInterpolatedUp(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_GetInterpolatedForward) {
  {
    iPath *arg1 = (iPath *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPath_GetInterpolatedForward(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPath_GetInterpolatedForward" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPath_GetInterpolatedForward" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPath_GetInterpolatedForward" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->GetInterpolatedForward(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iPath) {
  {
    iPath *arg1 = (iPath *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iPath(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPath, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iPath" "', argument " "1"" of type '" "iPath *""'"); 
    }
    arg1 = reinterpret_cast< iPath * >(argp1);
    delete_iPath(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPath_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iPath_scfGetVersion();");
    }
    result = (int)iPath_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_scfPath_IncRef) {
  {
    scfImplementation1<csPath,iPath > *arg1 = (scfImplementation1<csPath,iPath > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: scfPath_IncRef(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_scfImplementation1TcsPath_iPath_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "scfPath_IncRef" "', argument " "1"" of type '" "scfImplementation1<csPath,iPath > *""'"); 
    }
    arg1 = reinterpret_cast< scfImplementation1<csPath,iPath > * >(argp1);
    (arg1)->IncRef();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_scfPath_DecRef) {
  {
    scfImplementation1<csPath,iPath > *arg1 = (scfImplementation1<csPath,iPath > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: scfPath_DecRef(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_scfImplementation1TcsPath_iPath_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "scfPath_DecRef" "', argument " "1"" of type '" "scfImplementation1<csPath,iPath > *""'"); 
    }
    arg1 = reinterpret_cast< scfImplementation1<csPath,iPath > * >(argp1);
    (arg1)->DecRef();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_scfPath_GetRefCount) {
  {
    scfImplementation1<csPath,iPath > *arg1 = (scfImplementation1<csPath,iPath > *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: scfPath_GetRefCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_scfImplementation1TcsPath_iPath_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "scfPath_GetRefCount" "', argument " "1"" of type '" "scfImplementation1<csPath,iPath > *""'"); 
    }
    arg1 = reinterpret_cast< scfImplementation1<csPath,iPath > * >(argp1);
    result = (int)(arg1)->GetRefCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_scfPath_QueryInterface) {
  {
    scfImplementation1<csPath,iPath > *arg1 = (scfImplementation1<csPath,iPath > *) 0 ;
    scfInterfaceID arg2 ;
    int arg3 ;
    void *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: scfPath_QueryInterface(self,iInterfaceID,iVersion);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_scfImplementation1TcsPath_iPath_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "scfPath_QueryInterface" "', argument " "1"" of type '" "scfImplementation1<csPath,iPath > *""'"); 
    }
    arg1 = reinterpret_cast< scfImplementation1<csPath,iPath > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "scfPath_QueryInterface" "', argument " "2"" of type '" "scfInterfaceID""'");
    } 
    arg2 = static_cast< scfInterfaceID >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "scfPath_QueryInterface" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (void *)(arg1)->QueryInterface(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_scfPath_AddRefOwner) {
  {
    scfImplementation1<csPath,iPath > *arg1 = (scfImplementation1<csPath,iPath > *) 0 ;
    void **arg2 = (void **) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: scfPath_AddRefOwner(self,ref_owner);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_scfImplementation1TcsPath_iPath_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "scfPath_AddRefOwner" "', argument " "1"" of type '" "scfImplementation1<csPath,iPath > *""'"); 
    }
    arg1 = reinterpret_cast< scfImplementation1<csPath,iPath > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_void, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "scfPath_AddRefOwner" "', argument " "2"" of type '" "void **""'"); 
    }
    arg2 = reinterpret_cast< void ** >(argp2);
    (arg1)->AddRefOwner(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_scfPath_RemoveRefOwner) {
  {
    scfImplementation1<csPath,iPath > *arg1 = (scfImplementation1<csPath,iPath > *) 0 ;
    void **arg2 = (void **) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: scfPath_RemoveRefOwner(self,ref_owner);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_scfImplementation1TcsPath_iPath_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "scfPath_RemoveRefOwner" "', argument " "1"" of type '" "scfImplementation1<csPath,iPath > *""'"); 
    }
    arg1 = reinterpret_cast< scfImplementation1<csPath,iPath > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_void, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "scfPath_RemoveRefOwner" "', argument " "2"" of type '" "void **""'"); 
    }
    arg2 = reinterpret_cast< void ** >(argp2);
    (arg1)->RemoveRefOwner(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMeshedPolygon_num_vertices_set) {
  {
    csMeshedPolygon *arg1 = (csMeshedPolygon *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMeshedPolygon_num_vertices_set(self,num_vertices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMeshedPolygon, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMeshedPolygon_num_vertices_set" "', argument " "1"" of type '" "csMeshedPolygon *""'"); 
    }
    arg1 = reinterpret_cast< csMeshedPolygon * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMeshedPolygon_num_vertices_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->num_vertices = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMeshedPolygon_num_vertices_get) {
  {
    csMeshedPolygon *arg1 = (csMeshedPolygon *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMeshedPolygon_num_vertices_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMeshedPolygon, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMeshedPolygon_num_vertices_get" "', argument " "1"" of type '" "csMeshedPolygon *""'"); 
    }
    arg1 = reinterpret_cast< csMeshedPolygon * >(argp1);
    result = (int) ((arg1)->num_vertices);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMeshedPolygon_vertices_set) {
  {
    csMeshedPolygon *arg1 = (csMeshedPolygon *) 0 ;
    int *arg2 = (int *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMeshedPolygon_vertices_set(self,vertices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMeshedPolygon, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMeshedPolygon_vertices_set" "', argument " "1"" of type '" "csMeshedPolygon *""'"); 
    }
    arg1 = reinterpret_cast< csMeshedPolygon * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMeshedPolygon_vertices_set" "', argument " "2"" of type '" "int *""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    if (arg1) (arg1)->vertices = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMeshedPolygon_vertices_get) {
  {
    csMeshedPolygon *arg1 = (csMeshedPolygon *) 0 ;
    int *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMeshedPolygon_vertices_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMeshedPolygon, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMeshedPolygon_vertices_get" "', argument " "1"" of type '" "csMeshedPolygon *""'"); 
    }
    arg1 = reinterpret_cast< csMeshedPolygon * >(argp1);
    result = (int *) ((arg1)->vertices);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMeshedPolygon) {
  {
    csMeshedPolygon *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csMeshedPolygon();");
    }
    result = (csMeshedPolygon *)new csMeshedPolygon();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMeshedPolygon, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csMeshedPolygon) {
  {
    csMeshedPolygon *arg1 = (csMeshedPolygon *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csMeshedPolygon(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMeshedPolygon, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csMeshedPolygon" "', argument " "1"" of type '" "csMeshedPolygon *""'"); 
    }
    arg1 = reinterpret_cast< csMeshedPolygon * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_GetVertexCount) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_GetVertexCount" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    result = (int)(arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_GetVertices) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_GetVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_GetVertices" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    result = (csVector3 *)(arg1)->GetVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_GetPolygonCount) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_GetPolygonCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_GetPolygonCount" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    result = (int)(arg1)->GetPolygonCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_GetPolygons) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    csMeshedPolygon *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_GetPolygons(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_GetPolygons" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    result = (csMeshedPolygon *)(arg1)->GetPolygons();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMeshedPolygon, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_GetTriangleCount) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_GetTriangleCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_GetTriangleCount" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    result = (int)(arg1)->GetTriangleCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_GetTriangles) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    csTriangle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_GetTriangles(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_GetTriangles" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    result = (csTriangle *)(arg1)->GetTriangles();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTriangle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_Lock) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_Lock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_Lock" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    (arg1)->Lock();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_Unlock) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_Unlock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_Unlock" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    (arg1)->Unlock();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_GetFlags) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_GetFlags" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_GetChangeNumber) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonMesh_GetChangeNumber(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonMesh_GetChangeNumber" "', argument " "1"" of type '" "iPolygonMesh const *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    result = ((iPolygonMesh const *)arg1)->GetChangeNumber();
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iPolygonMesh) {
  {
    iPolygonMesh *arg1 = (iPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iPolygonMesh(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonMesh, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iPolygonMesh" "', argument " "1"" of type '" "iPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonMesh * >(argp1);
    delete_iPolygonMesh(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonMesh_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iPolygonMesh_scfGetVersion();");
    }
    result = (int)iPolygonMesh_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPath) {
  {
    int arg1 ;
    csPath *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPath(p);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPath" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    result = (csPath *)new csPath(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPath, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPath) {
  {
    csPath *arg1 = (csPath *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPath(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPath" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_Length) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPath_Length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_Length" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    result = (int)(arg1)->Length();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_CalculateAtTime) {
  {
    csPath *arg1 = (csPath *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_CalculateAtTime(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_CalculateAtTime" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_CalculateAtTime" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->CalculateAtTime(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_Calculate) {
  {
    csPath *arg1 = (csPath *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_Calculate(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_Calculate" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_Calculate" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Calculate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetCurrentIndex) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPath_GetCurrentIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetCurrentIndex" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    result = (int)(arg1)->GetCurrentIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetTime) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_GetTime(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetTime" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_GetTime" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetTime(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetTime) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_SetTime(self,idx,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetTime" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_SetTime" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPath_SetTime" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetTime(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetTimeValue) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_SetTimeValue(self,idx,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetTimeValue" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_SetTimeValue" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPath_SetTimeValue" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetTimeValue(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetTimes) {
  {
    csPath *arg1 = (csPath *) 0 ;
    float *arg2 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_SetTimes(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetTimes" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPath_SetTimes" "', argument " "2"" of type '" "float const *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    (arg1)->SetTimes((float const *)arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetTimes) {
  {
    csPath *arg1 = (csPath *) 0 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPath_GetTimes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetTimes" "', argument " "1"" of type '" "csPath const *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    result = (float *)((csPath const *)arg1)->GetTimes();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetPositionVectors) {
  {
    csPath *arg1 = (csPath *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_SetPositionVectors(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetPositionVectors" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPath_SetPositionVectors" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetPositionVectors(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetUpVectors) {
  {
    csPath *arg1 = (csPath *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_SetUpVectors(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetUpVectors" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPath_SetUpVectors" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetUpVectors(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetForwardVectors) {
  {
    csPath *arg1 = (csPath *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_SetForwardVectors(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetForwardVectors" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPath_SetForwardVectors" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetForwardVectors(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetPositionVector) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_SetPositionVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetPositionVector" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_SetPositionVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPath_SetPositionVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_SetPositionVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetPositionVector(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetUpVector) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_SetUpVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetUpVector" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_SetUpVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPath_SetUpVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_SetUpVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetUpVector(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_SetForwardVector) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_SetForwardVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_SetForwardVector" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_SetForwardVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPath_SetForwardVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_SetForwardVector" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetForwardVector(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetPositionVector) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_GetPositionVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetPositionVector" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_GetPositionVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPath_GetPositionVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_GetPositionVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->GetPositionVector(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetUpVector) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_GetUpVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetUpVector" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_GetUpVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPath_GetUpVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_GetUpVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->GetUpVector(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetForwardVector) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_GetForwardVector(self,idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetForwardVector" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_GetForwardVector" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csPath_GetForwardVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_GetForwardVector" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->GetForwardVector(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetInterpolatedPosition) {
  {
    csPath *arg1 = (csPath *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_GetInterpolatedPosition(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetInterpolatedPosition" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPath_GetInterpolatedPosition" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_GetInterpolatedPosition" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->GetInterpolatedPosition(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetInterpolatedUp) {
  {
    csPath *arg1 = (csPath *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_GetInterpolatedUp(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetInterpolatedUp" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPath_GetInterpolatedUp" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_GetInterpolatedUp" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->GetInterpolatedUp(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetInterpolatedForward) {
  {
    csPath *arg1 = (csPath *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_GetInterpolatedForward(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetInterpolatedForward" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPath_GetInterpolatedForward" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPath_GetInterpolatedForward" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->GetInterpolatedForward(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetDimensionValues) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_GetDimensionValues(self,dim);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetDimensionValues" "', argument " "1"" of type '" "csPath const *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_GetDimensionValues" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float *)((csPath const *)arg1)->GetDimensionValues(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_GetDimensionValue) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    int arg3 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPath_GetDimensionValue(self,dim,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_GetDimensionValue" "', argument " "1"" of type '" "csPath const *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_GetDimensionValue" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPath_GetDimensionValue" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (float)((csPath const *)arg1)->GetDimensionValue(arg2,arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_InsertPoint) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_InsertPoint(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_InsertPoint" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_InsertPoint" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->InsertPoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPath_RemovePoint) {
  {
    csPath *arg1 = (csPath *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPath_RemovePoint(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPath, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPath_RemovePoint" "', argument " "1"" of type '" "csPath *""'"); 
    }
    arg1 = reinterpret_cast< csPath * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPath_RemovePoint" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->RemovePoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPolygonMesh) {
  {
    csPolygonMesh *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPolygonMesh();");
    }
    result = (csPolygonMesh *)new csPolygonMesh();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPolygonMesh, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPolygonMesh) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPolygonMesh(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPolygonMesh" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_SetVertices) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    csVector3 *arg2 = (csVector3 *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPolygonMesh_SetVertices(self,vt,vt_count,delete_vt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_SetVertices" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPolygonMesh_SetVertices" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPolygonMesh_SetVertices" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPolygonMesh_SetVertices" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->SetVertices(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_SetPolygons) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    csMeshedPolygon *arg2 = (csMeshedPolygon *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csPolygonMesh_SetPolygons(self,po,po_count,delete_po);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_SetPolygons" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csMeshedPolygon, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPolygonMesh_SetPolygons" "', argument " "2"" of type '" "csMeshedPolygon *""'"); 
    }
    arg2 = reinterpret_cast< csMeshedPolygon * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPolygonMesh_SetPolygons" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPolygonMesh_SetPolygons" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->SetPolygons(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_SetPolygonIndices) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    int *arg2 = (int *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPolygonMesh_SetPolygonIndices(self,po_indices,delete_po_indices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_SetPolygonIndices" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPolygonMesh_SetPolygonIndices" "', argument " "2"" of type '" "int *""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPolygonMesh_SetPolygonIndices" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->SetPolygonIndices(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_SetPolygonIndexCount) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPolygonMesh_SetPolygonIndexCount(self,po_index_count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_SetPolygonIndexCount" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPolygonMesh_SetPolygonIndexCount" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetPolygonIndexCount(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetPolygonIndices) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    int *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetPolygonIndices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetPolygonIndices" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    result = (int *)(arg1)->GetPolygonIndices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_SetVertexCount) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPolygonMesh_SetVertexCount(self,vt_count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_SetVertexCount" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPolygonMesh_SetVertexCount" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetVertexCount(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_SetPolygonCount) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPolygonMesh_SetPolygonCount(self,po_count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_SetPolygonCount" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPolygonMesh_SetPolygonCount" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetPolygonCount(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_ShapeChanged) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_ShapeChanged(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_ShapeChanged" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    (arg1)->ShapeChanged();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetVertexCount) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetVertexCount" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    result = (int)(arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetVertices) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetVertices" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    result = (csVector3 *)(arg1)->GetVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetPolygonCount) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetPolygonCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetPolygonCount" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    result = (int)(arg1)->GetPolygonCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetPolygons) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    csMeshedPolygon *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetPolygons(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetPolygons" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    result = (csMeshedPolygon *)(arg1)->GetPolygons();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMeshedPolygon, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetTriangleCount) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetTriangleCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetTriangleCount" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    result = (int)(arg1)->GetTriangleCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetTriangles) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    csTriangle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetTriangles(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetTriangles" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    result = (csTriangle *)(arg1)->GetTriangles();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTriangle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_Lock) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_Lock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_Lock" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    (arg1)->Lock();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_Unlock) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_Unlock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_Unlock" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    (arg1)->Unlock();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetFlags) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetFlags" "', argument " "1"" of type '" "csPolygonMesh *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMesh_GetChangeNumber) {
  {
    csPolygonMesh *arg1 = (csPolygonMesh *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMesh_GetChangeNumber(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMesh_GetChangeNumber" "', argument " "1"" of type '" "csPolygonMesh const *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMesh * >(argp1);
    result = ((csPolygonMesh const *)arg1)->GetChangeNumber();
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPolygonMeshBox) {
  {
    csBox3 *arg1 = 0 ;
    csPolygonMeshBox *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPolygonMeshBox(box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPolygonMeshBox" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csPolygonMeshBox" "', argument " "1"" of type '" "csBox3 const &""'"); 
    }
    arg1 = reinterpret_cast< csBox3 * >(argp1);
    result = (csPolygonMeshBox *)new csPolygonMeshBox((csBox3 const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPolygonMeshBox, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPolygonMeshBox) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPolygonMeshBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPolygonMeshBox" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_SetBox) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPolygonMeshBox_SetBox(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_SetBox" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPolygonMeshBox_SetBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPolygonMeshBox_SetBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->SetBox((csBox3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_GetVertexCount) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_GetVertexCount" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    result = (int)(arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_GetVertices) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_GetVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_GetVertices" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    result = (csVector3 *)(arg1)->GetVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_GetPolygonCount) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_GetPolygonCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_GetPolygonCount" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    result = (int)(arg1)->GetPolygonCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_GetPolygons) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    csMeshedPolygon *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_GetPolygons(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_GetPolygons" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    result = (csMeshedPolygon *)(arg1)->GetPolygons();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMeshedPolygon, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_GetTriangleCount) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_GetTriangleCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_GetTriangleCount" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    result = (int)(arg1)->GetTriangleCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_GetTriangles) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    csTriangle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_GetTriangles(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_GetTriangles" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    result = (csTriangle *)(arg1)->GetTriangles();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTriangle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_Lock) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_Lock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_Lock" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    (arg1)->Lock();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_Unlock) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_Unlock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_Unlock" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    (arg1)->Unlock();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_GetFlags) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_GetFlags" "', argument " "1"" of type '" "csPolygonMeshBox *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonMeshBox_GetChangeNumber) {
  {
    csPolygonMeshBox *arg1 = (csPolygonMeshBox *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonMeshBox_GetChangeNumber(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonMeshBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonMeshBox_GetChangeNumber" "', argument " "1"" of type '" "csPolygonMeshBox const *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonMeshBox * >(argp1);
    result = ((csPolygonMeshBox const *)arg1)->GetChangeNumber();
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iFrustumViewUserdata) {
  {
    iFrustumViewUserdata *arg1 = (iFrustumViewUserdata *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iFrustumViewUserdata(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumViewUserdata, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iFrustumViewUserdata" "', argument " "1"" of type '" "iFrustumViewUserdata *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumViewUserdata * >(argp1);
    delete_iFrustumViewUserdata(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumViewUserdata_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iFrustumViewUserdata_scfGetVersion();");
    }
    result = (int)iFrustumViewUserdata_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csFrustumContext) {
  {
    csFrustumContext *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csFrustumContext();");
    }
    result = (csFrustumContext *)new csFrustumContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFrustumContext, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext___copy__) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    csFrustumContext *arg2 = 0 ;
    csFrustumContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFrustumContext___copy__(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext___copy__" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csFrustumContext,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFrustumContext___copy__" "', argument " "2"" of type '" "csFrustumContext const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csFrustumContext___copy__" "', argument " "2"" of type '" "csFrustumContext const &""'"); 
    }
    arg2 = reinterpret_cast< csFrustumContext * >(argp2);
    {
      csFrustumContext &_result_ref = (arg1)->operator =((csFrustumContext const &)*arg2);
      result = (csFrustumContext *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFrustumContext, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_GetShadows) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    iShadowBlockList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFrustumContext_GetShadows(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_GetShadows" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    result = (iShadowBlockList *)(arg1)->GetShadows();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShadowBlockList, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_SetShadows__SWIG_0) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    iShadowBlockList *arg2 = (iShadowBlockList *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csFrustumContext_SetShadows(self,shad,sh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_SetShadows" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShadowBlockList, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFrustumContext_SetShadows" "', argument " "2"" of type '" "iShadowBlockList *""'"); 
    }
    arg2 = reinterpret_cast< iShadowBlockList * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csFrustumContext_SetShadows" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->SetShadows(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_SetShadows__SWIG_1) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    iShadowBlockList *arg2 = (iShadowBlockList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFrustumContext_SetShadows(self,shad);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_SetShadows" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShadowBlockList, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFrustumContext_SetShadows" "', argument " "2"" of type '" "iShadowBlockList *""'"); 
    }
    arg2 = reinterpret_cast< iShadowBlockList * >(argp2);
    (arg1)->SetShadows(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_SetShadows) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csFrustumContext, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iShadowBlockList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csFrustumContext, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iShadowBlockList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csFrustumContext_SetShadows__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csFrustumContext_SetShadows__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csFrustumContext_SetShadows'");
  XSRETURN(0);
}


XS(_wrap_csFrustumContext_SetNewShadows__SWIG_0) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    SwigValueWrapper<csPtr<iShadowBlockList > > arg2 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csFrustumContext_SetNewShadows(self,shad,sh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_SetNewShadows" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPtrTiShadowBlockList_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFrustumContext_SetNewShadows" "', argument " "2"" of type '" "csPtr<iShadowBlockList >""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csFrustumContext_SetNewShadows" "', argument " "2"" of type '" "csPtr<iShadowBlockList >""'");
      } else {
        arg2 = *(reinterpret_cast< csPtr<iShadowBlockList > * >(argp2));
      }
    }
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csFrustumContext_SetNewShadows" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->SetNewShadows(arg2,arg3);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_SetNewShadows__SWIG_1) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    SwigValueWrapper<csPtr<iShadowBlockList > > arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFrustumContext_SetNewShadows(self,shad);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_SetNewShadows" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPtrTiShadowBlockList_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFrustumContext_SetNewShadows" "', argument " "2"" of type '" "csPtr<iShadowBlockList >""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csFrustumContext_SetNewShadows" "', argument " "2"" of type '" "csPtr<iShadowBlockList >""'");
      } else {
        arg2 = *(reinterpret_cast< csPtr<iShadowBlockList > * >(argp2));
      }
    }
    (arg1)->SetNewShadows(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_SetNewShadows) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csFrustumContext, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPtrTiShadowBlockList_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csFrustumContext, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPtrTiShadowBlockList_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csFrustumContext_SetNewShadows__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csFrustumContext_SetNewShadows__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csFrustumContext_SetNewShadows'");
  XSRETURN(0);
}


XS(_wrap_csFrustumContext_IsShared) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFrustumContext_IsShared(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_IsShared" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    result = (bool)(arg1)->IsShared();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_SetLightFrustum) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    csFrustum *arg2 = (csFrustum *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFrustumContext_SetLightFrustum(self,lf);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_SetLightFrustum" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csFrustum, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFrustumContext_SetLightFrustum" "', argument " "2"" of type '" "csFrustum *""'"); 
    }
    arg2 = reinterpret_cast< csFrustum * >(argp2);
    (arg1)->SetLightFrustum(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_SetNewLightFrustum) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    SwigValueWrapper<csPtr<csFrustum > > arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFrustumContext_SetNewLightFrustum(self,lf);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_SetNewLightFrustum" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPtrTcsFrustum_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFrustumContext_SetNewLightFrustum" "', argument " "2"" of type '" "csPtr<csFrustum >""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csFrustumContext_SetNewLightFrustum" "', argument " "2"" of type '" "csPtr<csFrustum >""'");
      } else {
        arg2 = *(reinterpret_cast< csPtr<csFrustum > * >(argp2));
      }
    }
    (arg1)->SetNewLightFrustum(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_GetLightFrustum) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    csFrustum *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFrustumContext_GetLightFrustum(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_GetLightFrustum" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    result = (csFrustum *)(arg1)->GetLightFrustum();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFrustum, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_SetMirrored) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFrustumContext_SetMirrored(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_SetMirrored" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFrustumContext_SetMirrored" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetMirrored(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFrustumContext_IsMirrored) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFrustumContext_IsMirrored(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFrustumContext_IsMirrored" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    result = (bool)(arg1)->IsMirrored();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csFrustumContext) {
  {
    csFrustumContext *arg1 = (csFrustumContext *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csFrustumContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFrustumContext, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csFrustumContext" "', argument " "1"" of type '" "csFrustumContext *""'"); 
    }
    arg1 = reinterpret_cast< csFrustumContext * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_GetFrustumContext) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    csFrustumContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFrustumView_GetFrustumContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_GetFrustumContext" "', argument " "1"" of type '" "iFrustumView const *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    result = (csFrustumContext *)((iFrustumView const *)arg1)->GetFrustumContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFrustumContext, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_CreateFrustumContext) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFrustumView_CreateFrustumContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_CreateFrustumContext" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    (arg1)->CreateFrustumContext();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_CopyFrustumContext) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    csFrustumContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFrustumView_CopyFrustumContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_CopyFrustumContext" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    result = (csFrustumContext *)(arg1)->CopyFrustumContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFrustumContext, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_SetFrustumContext) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    csFrustumContext *arg2 = (csFrustumContext *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFrustumView_SetFrustumContext(self,ctxt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_SetFrustumContext" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFrustumView_SetFrustumContext" "', argument " "2"" of type '" "csFrustumContext *""'"); 
    }
    arg2 = reinterpret_cast< csFrustumContext * >(argp2);
    (arg1)->SetFrustumContext(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_RestoreFrustumContext) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    csFrustumContext *arg2 = (csFrustumContext *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFrustumView_RestoreFrustumContext(self,original);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_RestoreFrustumContext" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csFrustumContext, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFrustumView_RestoreFrustumContext" "', argument " "2"" of type '" "csFrustumContext *""'"); 
    }
    arg2 = reinterpret_cast< csFrustumContext * >(argp2);
    (arg1)->RestoreFrustumContext(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_SetObjectFunction) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    csFrustumViewObjectFunc *arg2 = (csFrustumViewObjectFunc *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFrustumView_SetObjectFunction(self,func);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_SetObjectFunction" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    {
      int res = SWIG_ConvertFunctionPtr(ST(1), (void**)(&arg2), SWIGTYPE_p_f_p_iMeshWrapper_p_iFrustumView_bool__void);
      if (!SWIG_IsOK(res)) {
        SWIG_exception_fail(SWIG_ArgError(res), "in method '" "iFrustumView_SetObjectFunction" "', argument " "2"" of type '" "csFrustumViewObjectFunc *""'"); 
      }
    }
    (arg1)->SetObjectFunction(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_CallObjectFunction) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iFrustumView_CallObjectFunction(self,mesh,vis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_CallObjectFunction" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFrustumView_CallObjectFunction" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iFrustumView_CallObjectFunction" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->CallObjectFunction(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_GetRadius) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFrustumView_GetRadius(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_GetRadius" "', argument " "1"" of type '" "iFrustumView const *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    result = (float)((iFrustumView const *)arg1)->GetRadius();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_GetSquaredRadius) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFrustumView_GetSquaredRadius(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_GetSquaredRadius" "', argument " "1"" of type '" "iFrustumView const *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    result = (float)((iFrustumView const *)arg1)->GetSquaredRadius();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_CheckShadowMask) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    unsigned int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFrustumView_CheckShadowMask(self,mask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_CheckShadowMask" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFrustumView_CheckShadowMask" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    result = (bool)(arg1)->CheckShadowMask(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_CheckProcessMask) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    unsigned int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFrustumView_CheckProcessMask(self,mask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_CheckProcessMask" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFrustumView_CheckProcessMask" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    result = (bool)(arg1)->CheckProcessMask(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_StartNewShadowBlock) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFrustumView_StartNewShadowBlock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_StartNewShadowBlock" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    (arg1)->StartNewShadowBlock();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_SetUserdata) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    iFrustumViewUserdata *arg2 = (iFrustumViewUserdata *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFrustumView_SetUserdata(self,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_SetUserdata" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFrustumViewUserdata, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFrustumView_SetUserdata" "', argument " "2"" of type '" "iFrustumViewUserdata *""'"); 
    }
    arg2 = reinterpret_cast< iFrustumViewUserdata * >(argp2);
    (arg1)->SetUserdata(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_GetUserdata) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    iFrustumViewUserdata *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFrustumView_GetUserdata(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFrustumView_GetUserdata" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    result = (iFrustumViewUserdata *)(arg1)->GetUserdata();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iFrustumViewUserdata, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iFrustumView) {
  {
    iFrustumView *arg1 = (iFrustumView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iFrustumView(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFrustumView, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iFrustumView" "', argument " "1"" of type '" "iFrustumView *""'"); 
    }
    arg1 = reinterpret_cast< iFrustumView * >(argp1);
    delete_iFrustumView(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFrustumView_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iFrustumView_scfGetVersion();");
    }
    result = (int)iFrustumView_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iLightCallback_OnColorChange) {
  {
    iLightCallback *arg1 = (iLightCallback *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    csColor *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLightCallback_OnColorChange(self,light,newcolor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightCallback_OnColorChange" "', argument " "1"" of type '" "iLightCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightCallback_OnColorChange" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLightCallback_OnColorChange" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLightCallback_OnColorChange" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    arg3 = reinterpret_cast< csColor * >(argp3);
    (arg1)->OnColorChange(arg2,(csColor const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightCallback_OnPositionChange) {
  {
    iLightCallback *arg1 = (iLightCallback *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLightCallback_OnPositionChange(self,light,newpos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightCallback_OnPositionChange" "', argument " "1"" of type '" "iLightCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightCallback_OnPositionChange" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLightCallback_OnPositionChange" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLightCallback_OnPositionChange" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->OnPositionChange(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightCallback_OnSectorChange) {
  {
    iLightCallback *arg1 = (iLightCallback *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    iSector *arg3 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLightCallback_OnSectorChange(self,light,newsector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightCallback_OnSectorChange" "', argument " "1"" of type '" "iLightCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightCallback_OnSectorChange" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLightCallback_OnSectorChange" "', argument " "3"" of type '" "iSector *""'"); 
    }
    arg3 = reinterpret_cast< iSector * >(argp3);
    (arg1)->OnSectorChange(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightCallback_OnRadiusChange) {
  {
    iLightCallback *arg1 = (iLightCallback *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLightCallback_OnRadiusChange(self,light,newradius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightCallback_OnRadiusChange" "', argument " "1"" of type '" "iLightCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightCallback_OnRadiusChange" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLightCallback_OnRadiusChange" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->OnRadiusChange(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightCallback_OnDestroy) {
  {
    iLightCallback *arg1 = (iLightCallback *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightCallback_OnDestroy(self,light);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightCallback_OnDestroy" "', argument " "1"" of type '" "iLightCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightCallback_OnDestroy" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    (arg1)->OnDestroy(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightCallback_OnAttenuationChange) {
  {
    iLightCallback *arg1 = (iLightCallback *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLightCallback_OnAttenuationChange(self,light,newatt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightCallback_OnAttenuationChange" "', argument " "1"" of type '" "iLightCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightCallback_OnAttenuationChange" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLightCallback_OnAttenuationChange" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->OnAttenuationChange(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLightCallback) {
  {
    iLightCallback *arg1 = (iLightCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLightCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLightCallback" "', argument " "1"" of type '" "iLightCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetLightID) {
  {
    iLight *arg1 = (iLight *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetLightID(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetLightID" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (char *)(arg1)->GetLightID();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_QueryObject) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_QueryObject" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetDynamicType) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csLightDynamicType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetDynamicType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetDynamicType" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (csLightDynamicType)((iLight const *)arg1)->GetDynamicType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetCenter) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetCenter" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    {
      csVector3 const &_result_ref = ((iLight const *)arg1)->GetCenter();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetFullCenter) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetFullCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetFullCenter" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = ((iLight const *)arg1)->GetFullCenter();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetCenter) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetCenter(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetCenter" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_SetCenter" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLight_SetCenter" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetCenter((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetSector) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetSector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetSector" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (iSector *)(arg1)->GetSector();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetMovable) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iMovable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetMovable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetMovable" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (iMovable *)(arg1)->GetMovable();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMovable, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_QuerySceneNode) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iSceneNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_QuerySceneNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_QuerySceneNode" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (iSceneNode *)(arg1)->QuerySceneNode();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSceneNode, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetColor) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetColor" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    {
      csColor const &_result_ref = ((iLight const *)arg1)->GetColor();
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetColor) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetColor(self,col);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetColor" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_SetColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLight_SetColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    (arg1)->SetColor((csColor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetSpecularColor) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetSpecularColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetSpecularColor" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    {
      csColor const &_result_ref = ((iLight const *)arg1)->GetSpecularColor();
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetSpecularColor) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetSpecularColor(self,col);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetSpecularColor" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_SetSpecularColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLight_SetSpecularColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    (arg1)->SetSpecularColor((csColor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetType) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csLightType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetType" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (csLightType)((iLight const *)arg1)->GetType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetType) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csLightType arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetType(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetType" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_SetType" "', argument " "2"" of type '" "csLightType""'");
    } 
    arg2 = static_cast< csLightType >(val2);
    (arg1)->SetType(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetAttenuationMode) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csLightAttenuationMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetAttenuationMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetAttenuationMode" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (csLightAttenuationMode)((iLight const *)arg1)->GetAttenuationMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetAttenuationMode) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csLightAttenuationMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetAttenuationMode(self,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetAttenuationMode" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_SetAttenuationMode" "', argument " "2"" of type '" "csLightAttenuationMode""'");
    } 
    arg2 = static_cast< csLightAttenuationMode >(val2);
    (arg1)->SetAttenuationMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetAttenuationConstants) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetAttenuationConstants(self,constants);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetAttenuationConstants" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_SetAttenuationConstants" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLight_SetAttenuationConstants" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetAttenuationConstants((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetAttenuationConstants) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetAttenuationConstants(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetAttenuationConstants" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    {
      csVector3 const &_result_ref = ((iLight const *)arg1)->GetAttenuationConstants();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetCutoffDistance) {
  {
    iLight *arg1 = (iLight *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetCutoffDistance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetCutoffDistance" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (float)((iLight const *)arg1)->GetCutoffDistance();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetCutoffDistance) {
  {
    iLight *arg1 = (iLight *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetCutoffDistance(self,distance);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetCutoffDistance" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_SetCutoffDistance" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetCutoffDistance(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetDirectionalCutoffRadius) {
  {
    iLight *arg1 = (iLight *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetDirectionalCutoffRadius(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetDirectionalCutoffRadius" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (float)((iLight const *)arg1)->GetDirectionalCutoffRadius();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetDirectionalCutoffRadius) {
  {
    iLight *arg1 = (iLight *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetDirectionalCutoffRadius(self,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetDirectionalCutoffRadius" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_SetDirectionalCutoffRadius" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetDirectionalCutoffRadius(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetSpotLightFalloff) {
  {
    iLight *arg1 = (iLight *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLight_SetSpotLightFalloff(self,inner,outer);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetSpotLightFalloff" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_SetSpotLightFalloff" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLight_SetSpotLightFalloff" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetSpotLightFalloff(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetSpotLightFalloff) {
  {
    iLight *arg1 = (iLight *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLight_GetSpotLightFalloff(self,inner,outer);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetSpotLightFalloff" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_GetSpotLightFalloff" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLight_GetSpotLightFalloff" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLight_GetSpotLightFalloff" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLight_GetSpotLightFalloff" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    ((iLight const *)arg1)->GetSpotLightFalloff(*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_CreateCrossHalo) {
  {
    iLight *arg1 = (iLight *) 0 ;
    float arg2 ;
    float arg3 ;
    iCrossHalo *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLight_CreateCrossHalo(self,intensity,cross);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_CreateCrossHalo" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_CreateCrossHalo" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLight_CreateCrossHalo" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (iCrossHalo *)(arg1)->CreateCrossHalo(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCrossHalo, 0 | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_CreateNovaHalo) {
  {
    iLight *arg1 = (iLight *) 0 ;
    int arg2 ;
    int arg3 ;
    float arg4 ;
    iNovaHalo *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLight_CreateNovaHalo(self,seed,num_spokes,roundness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_CreateNovaHalo" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_CreateNovaHalo" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLight_CreateNovaHalo" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLight_CreateNovaHalo" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (iNovaHalo *)(arg1)->CreateNovaHalo(arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iNovaHalo, 0 | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_CreateFlareHalo) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iFlareHalo *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_CreateFlareHalo(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_CreateFlareHalo" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (iFlareHalo *)(arg1)->CreateFlareHalo();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iFlareHalo, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetHalo) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iBaseHalo *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetHalo(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetHalo" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (iBaseHalo *)((iLight const *)arg1)->GetHalo();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBaseHalo, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetBrightnessAtDistance) {
  {
    iLight *arg1 = (iLight *) 0 ;
    float arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_GetBrightnessAtDistance(self,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetBrightnessAtDistance" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_GetBrightnessAtDistance" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (float)((iLight const *)arg1)->GetBrightnessAtDistance(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetFlags) {
  {
    iLight *arg1 = (iLight *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetFlags" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_SetLightCallback) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iLightCallback *arg2 = (iLightCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_SetLightCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_SetLightCallback" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLightCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_SetLightCallback" "', argument " "2"" of type '" "iLightCallback *""'"); 
    }
    arg2 = reinterpret_cast< iLightCallback * >(argp2);
    (arg1)->SetLightCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_RemoveLightCallback) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iLightCallback *arg2 = (iLightCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_RemoveLightCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_RemoveLightCallback" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLightCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_RemoveLightCallback" "', argument " "2"" of type '" "iLightCallback *""'"); 
    }
    arg2 = reinterpret_cast< iLightCallback * >(argp2);
    (arg1)->RemoveLightCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetLightCallbackCount) {
  {
    iLight *arg1 = (iLight *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetLightCallbackCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetLightCallbackCount" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (int)((iLight const *)arg1)->GetLightCallbackCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetLightCallback) {
  {
    iLight *arg1 = (iLight *) 0 ;
    int arg2 ;
    iLightCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_GetLightCallback(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetLightCallback" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLight_GetLightCallback" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iLightCallback *)((iLight const *)arg1)->GetLightCallback(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLightCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetLightNumber) {
  {
    iLight *arg1 = (iLight *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetLightNumber(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetLightNumber" "', argument " "1"" of type '" "iLight const *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = ((iLight const *)arg1)->GetLightNumber();
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_AddAffectedLightingInfo) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iLightingInfo *arg2 = (iLightingInfo *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_AddAffectedLightingInfo(self,li);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_AddAffectedLightingInfo" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLightingInfo, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_AddAffectedLightingInfo" "', argument " "2"" of type '" "iLightingInfo *""'"); 
    }
    arg2 = reinterpret_cast< iLightingInfo * >(argp2);
    (arg1)->AddAffectedLightingInfo(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_RemoveAffectedLightingInfo) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iLightingInfo *arg2 = (iLightingInfo *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLight_RemoveAffectedLightingInfo(self,li);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_RemoveAffectedLightingInfo" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLightingInfo, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLight_RemoveAffectedLightingInfo" "', argument " "2"" of type '" "iLightingInfo *""'"); 
    }
    arg2 = reinterpret_cast< iLightingInfo * >(argp2);
    (arg1)->RemoveAffectedLightingInfo(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_Setup) {
  {
    iLight *arg1 = (iLight *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_Setup(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_Setup" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    (arg1)->Setup();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_GetSVContext) {
  {
    iLight *arg1 = (iLight *) 0 ;
    iShaderVariableContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLight_GetSVContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLight_GetSVContext" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    result = (iShaderVariableContext *)(arg1)->GetSVContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShaderVariableContext, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLight) {
  {
    iLight *arg1 = (iLight *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLight, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLight" "', argument " "1"" of type '" "iLight *""'"); 
    }
    arg1 = reinterpret_cast< iLight * >(argp1);
    delete_iLight(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLight_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iLight_scfGetVersion();");
    }
    result = (int)iLight_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_GetCount) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_GetCount" "', argument " "1"" of type '" "iLightList const *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    result = (int)((iLightList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_Get) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    int arg2 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightList_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_Get" "', argument " "1"" of type '" "iLightList const *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLightList_Get" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iLight *)((iLightList const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_Add) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightList_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_Add" "', argument " "1"" of type '" "iLightList *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightList_Add" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    result = (int)(arg1)->Add(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_Remove__SWIG_0) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightList_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_Remove" "', argument " "1"" of type '" "iLightList *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightList_Remove" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_Remove__SWIG_1) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightList_Remove(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_Remove" "', argument " "1"" of type '" "iLightList *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLightList_Remove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLightList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iLight, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLightList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLightList_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLightList_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iLightList_Remove'");
  XSRETURN(0);
}


XS(_wrap_iLightList_RemoveAll) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightList_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_RemoveAll" "', argument " "1"" of type '" "iLightList *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_Find) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightList_Find(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_Find" "', argument " "1"" of type '" "iLightList const *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightList_Find" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    result = (int)((iLightList const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_FindByName) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    char *arg2 = (char *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightList_FindByName(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_FindByName" "', argument " "1"" of type '" "iLightList const *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightList_FindByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iLight *)((iLightList const *)arg1)->FindByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_FindByID) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    char *arg2 = (char *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightList_FindByID(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightList_FindByID" "', argument " "1"" of type '" "iLightList const *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightList_FindByID" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iLight *)((iLightList const *)arg1)->FindByID((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLightList) {
  {
    iLightList *arg1 = (iLightList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLightList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLightList" "', argument " "1"" of type '" "iLightList *""'"); 
    }
    arg1 = reinterpret_cast< iLightList * >(argp1);
    delete_iLightList(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightList_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iLightList_scfGetVersion();");
    }
    result = (int)iLightList_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iLightingProcessData_FinalizeLighting) {
  {
    iLightingProcessData *arg1 = (iLightingProcessData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightingProcessData_FinalizeLighting(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightingProcessData_FinalizeLighting" "', argument " "1"" of type '" "iLightingProcessData *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessData * >(argp1);
    (arg1)->FinalizeLighting();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLightingProcessData) {
  {
    iLightingProcessData *arg1 = (iLightingProcessData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLightingProcessData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessData, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLightingProcessData" "', argument " "1"" of type '" "iLightingProcessData *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessData * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightingProcessInfo_GetLight) {
  {
    iLightingProcessInfo *arg1 = (iLightingProcessInfo *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightingProcessInfo_GetLight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightingProcessInfo_GetLight" "', argument " "1"" of type '" "iLightingProcessInfo const *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessInfo * >(argp1);
    result = (iLight *)((iLightingProcessInfo const *)arg1)->GetLight();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightingProcessInfo_IsDynamic) {
  {
    iLightingProcessInfo *arg1 = (iLightingProcessInfo *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightingProcessInfo_IsDynamic(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightingProcessInfo_IsDynamic" "', argument " "1"" of type '" "iLightingProcessInfo const *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessInfo * >(argp1);
    result = (bool)((iLightingProcessInfo const *)arg1)->IsDynamic();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightingProcessInfo_SetColor) {
  {
    iLightingProcessInfo *arg1 = (iLightingProcessInfo *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightingProcessInfo_SetColor(self,col);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightingProcessInfo_SetColor" "', argument " "1"" of type '" "iLightingProcessInfo *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessInfo * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightingProcessInfo_SetColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLightingProcessInfo_SetColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    (arg1)->SetColor((csColor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightingProcessInfo_GetColor) {
  {
    iLightingProcessInfo *arg1 = (iLightingProcessInfo *) 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightingProcessInfo_GetColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightingProcessInfo_GetColor" "', argument " "1"" of type '" "iLightingProcessInfo const *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessInfo * >(argp1);
    {
      csColor const &_result_ref = ((iLightingProcessInfo const *)arg1)->GetColor();
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightingProcessInfo_AttachUserdata) {
  {
    iLightingProcessInfo *arg1 = (iLightingProcessInfo *) 0 ;
    iLightingProcessData *arg2 = (iLightingProcessData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLightingProcessInfo_AttachUserdata(self,userdata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightingProcessInfo_AttachUserdata" "', argument " "1"" of type '" "iLightingProcessInfo *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessInfo * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLightingProcessData, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightingProcessInfo_AttachUserdata" "', argument " "2"" of type '" "iLightingProcessData *""'"); 
    }
    arg2 = reinterpret_cast< iLightingProcessData * >(argp2);
    (arg1)->AttachUserdata(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightingProcessInfo_QueryUserdata) {
  {
    iLightingProcessInfo *arg1 = (iLightingProcessInfo *) 0 ;
    scfInterfaceID arg2 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iLightingProcessData > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLightingProcessInfo_QueryUserdata(self,id,version);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightingProcessInfo_QueryUserdata" "', argument " "1"" of type '" "iLightingProcessInfo *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessInfo * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLightingProcessInfo_QueryUserdata" "', argument " "2"" of type '" "scfInterfaceID""'");
    } 
    arg2 = static_cast< scfInterfaceID >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLightingProcessInfo_QueryUserdata" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->QueryUserdata(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLightingProcessData >(static_cast< const csPtr<iLightingProcessData >& >(result))), SWIGTYPE_p_csPtrTiLightingProcessData_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightingProcessInfo_FinalizeLighting) {
  {
    iLightingProcessInfo *arg1 = (iLightingProcessInfo *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightingProcessInfo_FinalizeLighting(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightingProcessInfo_FinalizeLighting" "', argument " "1"" of type '" "iLightingProcessInfo *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessInfo * >(argp1);
    (arg1)->FinalizeLighting();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLightingProcessInfo) {
  {
    iLightingProcessInfo *arg1 = (iLightingProcessInfo *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLightingProcessInfo(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightingProcessInfo, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLightingProcessInfo" "', argument " "1"" of type '" "iLightingProcessInfo *""'"); 
    }
    arg1 = reinterpret_cast< iLightingProcessInfo * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightIterator_HasNext) {
  {
    iLightIterator *arg1 = (iLightIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightIterator_HasNext" "', argument " "1"" of type '" "iLightIterator *""'"); 
    }
    arg1 = reinterpret_cast< iLightIterator * >(argp1);
    result = (bool)(arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightIterator_Next) {
  {
    iLightIterator *arg1 = (iLightIterator *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightIterator_Next" "', argument " "1"" of type '" "iLightIterator *""'"); 
    }
    arg1 = reinterpret_cast< iLightIterator * >(argp1);
    result = (iLight *)(arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightIterator_GetLastSector) {
  {
    iLightIterator *arg1 = (iLightIterator *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightIterator_GetLastSector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightIterator_GetLastSector" "', argument " "1"" of type '" "iLightIterator *""'"); 
    }
    arg1 = reinterpret_cast< iLightIterator * >(argp1);
    result = (iSector *)(arg1)->GetLastSector();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightIterator_Reset) {
  {
    iLightIterator *arg1 = (iLightIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLightIterator_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightIterator_Reset" "', argument " "1"" of type '" "iLightIterator *""'"); 
    }
    arg1 = reinterpret_cast< iLightIterator * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLightIterator) {
  {
    iLightIterator *arg1 = (iLightIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLightIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLightIterator" "', argument " "1"" of type '" "iLightIterator *""'"); 
    }
    arg1 = reinterpret_cast< iLightIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_density_set) {
  {
    csFog *arg1 = (csFog *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFog_density_set(self,density);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_density_set" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFog_density_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->density = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_density_get) {
  {
    csFog *arg1 = (csFog *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFog_density_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_density_get" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    result = (float) ((arg1)->density);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_color_set) {
  {
    csFog *arg1 = (csFog *) 0 ;
    csColor *arg2 = (csColor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFog_color_set(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_color_set" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csFog_color_set" "', argument " "2"" of type '" "csColor *""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    if (arg1) (arg1)->color = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_color_get) {
  {
    csFog *arg1 = (csFog *) 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFog_color_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_color_get" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    result = (csColor *)& ((arg1)->color);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_start_set) {
  {
    csFog *arg1 = (csFog *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFog_start_set(self,start);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_start_set" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFog_start_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->start = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_start_get) {
  {
    csFog *arg1 = (csFog *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFog_start_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_start_get" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    result = (float) ((arg1)->start);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_end_set) {
  {
    csFog *arg1 = (csFog *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFog_end_set(self,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_end_set" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFog_end_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->end = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_end_get) {
  {
    csFog *arg1 = (csFog *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFog_end_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_end_get" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    result = (float) ((arg1)->end);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_mode_set) {
  {
    csFog *arg1 = (csFog *) 0 ;
    csFogMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFog_mode_set(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_mode_set" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFog_mode_set" "', argument " "2"" of type '" "csFogMode""'");
    } 
    arg2 = static_cast< csFogMode >(val2);
    if (arg1) (arg1)->mode = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFog_mode_get) {
  {
    csFog *arg1 = (csFog *) 0 ;
    csFogMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFog_mode_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFog_mode_get" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    result = (csFogMode) ((arg1)->mode);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csFog) {
  {
    csFog *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csFog();");
    }
    result = (csFog *)new csFog();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFog, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csFog) {
  {
    csFog *arg1 = (csFog *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csFog(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFog, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csFog" "', argument " "1"" of type '" "csFog *""'"); 
    }
    arg1 = reinterpret_cast< csFog * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorCallback_Traverse) {
  {
    iSectorCallback *arg1 = (iSectorCallback *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    iBase *arg3 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSectorCallback_Traverse(self,sector,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorCallback_Traverse" "', argument " "1"" of type '" "iSectorCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSectorCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSectorCallback_Traverse" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSectorCallback_Traverse" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    (arg1)->Traverse(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSectorCallback) {
  {
    iSectorCallback *arg1 = (iSectorCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSectorCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSectorCallback" "', argument " "1"" of type '" "iSectorCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSectorCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorMeshCallback_NewMesh) {
  {
    iSectorMeshCallback *arg1 = (iSectorMeshCallback *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    iMeshWrapper *arg3 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSectorMeshCallback_NewMesh(self,sector,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorMeshCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorMeshCallback_NewMesh" "', argument " "1"" of type '" "iSectorMeshCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSectorMeshCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSectorMeshCallback_NewMesh" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSectorMeshCallback_NewMesh" "', argument " "3"" of type '" "iMeshWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMeshWrapper * >(argp3);
    (arg1)->NewMesh(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorMeshCallback_RemoveMesh) {
  {
    iSectorMeshCallback *arg1 = (iSectorMeshCallback *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    iMeshWrapper *arg3 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSectorMeshCallback_RemoveMesh(self,sector,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorMeshCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorMeshCallback_RemoveMesh" "', argument " "1"" of type '" "iSectorMeshCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSectorMeshCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSectorMeshCallback_RemoveMesh" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSectorMeshCallback_RemoveMesh" "', argument " "3"" of type '" "iMeshWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMeshWrapper * >(argp3);
    (arg1)->RemoveMesh(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSectorMeshCallback) {
  {
    iSectorMeshCallback *arg1 = (iSectorMeshCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSectorMeshCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorMeshCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSectorMeshCallback" "', argument " "1"" of type '" "iSectorMeshCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSectorMeshCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLightVisibleCallback_LightVisible) {
  {
    iLightVisibleCallback *arg1 = (iLightVisibleCallback *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    iLight *arg3 = (iLight *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLightVisibleCallback_LightVisible(self,sector,light);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightVisibleCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLightVisibleCallback_LightVisible" "', argument " "1"" of type '" "iLightVisibleCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightVisibleCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLightVisibleCallback_LightVisible" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLightVisibleCallback_LightVisible" "', argument " "3"" of type '" "iLight *""'"); 
    }
    arg3 = reinterpret_cast< iLight * >(argp3);
    (arg1)->LightVisible(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLightVisibleCallback) {
  {
    iLightVisibleCallback *arg1 = (iLightVisibleCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLightVisibleCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLightVisibleCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLightVisibleCallback" "', argument " "1"" of type '" "iLightVisibleCallback *""'"); 
    }
    arg1 = reinterpret_cast< iLightVisibleCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSectorHitBeamResult_mesh_set) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSectorHitBeamResult_mesh_set(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSectorHitBeamResult_mesh_set" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSectorHitBeamResult_mesh_set" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    if (arg1) (arg1)->mesh = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSectorHitBeamResult_mesh_get) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSectorHitBeamResult_mesh_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSectorHitBeamResult_mesh_get" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    result = (iMeshWrapper *) ((arg1)->mesh);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSectorHitBeamResult_isect_set) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSectorHitBeamResult_isect_set(self,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSectorHitBeamResult_isect_set" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSectorHitBeamResult_isect_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->isect = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSectorHitBeamResult_isect_get) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSectorHitBeamResult_isect_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSectorHitBeamResult_isect_get" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    result = (csVector3 *)& ((arg1)->isect);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSectorHitBeamResult_polygon_idx_set) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSectorHitBeamResult_polygon_idx_set(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSectorHitBeamResult_polygon_idx_set" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSectorHitBeamResult_polygon_idx_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->polygon_idx = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSectorHitBeamResult_polygon_idx_get) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSectorHitBeamResult_polygon_idx_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSectorHitBeamResult_polygon_idx_get" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    result = (int) ((arg1)->polygon_idx);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSectorHitBeamResult_final_sector_set) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSectorHitBeamResult_final_sector_set(self,final_sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSectorHitBeamResult_final_sector_set" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSectorHitBeamResult_final_sector_set" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    if (arg1) (arg1)->final_sector = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSectorHitBeamResult_final_sector_get) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSectorHitBeamResult_final_sector_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSectorHitBeamResult_final_sector_get" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    result = (iSector *) ((arg1)->final_sector);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSectorHitBeamResult) {
  {
    csSectorHitBeamResult *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSectorHitBeamResult();");
    }
    result = (csSectorHitBeamResult *)new csSectorHitBeamResult();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSectorHitBeamResult, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSectorHitBeamResult) {
  {
    csSectorHitBeamResult *arg1 = (csSectorHitBeamResult *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSectorHitBeamResult(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSectorHitBeamResult, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSectorHitBeamResult" "', argument " "1"" of type '" "csSectorHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csSectorHitBeamResult * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_QueryObject) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_QueryObject" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetMeshes) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iMeshList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetMeshes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetMeshes" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (iMeshList *)(arg1)->GetMeshes();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetVisibleMeshes) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iRenderView *arg2 = (iRenderView *) 0 ;
    csRenderMeshList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_GetVisibleMeshes(self,iRenderView *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetVisibleMeshes" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_GetVisibleMeshes" "', argument " "2"" of type '" "iRenderView *""'"); 
    }
    arg2 = reinterpret_cast< iRenderView * >(argp2);
    result = (csRenderMeshList *)(arg1)->GetVisibleMeshes(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRenderMeshList, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetPortalMeshes) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csSet<csPtrKey<iMeshWrapper > > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetPortalMeshes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetPortalMeshes" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    {
      csSet<csPtrKey<iMeshWrapper > > const &_result_ref = ((iSector const *)arg1)->GetPortalMeshes();
      result = (csSet<csPtrKey<iMeshWrapper > > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_UnlinkObjects) {
  {
    iSector *arg1 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_UnlinkObjects(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_UnlinkObjects" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    (arg1)->UnlinkObjects();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_AddSectorMeshCallback) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iSectorMeshCallback *arg2 = (iSectorMeshCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_AddSectorMeshCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_AddSectorMeshCallback" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSectorMeshCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_AddSectorMeshCallback" "', argument " "2"" of type '" "iSectorMeshCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSectorMeshCallback * >(argp2);
    (arg1)->AddSectorMeshCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_RemoveSectorMeshCallback) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iSectorMeshCallback *arg2 = (iSectorMeshCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_RemoveSectorMeshCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_RemoveSectorMeshCallback" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSectorMeshCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_RemoveSectorMeshCallback" "', argument " "2"" of type '" "iSectorMeshCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSectorMeshCallback * >(argp2);
    (arg1)->RemoveSectorMeshCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_Draw) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iRenderView *arg2 = (iRenderView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_Draw(self,rview);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_Draw" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_Draw" "', argument " "2"" of type '" "iRenderView *""'"); 
    }
    arg2 = reinterpret_cast< iRenderView * >(argp2);
    (arg1)->Draw(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_PrepareDraw) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iRenderView *arg2 = (iRenderView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_PrepareDraw(self,rview);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_PrepareDraw" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_PrepareDraw" "', argument " "2"" of type '" "iRenderView *""'"); 
    }
    arg2 = reinterpret_cast< iRenderView * >(argp2);
    (arg1)->PrepareDraw(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetRecLevel) {
  {
    iSector *arg1 = (iSector *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetRecLevel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetRecLevel" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (int)((iSector const *)arg1)->GetRecLevel();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_IncRecLevel) {
  {
    iSector *arg1 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_IncRecLevel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_IncRecLevel" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    (arg1)->IncRecLevel();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_DecRecLevel) {
  {
    iSector *arg1 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_DecRecLevel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_DecRecLevel" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    (arg1)->DecRecLevel();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_SetRenderLoop) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iRenderLoop *arg2 = (iRenderLoop *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_SetRenderLoop(self,rl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_SetRenderLoop" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderLoop, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_SetRenderLoop" "', argument " "2"" of type '" "iRenderLoop *""'"); 
    }
    arg2 = reinterpret_cast< iRenderLoop * >(argp2);
    (arg1)->SetRenderLoop(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetRenderLoop) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iRenderLoop *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetRenderLoop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetRenderLoop" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (iRenderLoop *)(arg1)->GetRenderLoop();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRenderLoop, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_CreateMeshGenerator) {
  {
    iSector *arg1 = (iSector *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshGenerator *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_CreateMeshGenerator(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_CreateMeshGenerator" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_CreateMeshGenerator" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshGenerator *)(arg1)->CreateMeshGenerator((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshGenerator, 0 | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetMeshGeneratorCount) {
  {
    iSector *arg1 = (iSector *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetMeshGeneratorCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetMeshGeneratorCount" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = ((iSector const *)arg1)->GetMeshGeneratorCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetMeshGenerator) {
  {
    iSector *arg1 = (iSector *) 0 ;
    size_t arg2 ;
    iMeshGenerator *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_GetMeshGenerator(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetMeshGenerator" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSector_GetMeshGenerator" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iMeshGenerator *)(arg1)->GetMeshGenerator(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshGenerator, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetMeshGeneratorByName) {
  {
    iSector *arg1 = (iSector *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshGenerator *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_GetMeshGeneratorByName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetMeshGeneratorByName" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_GetMeshGeneratorByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshGenerator *)(arg1)->GetMeshGeneratorByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshGenerator, 0 | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_RemoveMeshGenerator) {
  {
    iSector *arg1 = (iSector *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_RemoveMeshGenerator(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_RemoveMeshGenerator" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSector_RemoveMeshGenerator" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->RemoveMeshGenerator(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_RemoveMeshGenerators) {
  {
    iSector *arg1 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_RemoveMeshGenerators(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_RemoveMeshGenerators" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    (arg1)->RemoveMeshGenerators();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HasFog) {
  {
    iSector *arg1 = (iSector *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_HasFog(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_HasFog" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (bool)((iSector const *)arg1)->HasFog();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetFog) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csFog *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetFog(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetFog" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    {
      csFog const &_result_ref = ((iSector const *)arg1)->GetFog();
      result = (csFog *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFog, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_SetFog__SWIG_0) {
  {
    iSector *arg1 = (iSector *) 0 ;
    float arg2 ;
    csColor *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSector_SetFog(self,density,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_SetFog" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSector_SetFog" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_SetFog" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_SetFog" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    arg3 = reinterpret_cast< csColor * >(argp3);
    (arg1)->SetFog(arg2,(csColor const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_SetFog__SWIG_1) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csFog *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_SetFog(self,fog);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_SetFog" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csFog,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_SetFog" "', argument " "2"" of type '" "csFog const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_SetFog" "', argument " "2"" of type '" "csFog const &""'"); 
    }
    arg2 = reinterpret_cast< csFog * >(argp2);
    (arg1)->SetFog((csFog const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_SetFog) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csFog, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_SetFog__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_SetFog__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSector_SetFog'");
  XSRETURN(0);
}


XS(_wrap_iSector_DisableFog) {
  {
    iSector *arg1 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_DisableFog(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_DisableFog" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    (arg1)->DisableFog();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetLights) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iLightList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetLights(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetLights" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (iLightList *)(arg1)->GetLights();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLightList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_ShineLights__SWIG_0) {
  {
    iSector *arg1 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_ShineLights(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_ShineLights" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    (arg1)->ShineLights();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_ShineLights__SWIG_1) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_ShineLights(self,iMeshWrapper *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_ShineLights" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_ShineLights" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->ShineLights(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_ShineLights) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_ShineLights__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_ShineLights__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSector_ShineLights'");
  XSRETURN(0);
}


XS(_wrap_iSector_SetDynamicAmbientLight) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_SetDynamicAmbientLight(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_SetDynamicAmbientLight" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_SetDynamicAmbientLight" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_SetDynamicAmbientLight" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    (arg1)->SetDynamicAmbientLight((csColor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetDynamicAmbientLight) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csColor result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetDynamicAmbientLight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetDynamicAmbientLight" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = ((iSector const *)arg1)->GetDynamicAmbientLight();
    ST(argvi) = SWIG_NewPointerObj((new csColor(static_cast< const csColor& >(result))), SWIGTYPE_p_csColor, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetDynamicAmbientVersion) {
  {
    iSector *arg1 = (iSector *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetDynamicAmbientVersion(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetDynamicAmbientVersion" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (uint)((iSector const *)arg1)->GetDynamicAmbientVersion();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_CalculateSectorBBox) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csBox3 *arg2 = 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSector_CalculateSectorBBox(self,bbox,do_meshes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_CalculateSectorBBox" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_CalculateSectorBBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_CalculateSectorBBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSector_CalculateSectorBBox" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ((iSector const *)arg1)->CalculateSectorBBox(*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_SetVisibilityCullerPlugin__SWIG_0) {
  {
    iSector *arg1 = (iSector *) 0 ;
    char *arg2 = (char *) 0 ;
    iDocumentNode *arg3 = (iDocumentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSector_SetVisibilityCullerPlugin(self,name,culler_params);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_SetVisibilityCullerPlugin" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_SetVisibilityCullerPlugin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_SetVisibilityCullerPlugin" "', argument " "3"" of type '" "iDocumentNode *""'"); 
    }
    arg3 = reinterpret_cast< iDocumentNode * >(argp3);
    result = (bool)(arg1)->SetVisibilityCullerPlugin((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_SetVisibilityCullerPlugin__SWIG_1) {
  {
    iSector *arg1 = (iSector *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_SetVisibilityCullerPlugin(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_SetVisibilityCullerPlugin" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_SetVisibilityCullerPlugin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SetVisibilityCullerPlugin((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_SetVisibilityCullerPlugin) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_SetVisibilityCullerPlugin__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_SetVisibilityCullerPlugin__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSector_SetVisibilityCullerPlugin'");
  XSRETURN(0);
}


XS(_wrap_iSector_GetVisibilityCuller) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iVisibilityCuller *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetVisibilityCuller(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetVisibilityCuller" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (iVisibilityCuller *)(arg1)->GetVisibilityCuller();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iVisibilityCuller, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_CheckFrustum) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iFrustumView *arg2 = (iFrustumView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_CheckFrustum(self,lview);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_CheckFrustum" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_CheckFrustum" "', argument " "2"" of type '" "iFrustumView *""'"); 
    }
    arg2 = reinterpret_cast< iFrustumView * >(argp2);
    (arg1)->CheckFrustum(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HitBeamPortals__SWIG_0) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    int *arg5 = (int *) 0 ;
    iSector **arg6 = (iSector **) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int temp5 ;
    int res5 = SWIG_TMPOBJ ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSector_HitBeamPortals(self,start,end,isect,final_sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_HitBeamPortals" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_HitBeamPortals" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeamPortals" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSector_HitBeamPortals" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeamPortals" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res6 = SWIG_ConvertPtr(ST(4), &argp6,SWIGTYPE_p_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iSector_HitBeamPortals" "', argument " "6"" of type '" "iSector **""'"); 
    }
    arg6 = reinterpret_cast< iSector ** >(argp6);
    result = (iMeshWrapper *)(arg1)->HitBeamPortals((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HitBeamPortals__SWIG_1) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    int *arg5 = (int *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSector_HitBeamPortals(self,start,end,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_HitBeamPortals" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_HitBeamPortals" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeamPortals" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSector_HitBeamPortals" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeamPortals" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (iMeshWrapper *)(arg1)->HitBeamPortals((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HitBeam__SWIG_0) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    int *arg5 = (int *) 0 ;
    bool arg6 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int temp5 ;
    int res5 = SWIG_TMPOBJ ;
    bool val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSector_HitBeam(self,start,end,intersect,accurate);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_HitBeam" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSector_HitBeam" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iSector_HitBeam" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    result = (iMeshWrapper *)(arg1)->HitBeam((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HitBeam__SWIG_1) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    int *arg5 = (int *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSector_HitBeam(self,start,end,intersect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_HitBeam" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSector_HitBeam" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (iMeshWrapper *)(arg1)->HitBeam((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HitBeamPortals__SWIG_2) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csSectorHitBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSector_HitBeamPortals(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_HitBeamPortals" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_HitBeamPortals" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeamPortals" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (arg1)->HitBeamPortals((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csSectorHitBeamResult(static_cast< const csSectorHitBeamResult& >(result))), SWIGTYPE_p_csSectorHitBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HitBeamPortals) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_HitBeamPortals__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_HitBeamPortals__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_HitBeamPortals__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSector_HitBeamPortals'");
  XSRETURN(0);
}


XS(_wrap_iSector_HitBeam__SWIG_2) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    bool arg4 ;
    csSectorHitBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSector_HitBeam(self,start,end,accurate);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_HitBeam" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSector_HitBeam" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    result = (arg1)->HitBeam((csVector3 const &)*arg2,(csVector3 const &)*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj((new csSectorHitBeamResult(static_cast< const csSectorHitBeamResult& >(result))), SWIGTYPE_p_csSectorHitBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HitBeam__SWIG_3) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csSectorHitBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSector_HitBeam(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_HitBeam" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (arg1)->HitBeam((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csSectorHitBeamResult(static_cast< const csSectorHitBeamResult& >(result))), SWIGTYPE_p_csSectorHitBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_HitBeam) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_HitBeam__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_HitBeam__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_HitBeam__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_HitBeam__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSector_HitBeam'");
  XSRETURN(0);
}


XS(_wrap_iSector_FollowSegment__SWIG_0) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    bool *arg4 = 0 ;
    bool arg5 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool temp4 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    SV * _saved[1] ;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSector_FollowSegment(self,t,new_position,mirror,only_portals);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_FollowSegment" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_FollowSegment" "', argument " "2"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_FollowSegment" "', argument " "2"" of type '" "csReversibleTransform &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_FollowSegment" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_FollowSegment" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    if (!(SWIG_IsOK((res4 = SWIG_ConvertPtr(ST(3),SWIG_as_voidptrptr(&arg4),SWIGTYPE_p_bool,0))))) {
      bool val; 
      int ecode = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val);
      if (!SWIG_IsOK(ecode)) {
        SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "iSector_FollowSegment" "', argument " "4"" of type '" "bool""'");
      }
      temp4 = static_cast< bool >(val);
      arg4 = &temp4;
      res4 = SWIG_AddTmpMask(ecode);
    }
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSector_FollowSegment" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    _saved[0] = ST(3);
    result = (iSector *)(arg1)->FollowSegment(*arg2,*arg3,*arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_bool, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_FollowSegment__SWIG_1) {
  {
    iSector *arg1 = (iSector *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    bool *arg4 = 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool temp4 ;
    int res4 = 0 ;
    int argvi = 0;
    SV * _saved[1] ;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSector_FollowSegment(self,t,new_position,mirror);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_FollowSegment" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_FollowSegment" "', argument " "2"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_FollowSegment" "', argument " "2"" of type '" "csReversibleTransform &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSector_FollowSegment" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSector_FollowSegment" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    if (!(SWIG_IsOK((res4 = SWIG_ConvertPtr(ST(3),SWIG_as_voidptrptr(&arg4),SWIGTYPE_p_bool,0))))) {
      bool val; 
      int ecode = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val);
      if (!SWIG_IsOK(ecode)) {
        SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "iSector_FollowSegment" "', argument " "4"" of type '" "bool""'");
      }
      temp4 = static_cast< bool >(val);
      arg4 = &temp4;
      res4 = SWIG_AddTmpMask(ecode);
    }
    _saved[0] = ST(3);
    result = (iSector *)(arg1)->FollowSegment(*arg2,*arg3,*arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_bool, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_FollowSegment) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), 0);
        _v = SWIG_CheckState(res);
        if (!_v) {
          _v = (SWIG_IsOK((res = SWIG_ConvertPtr(ST(3),SWIG_as_voidptrptr(&ptr),SWIGTYPE_p_bool,0))));
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), 0);
        _v = SWIG_CheckState(res);
        if (!_v) {
          _v = (SWIG_IsOK((res = SWIG_ConvertPtr(ST(3),SWIG_as_voidptrptr(&ptr),SWIGTYPE_p_bool,0))));
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_FollowSegment__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSector_FollowSegment__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSector_FollowSegment'");
  XSRETURN(0);
}


XS(_wrap_iSector_SetSectorCallback) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iSectorCallback *arg2 = (iSectorCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_SetSectorCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_SetSectorCallback" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSectorCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_SetSectorCallback" "', argument " "2"" of type '" "iSectorCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSectorCallback * >(argp2);
    (arg1)->SetSectorCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_RemoveSectorCallback) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iSectorCallback *arg2 = (iSectorCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_RemoveSectorCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_RemoveSectorCallback" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSectorCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_RemoveSectorCallback" "', argument " "2"" of type '" "iSectorCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSectorCallback * >(argp2);
    (arg1)->RemoveSectorCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetSectorCallbackCount) {
  {
    iSector *arg1 = (iSector *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetSectorCallbackCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetSectorCallbackCount" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (int)((iSector const *)arg1)->GetSectorCallbackCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetSectorCallback) {
  {
    iSector *arg1 = (iSector *) 0 ;
    int arg2 ;
    iSectorCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_GetSectorCallback(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetSectorCallback" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSector_GetSectorCallback" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSectorCallback *)((iSector const *)arg1)->GetSectorCallback(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSectorCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_SetLightCulling) {
  {
    iSector *arg1 = (iSector *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_SetLightCulling(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_SetLightCulling" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSector_SetLightCulling" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetLightCulling(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_IsLightCullingEnabled) {
  {
    iSector *arg1 = (iSector *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_IsLightCullingEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_IsLightCullingEnabled" "', argument " "1"" of type '" "iSector const *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (bool)((iSector const *)arg1)->IsLightCullingEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_AddLightVisibleCallback) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iLightVisibleCallback *arg2 = (iLightVisibleCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_AddLightVisibleCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_AddLightVisibleCallback" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLightVisibleCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_AddLightVisibleCallback" "', argument " "2"" of type '" "iLightVisibleCallback *""'"); 
    }
    arg2 = reinterpret_cast< iLightVisibleCallback * >(argp2);
    (arg1)->AddLightVisibleCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_RemoveLightVisibleCallback) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iLightVisibleCallback *arg2 = (iLightVisibleCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSector_RemoveLightVisibleCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_RemoveLightVisibleCallback" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLightVisibleCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSector_RemoveLightVisibleCallback" "', argument " "2"" of type '" "iLightVisibleCallback *""'"); 
    }
    arg2 = reinterpret_cast< iLightVisibleCallback * >(argp2);
    (arg1)->RemoveLightVisibleCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_GetSVContext) {
  {
    iSector *arg1 = (iSector *) 0 ;
    iShaderVariableContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_GetSVContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_GetSVContext" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    result = (iShaderVariableContext *)(arg1)->GetSVContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShaderVariableContext, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_PrecacheDraw) {
  {
    iSector *arg1 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSector_PrecacheDraw(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSector_PrecacheDraw" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    (arg1)->PrecacheDraw();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSector) {
  {
    iSector *arg1 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSector, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSector" "', argument " "1"" of type '" "iSector *""'"); 
    }
    arg1 = reinterpret_cast< iSector * >(argp1);
    delete_iSector(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSector_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSector_scfGetVersion();");
    }
    result = (int)iSector_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_GetCount) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSectorList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorList_GetCount" "', argument " "1"" of type '" "iSectorList const *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    result = (int)((iSectorList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_Get) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    int arg2 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSectorList_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorList_Get" "', argument " "1"" of type '" "iSectorList const *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSectorList_Get" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSector *)((iSectorList const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_Add) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSectorList_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorList_Add" "', argument " "1"" of type '" "iSectorList *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSectorList_Add" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    result = (int)(arg1)->Add(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_Remove__SWIG_0) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSectorList_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorList_Remove" "', argument " "1"" of type '" "iSectorList *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSectorList_Remove" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_Remove__SWIG_1) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSectorList_Remove(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorList_Remove" "', argument " "1"" of type '" "iSectorList *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSectorList_Remove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSectorList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSectorList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSectorList_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSectorList_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSectorList_Remove'");
  XSRETURN(0);
}


XS(_wrap_iSectorList_RemoveAll) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSectorList_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorList_RemoveAll" "', argument " "1"" of type '" "iSectorList *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_Find) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSectorList_Find(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorList_Find" "', argument " "1"" of type '" "iSectorList const *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSectorList_Find" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    result = (int)((iSectorList const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_FindByName) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    char *arg2 = (char *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSectorList_FindByName(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorList_FindByName" "', argument " "1"" of type '" "iSectorList const *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSectorList_FindByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSector *)((iSectorList const *)arg1)->FindByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSectorList) {
  {
    iSectorList *arg1 = (iSectorList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSectorList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSectorList" "', argument " "1"" of type '" "iSectorList *""'"); 
    }
    arg1 = reinterpret_cast< iSectorList * >(argp1);
    delete_iSectorList(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorList_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSectorList_scfGetVersion();");
    }
    result = (int)iSectorList_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorIterator_HasNext) {
  {
    iSectorIterator *arg1 = (iSectorIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSectorIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorIterator_HasNext" "', argument " "1"" of type '" "iSectorIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iSectorIterator * >(argp1);
    result = (bool)((iSectorIterator const *)arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorIterator_Next) {
  {
    iSectorIterator *arg1 = (iSectorIterator *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSectorIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorIterator_Next" "', argument " "1"" of type '" "iSectorIterator *""'"); 
    }
    arg1 = reinterpret_cast< iSectorIterator * >(argp1);
    result = (iSector *)(arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorIterator_GetLastPosition) {
  {
    iSectorIterator *arg1 = (iSectorIterator *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSectorIterator_GetLastPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorIterator_GetLastPosition" "', argument " "1"" of type '" "iSectorIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iSectorIterator * >(argp1);
    {
      csVector3 const &_result_ref = ((iSectorIterator const *)arg1)->GetLastPosition();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSectorIterator_Reset) {
  {
    iSectorIterator *arg1 = (iSectorIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSectorIterator_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSectorIterator_Reset" "', argument " "1"" of type '" "iSectorIterator *""'"); 
    }
    arg1 = reinterpret_cast< iSectorIterator * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSectorIterator) {
  {
    iSectorIterator *arg1 = (iSectorIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSectorIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSectorIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSectorIterator" "', argument " "1"" of type '" "iSectorIterator *""'"); 
    }
    arg1 = reinterpret_cast< iSectorIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineFrameCallback_StartFrame) {
  {
    iEngineFrameCallback *arg1 = (iEngineFrameCallback *) 0 ;
    iEngine *arg2 = (iEngine *) 0 ;
    iRenderView *arg3 = (iRenderView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngineFrameCallback_StartFrame(self,engine,rview);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineFrameCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineFrameCallback_StartFrame" "', argument " "1"" of type '" "iEngineFrameCallback *""'"); 
    }
    arg1 = reinterpret_cast< iEngineFrameCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineFrameCallback_StartFrame" "', argument " "2"" of type '" "iEngine *""'"); 
    }
    arg2 = reinterpret_cast< iEngine * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngineFrameCallback_StartFrame" "', argument " "3"" of type '" "iRenderView *""'"); 
    }
    arg3 = reinterpret_cast< iRenderView * >(argp3);
    (arg1)->StartFrame(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEngineFrameCallback) {
  {
    iEngineFrameCallback *arg1 = (iEngineFrameCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEngineFrameCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineFrameCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEngineFrameCallback" "', argument " "1"" of type '" "iEngineFrameCallback *""'"); 
    }
    arg1 = reinterpret_cast< iEngineFrameCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSectorCallback_NewSector) {
  {
    iEngineSectorCallback *arg1 = (iEngineSectorCallback *) 0 ;
    iEngine *arg2 = (iEngine *) 0 ;
    iSector *arg3 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngineSectorCallback_NewSector(self,engine,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSectorCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSectorCallback_NewSector" "', argument " "1"" of type '" "iEngineSectorCallback *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSectorCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSectorCallback_NewSector" "', argument " "2"" of type '" "iEngine *""'"); 
    }
    arg2 = reinterpret_cast< iEngine * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngineSectorCallback_NewSector" "', argument " "3"" of type '" "iSector *""'"); 
    }
    arg3 = reinterpret_cast< iSector * >(argp3);
    (arg1)->NewSector(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSectorCallback_RemoveSector) {
  {
    iEngineSectorCallback *arg1 = (iEngineSectorCallback *) 0 ;
    iEngine *arg2 = (iEngine *) 0 ;
    iSector *arg3 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngineSectorCallback_RemoveSector(self,engine,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSectorCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSectorCallback_RemoveSector" "', argument " "1"" of type '" "iEngineSectorCallback *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSectorCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSectorCallback_RemoveSector" "', argument " "2"" of type '" "iEngine *""'"); 
    }
    arg2 = reinterpret_cast< iEngine * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngineSectorCallback_RemoveSector" "', argument " "3"" of type '" "iSector *""'"); 
    }
    arg3 = reinterpret_cast< iSector * >(argp3);
    (arg1)->RemoveSector(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEngineSectorCallback) {
  {
    iEngineSectorCallback *arg1 = (iEngineSectorCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEngineSectorCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSectorCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEngineSectorCallback" "', argument " "1"" of type '" "iEngineSectorCallback *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSectorCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_QueryObject) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_QueryObject" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_Prepare__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iProgressMeter *arg2 = (iProgressMeter *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_Prepare(self,meter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_Prepare" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iProgressMeter, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_Prepare" "', argument " "2"" of type '" "iProgressMeter *""'"); 
    }
    arg2 = reinterpret_cast< iProgressMeter * >(argp2);
    result = (bool)(arg1)->Prepare(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_Prepare__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_Prepare(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_Prepare" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (bool)(arg1)->Prepare();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_Prepare) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iProgressMeter, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_Prepare__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_Prepare__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_Prepare'");
  XSRETURN(0);
}


XS(_wrap_iEngine_PrepareTextures) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_PrepareTextures(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_PrepareTextures" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->PrepareTextures();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_PrepareMeshes) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_PrepareMeshes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_PrepareMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->PrepareMeshes();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ForceRelight__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    iProgressMeter *arg3 = (iProgressMeter *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_ForceRelight(self,region,meter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ForceRelight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_ForceRelight" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iProgressMeter, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_ForceRelight" "', argument " "3"" of type '" "iProgressMeter *""'"); 
    }
    arg3 = reinterpret_cast< iProgressMeter * >(argp3);
    (arg1)->ForceRelight(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ForceRelight__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_ForceRelight(self,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ForceRelight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_ForceRelight" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    (arg1)->ForceRelight(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ForceRelight__SWIG_2) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_ForceRelight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ForceRelight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->ForceRelight();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ForceRelight__SWIG_3) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_ForceRelight(self,light,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ForceRelight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_ForceRelight" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_ForceRelight" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    (arg1)->ForceRelight(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ForceRelight__SWIG_4) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_ForceRelight(self,light);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ForceRelight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_ForceRelight" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    (arg1)->ForceRelight(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ForceRelight) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iLight, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iLight, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iProgressMeter, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_ForceRelight__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_ForceRelight__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_ForceRelight__SWIG_4); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_ForceRelight__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_ForceRelight__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_ForceRelight'");
  XSRETURN(0);
}


XS(_wrap_iEngine_ShineLights__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    iProgressMeter *arg3 = (iProgressMeter *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_ShineLights(self,region,meter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ShineLights" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_ShineLights" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iProgressMeter, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_ShineLights" "', argument " "3"" of type '" "iProgressMeter *""'"); 
    }
    arg3 = reinterpret_cast< iProgressMeter * >(argp3);
    (arg1)->ShineLights(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ShineLights__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_ShineLights(self,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ShineLights" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_ShineLights" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    (arg1)->ShineLights(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ShineLights__SWIG_2) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_ShineLights(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ShineLights" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->ShineLights();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ShineLights) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iProgressMeter, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_ShineLights__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_ShineLights__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_ShineLights__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_ShineLights'");
  XSRETURN(0);
}


XS(_wrap_iEngine_SetLightingCacheMode) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetLightingCacheMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetLightingCacheMode" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_SetLightingCacheMode" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLightingCacheMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetLightingCacheMode) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetLightingCacheMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetLightingCacheMode" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (int)(arg1)->GetLightingCacheMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetCacheManager) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iCacheManager *arg2 = (iCacheManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetCacheManager(self,cache_mgr);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetCacheManager" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_SetCacheManager" "', argument " "2"" of type '" "iCacheManager *""'"); 
    }
    arg2 = reinterpret_cast< iCacheManager * >(argp2);
    (arg1)->SetCacheManager(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetVFSCacheManager__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetVFSCacheManager(self,vfspath);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetVFSCacheManager" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_SetVFSCacheManager" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetVFSCacheManager((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetVFSCacheManager__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_SetVFSCacheManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetVFSCacheManager" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->SetVFSCacheManager();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetVFSCacheManager) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_SetVFSCacheManager__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_SetVFSCacheManager__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_SetVFSCacheManager'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetCacheManager) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iCacheManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetCacheManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetCacheManager" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iCacheManager *)(arg1)->GetCacheManager();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCacheManager, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetMaxLightmapSize) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_SetMaxLightmapSize(self,w,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetMaxLightmapSize" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_SetMaxLightmapSize" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngine_SetMaxLightmapSize" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetMaxLightmapSize(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetMaxLightmapSize) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetMaxLightmapSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetMaxLightmapSize" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->GetMaxLightmapSize(*arg2,*arg3);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetDefaultMaxLightmapSize) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetDefaultMaxLightmapSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetDefaultMaxLightmapSize" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->GetDefaultMaxLightmapSize(*arg2,*arg3);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetMaxLightmapAspectRatio) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetMaxLightmapAspectRatio(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetMaxLightmapAspectRatio" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (int)((iEngine const *)arg1)->GetMaxLightmapAspectRatio();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_RegisterRenderPriority__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    long arg3 ;
    csRenderPrioritySorting arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    long val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_RegisterRenderPriority(self,name,priority,rendsort);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_RegisterRenderPriority" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_RegisterRenderPriority" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngine_RegisterRenderPriority" "', argument " "3"" of type '" "long""'");
    } 
    arg3 = static_cast< long >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_RegisterRenderPriority" "', argument " "4"" of type '" "csRenderPrioritySorting""'");
    } 
    arg4 = static_cast< csRenderPrioritySorting >(val4);
    (arg1)->RegisterRenderPriority((char const *)arg2,arg3,arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_RegisterRenderPriority__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    long arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_RegisterRenderPriority(self,name,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_RegisterRenderPriority" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_RegisterRenderPriority" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngine_RegisterRenderPriority" "', argument " "3"" of type '" "long""'");
    } 
    arg3 = static_cast< long >(val3);
    (arg1)->RegisterRenderPriority((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_RegisterRenderPriority) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_RegisterRenderPriority__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_RegisterRenderPriority__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_RegisterRenderPriority'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetRenderPriority) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_GetRenderPriority(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetRenderPriority" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetRenderPriority" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (long)((iEngine const *)arg1)->GetRenderPriority((char const *)arg2);
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetRenderPrioritySorting__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    csRenderPrioritySorting result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_GetRenderPrioritySorting(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetRenderPrioritySorting" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetRenderPrioritySorting" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csRenderPrioritySorting)((iEngine const *)arg1)->GetRenderPrioritySorting((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetRenderPrioritySorting__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    long arg2 ;
    csRenderPrioritySorting result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_GetRenderPrioritySorting(self,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetRenderPrioritySorting" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_GetRenderPrioritySorting" "', argument " "2"" of type '" "long""'");
    } 
    arg2 = static_cast< long >(val2);
    result = (csRenderPrioritySorting)((iEngine const *)arg1)->GetRenderPrioritySorting(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetRenderPrioritySorting) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetRenderPrioritySorting__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetRenderPrioritySorting__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_GetRenderPrioritySorting'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetSkyRenderPriority) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetSkyRenderPriority(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetSkyRenderPriority" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (long)(arg1)->GetSkyRenderPriority();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetPortalRenderPriority) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetPortalRenderPriority(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetPortalRenderPriority" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (long)(arg1)->GetPortalRenderPriority();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetWallRenderPriority) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetWallRenderPriority(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetWallRenderPriority" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (long)(arg1)->GetWallRenderPriority();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetObjectRenderPriority) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetObjectRenderPriority(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetObjectRenderPriority" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (long)(arg1)->GetObjectRenderPriority();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetAlphaRenderPriority) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetAlphaRenderPriority(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetAlphaRenderPriority" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (long)(arg1)->GetAlphaRenderPriority();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ClearRenderPriorities) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_ClearRenderPriorities(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ClearRenderPriorities" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->ClearRenderPriorities();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetRenderPriorityCount) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetRenderPriorityCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetRenderPriorityCount" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (int)((iEngine const *)arg1)->GetRenderPriorityCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetRenderPriorityName) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    long arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_GetRenderPriorityName(self,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetRenderPriorityName" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_GetRenderPriorityName" "', argument " "2"" of type '" "long""'");
    } 
    arg2 = static_cast< long >(val2);
    result = (char *)((iEngine const *)arg1)->GetRenderPriorityName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateBaseMaterial) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iTextureWrapper *arg2 = (iTextureWrapper *) 0 ;
    SwigValueWrapper<csPtr<iMaterial > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_CreateBaseMaterial(self,txt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateBaseMaterial" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateBaseMaterial" "', argument " "2"" of type '" "iTextureWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iTextureWrapper * >(argp2);
    result = (arg1)->CreateBaseMaterial(arg2);
    {
      csRef<iMaterial> rf ((csPtr<iMaterial>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMaterial*)rf, SWIG_TypeQuery("cspace::""iMaterial"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMaterial) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iTextureWrapper *arg3 = (iTextureWrapper *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateMaterial(self,name,texture);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMaterial" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMaterial" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMaterial" "', argument " "3"" of type '" "iTextureWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iTextureWrapper * >(argp3);
    result = (iMaterialWrapper *)(arg1)->CreateMaterial((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetMaterialList) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMaterialList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetMaterialList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetMaterialList" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iMaterialList *)((iEngine const *)arg1)->GetMaterialList();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMaterial__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_FindMaterial(self,name,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindMaterial" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindMaterial" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_FindMaterial" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (iMaterialWrapper *)(arg1)->FindMaterial((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMaterial__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindMaterial(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindMaterial" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindMaterial" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMaterialWrapper *)(arg1)->FindMaterial((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMaterial) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindMaterial__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindMaterial__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_FindMaterial'");
  XSRETURN(0);
}


XS(_wrap_iEngine_CreateTexture) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    csColor *arg4 = (csColor *) 0 ;
    int arg5 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_CreateTexture(self,name,fileName,transp,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateTexture" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreateTexture" "', argument " "4"" of type '" "csColor *""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iEngine_CreateTexture" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (iTextureWrapper *)(arg1)->CreateTexture((char const *)arg2,(char const *)arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateBlackTexture) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    int arg4 ;
    csColor *arg5 = (csColor *) 0 ;
    int arg6 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iEngine_CreateBlackTexture(self,name,w,h,transp,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateBlackTexture" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateBlackTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngine_CreateBlackTexture" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_CreateBlackTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngine_CreateBlackTexture" "', argument " "5"" of type '" "csColor *""'"); 
    }
    arg5 = reinterpret_cast< csColor * >(argp5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iEngine_CreateBlackTexture" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    result = (iTextureWrapper *)(arg1)->CreateBlackTexture((char const *)arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetTextureFormat) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetTextureFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetTextureFormat" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (int)((iEngine const *)arg1)->GetTextureFormat();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetTextureList) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iTextureList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetTextureList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetTextureList" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iTextureList *)((iEngine const *)arg1)->GetTextureList();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindTexture__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_FindTexture(self,name,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindTexture" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_FindTexture" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (iTextureWrapper *)(arg1)->FindTexture((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindTexture__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindTexture(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindTexture" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iTextureWrapper *)(arg1)->FindTexture((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindTexture) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindTexture__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindTexture__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_FindTexture'");
  XSRETURN(0);
}


XS(_wrap_iEngine_CreateLight__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    csColor *arg5 = 0 ;
    csLightDynamicType arg6 ;
    SwigValueWrapper<csPtr<iLight > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iEngine_CreateLight(self,name,pos,radius,color,dyntype);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateLight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateLight" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateLight" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreateLight" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_CreateLight" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngine_CreateLight" "', argument " "5"" of type '" "csColor const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreateLight" "', argument " "5"" of type '" "csColor const &""'"); 
    }
    arg5 = reinterpret_cast< csColor * >(argp5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iEngine_CreateLight" "', argument " "6"" of type '" "csLightDynamicType""'");
    } 
    arg6 = static_cast< csLightDynamicType >(val6);
    result = (arg1)->CreateLight((char const *)arg2,(csVector3 const &)*arg3,arg4,(csColor const &)*arg5,arg6);
    {
      csRef<iLight> rf ((csPtr<iLight>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iLight*)rf, SWIG_TypeQuery("cspace::""iLight"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateLight__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    csColor *arg5 = 0 ;
    SwigValueWrapper<csPtr<iLight > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_CreateLight(self,name,pos,radius,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateLight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateLight" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateLight" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreateLight" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_CreateLight" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngine_CreateLight" "', argument " "5"" of type '" "csColor const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreateLight" "', argument " "5"" of type '" "csColor const &""'"); 
    }
    arg5 = reinterpret_cast< csColor * >(argp5);
    result = (arg1)->CreateLight((char const *)arg2,(csVector3 const &)*arg3,arg4,(csColor const &)*arg5);
    {
      csRef<iLight> rf ((csPtr<iLight>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iLight*)rf, SWIG_TypeQuery("cspace::""iLight"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateLight) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateLight__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateLight__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_CreateLight'");
  XSRETURN(0);
}


XS(_wrap_iEngine_FindLight__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_FindLight(self,Name,RegionOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindLight" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindLight" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngine_FindLight" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (iLight *)((iEngine const *)arg1)->FindLight((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindLight__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindLight(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindLight" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindLight" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iLight *)((iEngine const *)arg1)->FindLight((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindLight) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindLight__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindLight__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_FindLight'");
  XSRETURN(0);
}


XS(_wrap_iEngine_FindLightID) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindLightID(self,light_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindLightID" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindLightID" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iLight *)((iEngine const *)arg1)->FindLightID((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetLightIterator__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    SwigValueWrapper<csPtr<iLightIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_GetLightIterator(self,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetLightIterator" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetLightIterator" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    result = (arg1)->GetLightIterator(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLightIterator >(static_cast< const csPtr<iLightIterator >& >(result))), SWIGTYPE_p_csPtrTiLightIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetLightIterator__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    SwigValueWrapper<csPtr<iLightIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetLightIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetLightIterator" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (arg1)->GetLightIterator();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLightIterator >(static_cast< const csPtr<iLightIterator >& >(result))), SWIGTYPE_p_csPtrTiLightIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetLightIterator) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetLightIterator__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetLightIterator__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_GetLightIterator'");
  XSRETURN(0);
}


XS(_wrap_iEngine_RemoveLight) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_RemoveLight(self,light);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_RemoveLight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_RemoveLight" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    (arg1)->RemoveLight(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetAmbientLight) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetAmbientLight(self,csColor const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetAmbientLight" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_SetAmbientLight" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_SetAmbientLight" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    (arg1)->SetAmbientLight((csColor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetAmbientLight) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_GetAmbientLight(self,csColor &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetAmbientLight" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetAmbientLight" "', argument " "2"" of type '" "csColor &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetAmbientLight" "', argument " "2"" of type '" "csColor &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    ((iEngine const *)arg1)->GetAmbientLight(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetDefaultAmbientLight) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_GetDefaultAmbientLight(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetDefaultAmbientLight" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetDefaultAmbientLight" "', argument " "2"" of type '" "csColor &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetDefaultAmbientLight" "', argument " "2"" of type '" "csColor &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    ((iEngine const *)arg1)->GetDefaultAmbientLight(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyLights__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    iLight **arg4 = (iLight **) 0 ;
    int arg5 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_GetNearbyLights(self,sector,pos,lights,max_num_lights);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyLights" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyLights" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyLights" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyLights" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_GetNearbyLights" "', argument " "4"" of type '" "iLight **""'"); 
    }
    arg4 = reinterpret_cast< iLight ** >(argp4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iEngine_GetNearbyLights" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (int)(arg1)->GetNearbyLights(arg2,(csVector3 const &)*arg3,arg4,arg5);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyLights__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csBox3 *arg3 = 0 ;
    iLight **arg4 = (iLight **) 0 ;
    int arg5 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_GetNearbyLights(self,sector,box,lights,max_num_lights);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyLights" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyLights" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyLights" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyLights" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    arg3 = reinterpret_cast< csBox3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_GetNearbyLights" "', argument " "4"" of type '" "iLight **""'"); 
    }
    arg4 = reinterpret_cast< iLight ** >(argp4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iEngine_GetNearbyLights" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (int)(arg1)->GetNearbyLights(arg2,(csBox3 const &)*arg3,arg4,arg5);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyLights) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_p_iLight, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_p_iLight, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyLights__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyLights__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_GetNearbyLights'");
  XSRETURN(0);
}


XS(_wrap_iEngine_CreateSector) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_CreateSector(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateSector" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateSector" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSector *)(arg1)->CreateSector((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetSectors) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSectorList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetSectors(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetSectors" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iSectorList *)(arg1)->GetSectors();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSectorList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindSector__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_FindSector(self,name,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindSector" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindSector" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_FindSector" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (iSector *)(arg1)->FindSector((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindSector__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindSector(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindSector" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindSector" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSector *)(arg1)->FindSector((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindSector) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindSector__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindSector__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_FindSector'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetNearbySectors__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    SwigValueWrapper<csPtr<iSectorIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_GetNearbySectors(self,sector,pos,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbySectors" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbySectors" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbySectors" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbySectors" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_GetNearbySectors" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (arg1)->GetNearbySectors(arg2,(csVector3 const &)*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iSectorIterator >(static_cast< const csPtr<iSectorIterator >& >(result))), SWIGTYPE_p_csPtrTiSectorIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbySectors__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csBox3 *arg3 = 0 ;
    SwigValueWrapper<csPtr<iSectorIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_GetNearbySectors(self,sector,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbySectors" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbySectors" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbySectors" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbySectors" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    arg3 = reinterpret_cast< csBox3 * >(argp3);
    result = (arg1)->GetNearbySectors(arg2,(csBox3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iSectorIterator >(static_cast< const csPtr<iSectorIterator >& >(result))), SWIGTYPE_p_csPtrTiSectorIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbySectors) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbySectors__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbySectors__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_GetNearbySectors'");
  XSRETURN(0);
}


XS(_wrap_iEngine_AddEngineFrameCallback) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iEngineFrameCallback *arg2 = (iEngineFrameCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_AddEngineFrameCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_AddEngineFrameCallback" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngineFrameCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_AddEngineFrameCallback" "', argument " "2"" of type '" "iEngineFrameCallback *""'"); 
    }
    arg2 = reinterpret_cast< iEngineFrameCallback * >(argp2);
    (arg1)->AddEngineFrameCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_RemoveEngineFrameCallback) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iEngineFrameCallback *arg2 = (iEngineFrameCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_RemoveEngineFrameCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_RemoveEngineFrameCallback" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngineFrameCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_RemoveEngineFrameCallback" "', argument " "2"" of type '" "iEngineFrameCallback *""'"); 
    }
    arg2 = reinterpret_cast< iEngineFrameCallback * >(argp2);
    (arg1)->RemoveEngineFrameCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_AddEngineSectorCallback) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iEngineSectorCallback *arg2 = (iEngineSectorCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_AddEngineSectorCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_AddEngineSectorCallback" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngineSectorCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_AddEngineSectorCallback" "', argument " "2"" of type '" "iEngineSectorCallback *""'"); 
    }
    arg2 = reinterpret_cast< iEngineSectorCallback * >(argp2);
    (arg1)->AddEngineSectorCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_RemoveEngineSectorCallback) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iEngineSectorCallback *arg2 = (iEngineSectorCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_RemoveEngineSectorCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_RemoveEngineSectorCallback" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngineSectorCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_RemoveEngineSectorCallback" "', argument " "2"" of type '" "iEngineSectorCallback *""'"); 
    }
    arg2 = reinterpret_cast< iEngineSectorCallback * >(argp2);
    (arg1)->RemoveEngineSectorCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    char *arg3 = (char *) 0 ;
    iSector *arg4 = (iSector *) 0 ;
    csVector3 *arg5 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,factory,name,sector,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreateMeshWrapper" "', argument " "4"" of type '" "iSector *""'"); 
    }
    arg4 = reinterpret_cast< iSector * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngine_CreateMeshWrapper" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreateMeshWrapper" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (arg1)->CreateMeshWrapper(arg2,(char const *)arg3,arg4,(csVector3 const &)*arg5);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    char *arg3 = (char *) 0 ;
    iSector *arg4 = (iSector *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,factory,name,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreateMeshWrapper" "', argument " "4"" of type '" "iSector *""'"); 
    }
    arg4 = reinterpret_cast< iSector * >(argp4);
    result = (arg1)->CreateMeshWrapper(arg2,(char const *)arg3,arg4);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_2) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,factory,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->CreateMeshWrapper(arg2,(char const *)arg3);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_3) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshObject *arg2 = (iMeshObject *) 0 ;
    char *arg3 = (char *) 0 ;
    iSector *arg4 = (iSector *) 0 ;
    csVector3 *arg5 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,meshobj,name,sector,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "iMeshObject *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObject * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreateMeshWrapper" "', argument " "4"" of type '" "iSector *""'"); 
    }
    arg4 = reinterpret_cast< iSector * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngine_CreateMeshWrapper" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreateMeshWrapper" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (arg1)->CreateMeshWrapper(arg2,(char const *)arg3,arg4,(csVector3 const &)*arg5);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_4) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshObject *arg2 = (iMeshObject *) 0 ;
    char *arg3 = (char *) 0 ;
    iSector *arg4 = (iSector *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,meshobj,name,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "iMeshObject *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObject * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreateMeshWrapper" "', argument " "4"" of type '" "iSector *""'"); 
    }
    arg4 = reinterpret_cast< iSector * >(argp4);
    result = (arg1)->CreateMeshWrapper(arg2,(char const *)arg3,arg4);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_5) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshObject *arg2 = (iMeshObject *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,meshobj,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "iMeshObject *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObject * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->CreateMeshWrapper(arg2,(char const *)arg3);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_6) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    iSector *arg4 = (iSector *) 0 ;
    csVector3 *arg5 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,classid,name,sector,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreateMeshWrapper" "', argument " "4"" of type '" "iSector *""'"); 
    }
    arg4 = reinterpret_cast< iSector * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngine_CreateMeshWrapper" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreateMeshWrapper" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (arg1)->CreateMeshWrapper((char const *)arg2,(char const *)arg3,arg4,(csVector3 const &)*arg5);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_7) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    iSector *arg4 = (iSector *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,classid,name,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreateMeshWrapper" "', argument " "4"" of type '" "iSector *""'"); 
    }
    arg4 = reinterpret_cast< iSector * >(argp4);
    result = (arg1)->CreateMeshWrapper((char const *)arg2,(char const *)arg3,arg4);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_8) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,classid,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->CreateMeshWrapper((char const *)arg2,(char const *)arg3);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper__SWIG_9) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_CreateMeshWrapper(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshWrapper" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->CreateMeshWrapper((char const *)arg2);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshWrapper) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshFactoryWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshFactoryWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshFactoryWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 10;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_10:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_9); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_5); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_8); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_1); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_7); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_0); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_3); return;
    case 10:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshWrapper__SWIG_6); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_CreateMeshWrapper'");
  XSRETURN(0);
}


XS(_wrap_iEngine_CreateSectorWallsMesh) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateSectorWallsMesh(self,sector,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateSectorWallsMesh" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateSectorWallsMesh" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateSectorWallsMesh" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->CreateSectorWallsMesh(arg2,(char const *)arg3);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateThingMesh) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateThingMesh(self,sector,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateThingMesh" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateThingMesh" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateThingMesh" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->CreateThingMesh(arg2,(char const *)arg3);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_LoadMeshWrapper) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    iDataBuffer *arg4 = (iDataBuffer *) 0 ;
    iSector *arg5 = (iSector *) 0 ;
    csVector3 *arg6 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iEngine_LoadMeshWrapper(self,name,loaderClassId,input,sector,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_LoadMeshWrapper" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_LoadMeshWrapper" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_LoadMeshWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_LoadMeshWrapper" "', argument " "4"" of type '" "iDataBuffer *""'"); 
    }
    arg4 = reinterpret_cast< iDataBuffer * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngine_LoadMeshWrapper" "', argument " "5"" of type '" "iSector *""'"); 
    }
    arg5 = reinterpret_cast< iSector * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iEngine_LoadMeshWrapper" "', argument " "6"" of type '" "csVector3 const &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_LoadMeshWrapper" "', argument " "6"" of type '" "csVector3 const &""'"); 
    }
    arg6 = reinterpret_cast< csVector3 * >(argp6);
    result = (arg1)->LoadMeshWrapper((char const *)arg2,(char const *)arg3,arg4,arg5,(csVector3 const &)*arg6);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_AddMeshAndChildren) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_AddMeshAndChildren(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_AddMeshAndChildren" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_AddMeshAndChildren" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->AddMeshAndChildren(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyMeshes__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    bool arg5 ;
    SwigValueWrapper<csPtr<iMeshWrapperIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_GetNearbyMeshes(self,sector,pos,radius,crossPortals);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyMeshes" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_GetNearbyMeshes" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iEngine_GetNearbyMeshes" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (arg1)->GetNearbyMeshes(arg2,(csVector3 const &)*arg3,arg4,arg5);
    {
      csRef<iMeshWrapperIterator> rf ((csPtr<iMeshWrapperIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapperIterator*)rf, SWIG_TypeQuery("cspace::""iMeshWrapperIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyMeshes__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    SwigValueWrapper<csPtr<iMeshWrapperIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_GetNearbyMeshes(self,sector,pos,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyMeshes" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_GetNearbyMeshes" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (arg1)->GetNearbyMeshes(arg2,(csVector3 const &)*arg3,arg4);
    {
      csRef<iMeshWrapperIterator> rf ((csPtr<iMeshWrapperIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapperIterator*)rf, SWIG_TypeQuery("cspace::""iMeshWrapperIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyMeshes__SWIG_2) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csBox3 *arg3 = 0 ;
    bool arg4 ;
    SwigValueWrapper<csPtr<iMeshWrapperIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_GetNearbyMeshes(self,sector,box,crossPortals);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyMeshes" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    arg3 = reinterpret_cast< csBox3 * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_GetNearbyMeshes" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    result = (arg1)->GetNearbyMeshes(arg2,(csBox3 const &)*arg3,arg4);
    {
      csRef<iMeshWrapperIterator> rf ((csPtr<iMeshWrapperIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapperIterator*)rf, SWIG_TypeQuery("cspace::""iMeshWrapperIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyMeshes__SWIG_3) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csBox3 *arg3 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapperIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_GetNearbyMeshes(self,sector,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyMeshes" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    arg3 = reinterpret_cast< csBox3 * >(argp3);
    result = (arg1)->GetNearbyMeshes(arg2,(csBox3 const &)*arg3);
    {
      csRef<iMeshWrapperIterator> rf ((csPtr<iMeshWrapperIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapperIterator*)rf, SWIG_TypeQuery("cspace::""iMeshWrapperIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyMeshes__SWIG_4) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool arg5 ;
    SwigValueWrapper<csPtr<iMeshWrapperIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_GetNearbyMeshes(self,sector,start,end,crossPortals);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyMeshes" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_GetNearbyMeshes" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyMeshes" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iEngine_GetNearbyMeshes" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (arg1)->GetNearbyMeshes(arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,arg5);
    {
      csRef<iMeshWrapperIterator> rf ((csPtr<iMeshWrapperIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapperIterator*)rf, SWIG_TypeQuery("cspace::""iMeshWrapperIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyMeshes__SWIG_5) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapperIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_GetNearbyMeshes(self,sector,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyMeshes" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_GetNearbyMeshes" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyMeshes" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (arg1)->GetNearbyMeshes(arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4);
    {
      csRef<iMeshWrapperIterator> rf ((csPtr<iMeshWrapperIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapperIterator*)rf, SWIG_TypeQuery("cspace::""iMeshWrapperIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyMeshes) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyMeshes__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyMeshes__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyMeshes__SWIG_5); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyMeshes__SWIG_1); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyMeshes__SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyMeshes__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_GetNearbyMeshes'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetMeshes) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetMeshes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iMeshList *)(arg1)->GetMeshes();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMeshObject__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_FindMeshObject(self,name,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindMeshObject" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindMeshObject" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_FindMeshObject" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (iMeshWrapper *)(arg1)->FindMeshObject((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMeshObject__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindMeshObject(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindMeshObject" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindMeshObject" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshWrapper *)(arg1)->FindMeshObject((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMeshObject) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindMeshObject__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindMeshObject__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_FindMeshObject'");
  XSRETURN(0);
}


XS(_wrap_iEngine_WantToDie) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_WantToDie(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_WantToDie" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_WantToDie" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->WantToDie(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshFactory__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshFactoryWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateMeshFactory(self,classId,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshFactory" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshFactory" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->CreateMeshFactory((char const *)arg2,(char const *)arg3);
    {
      csRef<iMeshFactoryWrapper> rf ((csPtr<iMeshFactoryWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshFactoryWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshFactoryWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshFactory__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshObjectFactory *arg2 = (iMeshObjectFactory *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshFactoryWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateMeshFactory(self,factory,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshFactory" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshFactory" "', argument " "2"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObjectFactory * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreateMeshFactory" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->CreateMeshFactory(arg2,(char const *)arg3);
    {
      csRef<iMeshFactoryWrapper> rf ((csPtr<iMeshFactoryWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshFactoryWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshFactoryWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshFactory__SWIG_2) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshFactoryWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_CreateMeshFactory(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateMeshFactory" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateMeshFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->CreateMeshFactory((char const *)arg2);
    {
      csRef<iMeshFactoryWrapper> rf ((csPtr<iMeshFactoryWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshFactoryWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshFactoryWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateMeshFactory) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshObjectFactory, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshFactory__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshFactory__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateMeshFactory__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_CreateMeshFactory'");
  XSRETURN(0);
}


XS(_wrap_iEngine_LoadMeshFactory) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    iDataBuffer *arg4 = (iDataBuffer *) 0 ;
    SwigValueWrapper<csPtr<iMeshFactoryWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_LoadMeshFactory(self,name,loaderClassId,input);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_LoadMeshFactory" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_LoadMeshFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_LoadMeshFactory" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_LoadMeshFactory" "', argument " "4"" of type '" "iDataBuffer *""'"); 
    }
    arg4 = reinterpret_cast< iDataBuffer * >(argp4);
    result = (arg1)->LoadMeshFactory((char const *)arg2,(char const *)arg3,arg4);
    {
      csRef<iMeshFactoryWrapper> rf ((csPtr<iMeshFactoryWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshFactoryWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshFactoryWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMeshFactory__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_FindMeshFactory(self,name,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindMeshFactory" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindMeshFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_FindMeshFactory" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (iMeshFactoryWrapper *)(arg1)->FindMeshFactory((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMeshFactory__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindMeshFactory(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindMeshFactory" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindMeshFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshFactoryWrapper *)(arg1)->FindMeshFactory((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindMeshFactory) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindMeshFactory__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindMeshFactory__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_FindMeshFactory'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetMeshFactories) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iMeshFactoryList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetMeshFactories(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetMeshFactories" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iMeshFactoryList *)(arg1)->GetMeshFactories();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateRegion) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_CreateRegion(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateRegion" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateRegion" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iRegion *)(arg1)->CreateRegion((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRegion, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetRegions) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegionList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetRegions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetRegions" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iRegionList *)(arg1)->GetRegions();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRegionList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateCamera) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    SwigValueWrapper<csPtr<iCamera > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_CreateCamera(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateCamera" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (arg1)->CreateCamera();
    {
      csRef<iCamera> rf ((csPtr<iCamera>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iCamera*)rf, SWIG_TypeQuery("cspace::""iCamera"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindCameraPosition__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    iCameraPosition *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_FindCameraPosition(self,name,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindCameraPosition" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindCameraPosition" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_FindCameraPosition" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (iCameraPosition *)(arg1)->FindCameraPosition((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCameraPosition, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindCameraPosition__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iCameraPosition *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindCameraPosition(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindCameraPosition" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindCameraPosition" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iCameraPosition *)(arg1)->FindCameraPosition((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCameraPosition, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindCameraPosition) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindCameraPosition__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindCameraPosition__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_FindCameraPosition'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetCameraPositions) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iCameraPositionList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetCameraPositions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetCameraPositions" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iCameraPositionList *)(arg1)->GetCameraPositions();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCameraPositionList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreatePortal__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshWrapper *arg3 = (iMeshWrapper *) 0 ;
    iSector *arg4 = (iSector *) 0 ;
    csVector3 *arg5 = (csVector3 *) 0 ;
    int arg6 ;
    iPortal **arg7 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iEngine_CreatePortal(self,name,parentMesh,destSector,vertices,num_vertices,portal);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreatePortal" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreatePortal" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreatePortal" "', argument " "3"" of type '" "iMeshWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMeshWrapper * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreatePortal" "', argument " "4"" of type '" "iSector *""'"); 
    }
    arg4 = reinterpret_cast< iSector * >(argp4);
    {
      /*@SWIG:TYPEMAP_IN_ARRAY_BODY@*/
      AV *av = (AV *) SvRV (ST(4));
      if (SvTYPE (av) != SVt_PVAV)
      croak ("%s", "Argument must be an array reference");
      arg6 = av_len (av) + 1;
      arg5 = new csVector3 [arg6];
      for (int i = 0; i < arg6; i++)
      {
        SV *oref = av_shift (av);
        SV *o = SvRV (oref);
        SvREFCNT_dec (oref);
        if (! sv_isa (o,"csVector3"))
        {
          croak ("%s", "Array must contain ""csVector3" "'s");
          delete [] arg5;
          return;
        }
        csVector3 *p = (csVector3 *) SvIV (o);
        SvREFCNT_dec (o);
        arg5 [i] = * p;
      }
      /*@SWIG@*/
    }
    res7 = SWIG_ConvertPtr(ST(5), &argp7, SWIGTYPE_p_p_iPortal,  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iEngine_CreatePortal" "', argument " "7"" of type '" "iPortal *&""'"); 
    }
    if (!argp7) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreatePortal" "', argument " "7"" of type '" "iPortal *&""'"); 
    }
    arg7 = reinterpret_cast< iPortal ** >(argp7);
    result = (arg1)->CreatePortal((char const *)arg2,arg3,arg4,arg5,arg6,*arg7);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    {
      delete [] arg5;
    }
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    {
      delete [] arg5;
    }
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreatePortal__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iSector *arg3 = (iSector *) 0 ;
    csVector3 *arg4 = 0 ;
    iSector *arg5 = (iSector *) 0 ;
    csVector3 *arg6 = (csVector3 *) 0 ;
    int arg7 ;
    iPortal **arg8 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp8 = 0 ;
    int res8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iEngine_CreatePortal(self,name,sourceSector,pos,destSector,vertices,num_vertices,portal);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreatePortal" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreatePortal" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreatePortal" "', argument " "3"" of type '" "iSector *""'"); 
    }
    arg3 = reinterpret_cast< iSector * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreatePortal" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreatePortal" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngine_CreatePortal" "', argument " "5"" of type '" "iSector *""'"); 
    }
    arg5 = reinterpret_cast< iSector * >(argp5);
    {
      /*@SWIG:TYPEMAP_IN_ARRAY_BODY@*/
      AV *av = (AV *) SvRV (ST(5));
      if (SvTYPE (av) != SVt_PVAV)
      croak ("%s", "Argument must be an array reference");
      arg7 = av_len (av) + 1;
      arg6 = new csVector3 [arg7];
      for (int i = 0; i < arg7; i++)
      {
        SV *oref = av_shift (av);
        SV *o = SvRV (oref);
        SvREFCNT_dec (oref);
        if (! sv_isa (o,"csVector3"))
        {
          croak ("%s", "Array must contain ""csVector3" "'s");
          delete [] arg6;
          return;
        }
        csVector3 *p = (csVector3 *) SvIV (o);
        SvREFCNT_dec (o);
        arg6 [i] = * p;
      }
      /*@SWIG@*/
    }
    res8 = SWIG_ConvertPtr(ST(6), &argp8, SWIGTYPE_p_p_iPortal,  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iEngine_CreatePortal" "', argument " "8"" of type '" "iPortal *&""'"); 
    }
    if (!argp8) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreatePortal" "', argument " "8"" of type '" "iPortal *&""'"); 
    }
    arg8 = reinterpret_cast< iPortal ** >(argp8);
    result = (arg1)->CreatePortal((char const *)arg2,arg3,(csVector3 const &)*arg4,arg5,arg6,arg7,*arg8);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    {
      delete [] arg6;
    }
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    {
      delete [] arg6;
    }
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreatePortal) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_p_iPortal, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_p_iPortal, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreatePortal__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreatePortal__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_CreatePortal'");
  XSRETURN(0);
}


XS(_wrap_iEngine_CreatePortalContainer__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iSector *arg3 = (iSector *) 0 ;
    csVector3 *arg4 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_CreatePortalContainer(self,name,sector,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreatePortalContainer" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreatePortalContainer" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreatePortalContainer" "', argument " "3"" of type '" "iSector *""'"); 
    }
    arg3 = reinterpret_cast< iSector * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_CreatePortalContainer" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_CreatePortalContainer" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (arg1)->CreatePortalContainer((char const *)arg2,arg3,(csVector3 const &)*arg4);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreatePortalContainer__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iSector *arg3 = (iSector *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreatePortalContainer(self,name,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreatePortalContainer" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreatePortalContainer" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_CreatePortalContainer" "', argument " "3"" of type '" "iSector *""'"); 
    }
    arg3 = reinterpret_cast< iSector * >(argp3);
    result = (arg1)->CreatePortalContainer((char const *)arg2,arg3);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreatePortalContainer__SWIG_2) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_CreatePortalContainer(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreatePortalContainer" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreatePortalContainer" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->CreatePortalContainer((char const *)arg2);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreatePortalContainer) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreatePortalContainer__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreatePortalContainer__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreatePortalContainer__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_CreatePortalContainer'");
  XSRETURN(0);
}


XS(_wrap_iEngine_SetClearZBuf) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetClearZBuf(self,yesno);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetClearZBuf" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_SetClearZBuf" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetClearZBuf(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetClearZBuf) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetClearZBuf(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetClearZBuf" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (bool)((iEngine const *)arg1)->GetClearZBuf();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetDefaultClearZBuf) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetDefaultClearZBuf(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetDefaultClearZBuf" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (bool)((iEngine const *)arg1)->GetDefaultClearZBuf();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetClearScreen) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetClearScreen(self,yesno);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetClearScreen" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_SetClearScreen" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetClearScreen(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetClearScreen) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetClearScreen(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetClearScreen" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (bool)((iEngine const *)arg1)->GetClearScreen();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetDefaultClearScreen) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetDefaultClearScreen(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetDefaultClearScreen" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (bool)((iEngine const *)arg1)->GetDefaultClearScreen();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetBeginDrawFlags) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetBeginDrawFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetBeginDrawFlags" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (int)((iEngine const *)arg1)->GetBeginDrawFlags();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetTopLevelClipper) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRenderView *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetTopLevelClipper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetTopLevelClipper" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iRenderView *)((iEngine const *)arg1)->GetTopLevelClipper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRenderView, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_PrecacheDraw__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_PrecacheDraw(self,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_PrecacheDraw" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_PrecacheDraw" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    (arg1)->PrecacheDraw(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_PrecacheDraw__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_PrecacheDraw(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_PrecacheDraw" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->PrecacheDraw();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_PrecacheDraw) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_PrecacheDraw__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_PrecacheDraw__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_PrecacheDraw'");
  XSRETURN(0);
}


XS(_wrap_iEngine_Draw__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    iClipper2D *arg3 = (iClipper2D *) 0 ;
    iMeshWrapper *arg4 = (iMeshWrapper *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_Draw(self,c,clipper,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_Draw" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_Draw" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_Draw" "', argument " "3"" of type '" "iClipper2D *""'"); 
    }
    arg3 = reinterpret_cast< iClipper2D * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngine_Draw" "', argument " "4"" of type '" "iMeshWrapper *""'"); 
    }
    arg4 = reinterpret_cast< iMeshWrapper * >(argp4);
    (arg1)->Draw(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_Draw__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    iClipper2D *arg3 = (iClipper2D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_Draw(self,c,clipper);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_Draw" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_Draw" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_Draw" "', argument " "3"" of type '" "iClipper2D *""'"); 
    }
    arg3 = reinterpret_cast< iClipper2D * >(argp3);
    (arg1)->Draw(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_Draw) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iClipper2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iClipper2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_Draw__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_Draw__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_Draw'");
  XSRETURN(0);
}


XS(_wrap_iEngine_SetContext) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetContext(self,ctxt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetContext" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_SetContext" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    (arg1)->SetContext(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetContext) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetContext" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iTextureHandle *)((iEngine const *)arg1)->GetContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetRenderLoopManager) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRenderLoopManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetRenderLoopManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetRenderLoopManager" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iRenderLoopManager *)(arg1)->GetRenderLoopManager();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRenderLoopManager, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetCurrentDefaultRenderloop) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRenderLoop *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetCurrentDefaultRenderloop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetCurrentDefaultRenderloop" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iRenderLoop *)(arg1)->GetCurrentDefaultRenderloop();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRenderLoop, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetCurrentDefaultRenderloop) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRenderLoop *arg2 = (iRenderLoop *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetCurrentDefaultRenderloop(self,loop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetCurrentDefaultRenderloop" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderLoop, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_SetCurrentDefaultRenderloop" "', argument " "2"" of type '" "iRenderLoop *""'"); 
    }
    arg2 = reinterpret_cast< iRenderLoop * >(argp2);
    result = (bool)(arg1)->SetCurrentDefaultRenderloop(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetCurrentFrameNumber) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetCurrentFrameNumber(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetCurrentFrameNumber" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (uint)((iEngine const *)arg1)->GetCurrentFrameNumber();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_SetSaveableFlag) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_SetSaveableFlag(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_SetSaveableFlag" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_SetSaveableFlag" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetSaveableFlag(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetSaveableFlag) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetSaveableFlag(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetSaveableFlag" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (bool)(arg1)->GetSaveableFlag();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateLoaderContext__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    bool arg3 ;
    SwigValueWrapper<csPtr<iLoaderContext > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_CreateLoaderContext(self,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateLoaderContext" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateLoaderContext" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngine_CreateLoaderContext" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (arg1)->CreateLoaderContext(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLoaderContext >(static_cast< const csPtr<iLoaderContext >& >(result))), SWIGTYPE_p_csPtrTiLoaderContext_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateLoaderContext__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    SwigValueWrapper<csPtr<iLoaderContext > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_CreateLoaderContext(self,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateLoaderContext" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_CreateLoaderContext" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    result = (arg1)->CreateLoaderContext(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLoaderContext >(static_cast< const csPtr<iLoaderContext >& >(result))), SWIGTYPE_p_csPtrTiLoaderContext_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateLoaderContext__SWIG_2) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    SwigValueWrapper<csPtr<iLoaderContext > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_CreateLoaderContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateLoaderContext" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (arg1)->CreateLoaderContext();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLoaderContext >(static_cast< const csPtr<iLoaderContext >& >(result))), SWIGTYPE_p_csPtrTiLoaderContext_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateLoaderContext) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateLoaderContext__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateLoaderContext__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_CreateLoaderContext__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_CreateLoaderContext'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetNearbyObjects__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    bool arg5 ;
    SwigValueWrapper<csPtr<iObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngine_GetNearbyObjects(self,sector,pos,radius,crossPortals);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyObjects" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyObjects" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyObjects" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyObjects" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_GetNearbyObjects" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iEngine_GetNearbyObjects" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (arg1)->GetNearbyObjects(arg2,(csVector3 const &)*arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectIterator >(static_cast< const csPtr<iObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyObjects__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    SwigValueWrapper<csPtr<iObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngine_GetNearbyObjects(self,sector,pos,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetNearbyObjects" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetNearbyObjects" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetNearbyObjects" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetNearbyObjects" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEngine_GetNearbyObjects" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (arg1)->GetNearbyObjects(arg2,(csVector3 const &)*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectIterator >(static_cast< const csPtr<iObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetNearbyObjects) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyObjects__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetNearbyObjects__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_GetNearbyObjects'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetVisibleObjects__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    SwigValueWrapper<csPtr<iObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_GetVisibleObjects(self,sector,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetVisibleObjects" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetVisibleObjects" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetVisibleObjects" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetVisibleObjects" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (arg1)->GetVisibleObjects(arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectIterator >(static_cast< const csPtr<iObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetVisibleMeshes__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapperIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_GetVisibleMeshes(self,sector,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetVisibleMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetVisibleMeshes" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetVisibleMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetVisibleMeshes" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (arg1)->GetVisibleMeshes(arg2,(csVector3 const &)*arg3);
    {
      csRef<iMeshWrapperIterator> rf ((csPtr<iMeshWrapperIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapperIterator*)rf, SWIG_TypeQuery("cspace::""iMeshWrapperIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetVisibleObjects__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csFrustum *arg3 = 0 ;
    SwigValueWrapper<csPtr<iObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_GetVisibleObjects(self,sector,frustum);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetVisibleObjects" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetVisibleObjects" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csFrustum,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetVisibleObjects" "', argument " "3"" of type '" "csFrustum const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetVisibleObjects" "', argument " "3"" of type '" "csFrustum const &""'"); 
    }
    arg3 = reinterpret_cast< csFrustum * >(argp3);
    result = (arg1)->GetVisibleObjects(arg2,(csFrustum const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectIterator >(static_cast< const csPtr<iObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetVisibleObjects) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csFrustum, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetVisibleObjects__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetVisibleObjects__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_GetVisibleObjects'");
  XSRETURN(0);
}


XS(_wrap_iEngine_GetVisibleMeshes__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csFrustum *arg3 = 0 ;
    SwigValueWrapper<csPtr<iMeshWrapperIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_GetVisibleMeshes(self,sector,frustum);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetVisibleMeshes" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_GetVisibleMeshes" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csFrustum,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_GetVisibleMeshes" "', argument " "3"" of type '" "csFrustum const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEngine_GetVisibleMeshes" "', argument " "3"" of type '" "csFrustum const &""'"); 
    }
    arg3 = reinterpret_cast< csFrustum * >(argp3);
    result = (arg1)->GetVisibleMeshes(arg2,(csFrustum const &)*arg3);
    {
      csRef<iMeshWrapperIterator> rf ((csPtr<iMeshWrapperIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapperIterator*)rf, SWIG_TypeQuery("cspace::""iMeshWrapperIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetVisibleMeshes) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csFrustum, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetVisibleMeshes__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_GetVisibleMeshes__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_GetVisibleMeshes'");
  XSRETURN(0);
}


XS(_wrap_iEngine_CreateFrustumView) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    SwigValueWrapper<csPtr<iFrustumView > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_CreateFrustumView(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateFrustumView" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (arg1)->CreateFrustumView();
    {
      csRef<iFrustumView> rf ((csPtr<iFrustumView>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iFrustumView*)rf, SWIG_TypeQuery("cspace::""iFrustumView"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_CreateObjectWatcher) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    SwigValueWrapper<csPtr<iObjectWatcher > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_CreateObjectWatcher(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_CreateObjectWatcher" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (arg1)->CreateObjectWatcher();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectWatcher >(static_cast< const csPtr<iObjectWatcher >& >(result))), SWIGTYPE_p_csPtrTiObjectWatcher_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetVariableList) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iSharedVariableList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetVariableList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetVariableList" "', argument " "1"" of type '" "iEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iSharedVariableList *)((iEngine const *)arg1)->GetVariableList();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSharedVariableList, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_GetCollections) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iCollectionList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_GetCollections(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_GetCollections" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    result = (iCollectionList *)(arg1)->GetCollections();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCollectionList, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindCollection__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    iCollection *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_FindCollection(self,name,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindCollection" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindCollection" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_FindCollection" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (iCollection *)(arg1)->FindCollection((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCollection, 0 | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindCollection__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    char *arg2 = (char *) 0 ;
    iCollection *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_FindCollection(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_FindCollection" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_FindCollection" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iCollection *)(arg1)->FindCollection((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCollection, 0 | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_FindCollection) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindCollection__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_FindCollection__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_FindCollection'");
  XSRETURN(0);
}


XS(_wrap_iEngine_RemoveObject) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_RemoveObject(self,object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_RemoveObject" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngine_RemoveObject" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    result = (bool)(arg1)->RemoveObject(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_DelayedRemoveObject) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    csTicks arg2 ;
    iBase *arg3 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngine_DelayedRemoveObject(self,delay,object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_DelayedRemoveObject" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_DelayedRemoveObject" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngine_DelayedRemoveObject" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    (arg1)->DelayedRemoveObject(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_RemoveDelayedRemoves__SWIG_0) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngine_RemoveDelayedRemoves(self,remove);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_RemoveDelayedRemoves" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngine_RemoveDelayedRemoves" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->RemoveDelayedRemoves(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_RemoveDelayedRemoves__SWIG_1) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_RemoveDelayedRemoves(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_RemoveDelayedRemoves" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->RemoveDelayedRemoves();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_RemoveDelayedRemoves) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_RemoveDelayedRemoves__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngine_RemoveDelayedRemoves__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngine_RemoveDelayedRemoves'");
  XSRETURN(0);
}


XS(_wrap_iEngine_DeleteAll) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_DeleteAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_DeleteAll" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->DeleteAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_ResetWorldSpecificSettings) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngine_ResetWorldSpecificSettings(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngine_ResetWorldSpecificSettings" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    (arg1)->ResetWorldSpecificSettings();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEngine) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEngine(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEngine" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    delete_iEngine(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngine_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iEngine_scfGetVersion();");
    }
    result = (int)iEngine_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraSectorListener_NewSector) {
  {
    iCameraSectorListener *arg1 = (iCameraSectorListener *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    iSector *arg3 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCameraSectorListener_NewSector(self,camera,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraSectorListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraSectorListener_NewSector" "', argument " "1"" of type '" "iCameraSectorListener *""'"); 
    }
    arg1 = reinterpret_cast< iCameraSectorListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraSectorListener_NewSector" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCameraSectorListener_NewSector" "', argument " "3"" of type '" "iSector *""'"); 
    }
    arg3 = reinterpret_cast< iSector * >(argp3);
    (arg1)->NewSector(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iCameraSectorListener) {
  {
    iCameraSectorListener *arg1 = (iCameraSectorListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iCameraSectorListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraSectorListener, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iCameraSectorListener" "', argument " "1"" of type '" "iCameraSectorListener *""'"); 
    }
    arg1 = reinterpret_cast< iCameraSectorListener * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_Clone) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    iCamera *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_Clone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_Clone" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (iCamera *)((iCamera const *)arg1)->Clone();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCamera, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_QuerySceneNode) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    iSceneNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_QuerySceneNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_QuerySceneNode" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (iSceneNode *)(arg1)->QuerySceneNode();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSceneNode, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetFOV) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetFOV(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetFOV" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (int)((iCamera const *)arg1)->GetFOV();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetInvFOV) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetInvFOV(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetInvFOV" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (float)((iCamera const *)arg1)->GetInvFOV();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetFOVAngle) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetFOVAngle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetFOVAngle" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (float)((iCamera const *)arg1)->GetFOVAngle();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_SetFOV) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCamera_SetFOV(self,fov,width);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_SetFOV" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCamera_SetFOV" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCamera_SetFOV" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetFOV(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_SetFOVAngle) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCamera_SetFOVAngle(self,fov,width);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_SetFOVAngle" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCamera_SetFOVAngle" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCamera_SetFOVAngle" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetFOVAngle(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetShiftX) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetShiftX(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetShiftX" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (float)((iCamera const *)arg1)->GetShiftX();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetShiftY) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetShiftY(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetShiftY" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (float)((iCamera const *)arg1)->GetShiftY();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_SetPerspectiveCenter) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCamera_SetPerspectiveCenter(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_SetPerspectiveCenter" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCamera_SetPerspectiveCenter" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCamera_SetPerspectiveCenter" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetPerspectiveCenter(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetTransform) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csOrthoTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetTransform" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    {
      csOrthoTransform const &_result_ref = ((iCamera const *)arg1)->GetTransform();
      result = (csOrthoTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csOrthoTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_SetTransform) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csOrthoTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_SetTransform(self,tr);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_SetTransform" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_SetTransform" "', argument " "2"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_SetTransform" "', argument " "2"" of type '" "csOrthoTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csOrthoTransform * >(argp2);
    (arg1)->SetTransform((csOrthoTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_MoveWorld__SWIG_0) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csVector3 *arg2 = 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCamera_MoveWorld(self,v,cd);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_MoveWorld" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_MoveWorld" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_MoveWorld" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCamera_MoveWorld" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->MoveWorld((csVector3 const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_MoveWorld__SWIG_1) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_MoveWorld(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_MoveWorld" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_MoveWorld" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_MoveWorld" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->MoveWorld((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_MoveWorld) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCamera_MoveWorld__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCamera_MoveWorld__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iCamera_MoveWorld'");
  XSRETURN(0);
}


XS(_wrap_iCamera_Move__SWIG_0) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csVector3 *arg2 = 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCamera_Move(self,v,cd);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_Move" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_Move" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_Move" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCamera_Move" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->Move((csVector3 const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_Move__SWIG_1) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_Move(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_Move" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_Move" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_Move" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->Move((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_Move) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCamera_Move__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCamera_Move__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iCamera_Move'");
  XSRETURN(0);
}


XS(_wrap_iCamera_MoveWorldUnrestricted) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_MoveWorldUnrestricted(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_MoveWorldUnrestricted" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_MoveWorldUnrestricted" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_MoveWorldUnrestricted" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->MoveWorldUnrestricted((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_MoveUnrestricted) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_MoveUnrestricted(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_MoveUnrestricted" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_MoveUnrestricted" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_MoveUnrestricted" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->MoveUnrestricted((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetSector) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetSector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetSector" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (iSector *)((iCamera const *)arg1)->GetSector();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_SetSector) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_SetSector(self,iSector *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_SetSector" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_SetSector" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    (arg1)->SetSector(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_Correct) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_Correct(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_Correct" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCamera_Correct" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->Correct(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_IsMirrored) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_IsMirrored(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_IsMirrored" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (bool)((iCamera const *)arg1)->IsMirrored();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_SetMirrored) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_SetMirrored(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_SetMirrored" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCamera_SetMirrored" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetMirrored(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetFarPlane) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetFarPlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetFarPlane" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (csPlane3 *)((iCamera const *)arg1)->GetFarPlane();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_SetFarPlane) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csPlane3 *arg2 = (csPlane3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_SetFarPlane(self,fp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_SetFarPlane" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_SetFarPlane" "', argument " "2"" of type '" "csPlane3 *""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    (arg1)->SetFarPlane(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetCameraNumber) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetCameraNumber(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetCameraNumber" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (long)((iCamera const *)arg1)->GetCameraNumber();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_Perspective) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_Perspective(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_Perspective" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_Perspective" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_Perspective" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = ((iCamera const *)arg1)->Perspective((csVector3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_InvPerspective) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    csVector2 *arg2 = 0 ;
    float arg3 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCamera_InvPerspective(self,p,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_InvPerspective" "', argument " "1"" of type '" "iCamera const *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_InvPerspective" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCamera_InvPerspective" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCamera_InvPerspective" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = ((iCamera const *)arg1)->InvPerspective((csVector2 const &)*arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_OnlyPortals) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_OnlyPortals(self,hop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_OnlyPortals" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCamera_OnlyPortals" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->OnlyPortals(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_GetOnlyPortals) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCamera_GetOnlyPortals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_GetOnlyPortals" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    result = (bool)(arg1)->GetOnlyPortals();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_AddCameraSectorListener) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    iCameraSectorListener *arg2 = (iCameraSectorListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_AddCameraSectorListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_AddCameraSectorListener" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCameraSectorListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_AddCameraSectorListener" "', argument " "2"" of type '" "iCameraSectorListener *""'"); 
    }
    arg2 = reinterpret_cast< iCameraSectorListener * >(argp2);
    (arg1)->AddCameraSectorListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_RemoveCameraSectorListener) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    iCameraSectorListener *arg2 = (iCameraSectorListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCamera_RemoveCameraSectorListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCamera_RemoveCameraSectorListener" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCameraSectorListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCamera_RemoveCameraSectorListener" "', argument " "2"" of type '" "iCameraSectorListener *""'"); 
    }
    arg2 = reinterpret_cast< iCameraSectorListener * >(argp2);
    (arg1)->RemoveCameraSectorListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iCamera) {
  {
    iCamera *arg1 = (iCamera *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iCamera(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCamera, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iCamera" "', argument " "1"" of type '" "iCamera *""'"); 
    }
    arg1 = reinterpret_cast< iCamera * >(argp1);
    delete_iCamera(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCamera_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iCamera_scfGetVersion();");
    }
    result = (int)iCamera_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_QueryObject) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPosition_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_QueryObject" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_Clone) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    iCameraPosition *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPosition_Clone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_Clone" "', argument " "1"" of type '" "iCameraPosition const *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    result = (iCameraPosition *)((iCameraPosition const *)arg1)->Clone();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCameraPosition, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_GetSector) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPosition_GetSector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_GetSector" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    result = (char *)(arg1)->GetSector();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_SetSector) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPosition_SetSector(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_SetSector" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPosition_SetSector" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetSector((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_GetPosition) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPosition_GetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_GetPosition" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    {
      csVector3 const &_result_ref = (arg1)->GetPosition();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_SetPosition) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPosition_SetPosition(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_SetPosition" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPosition_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCameraPosition_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetPosition((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_GetUpwardVector) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPosition_GetUpwardVector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_GetUpwardVector" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    {
      csVector3 const &_result_ref = (arg1)->GetUpwardVector();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_SetUpwardVector) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPosition_SetUpwardVector(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_SetUpwardVector" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPosition_SetUpwardVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCameraPosition_SetUpwardVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetUpwardVector((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_GetForwardVector) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPosition_GetForwardVector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_GetForwardVector" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    {
      csVector3 const &_result_ref = (arg1)->GetForwardVector();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_SetForwardVector) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPosition_SetForwardVector(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_SetForwardVector" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPosition_SetForwardVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCameraPosition_SetForwardVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetForwardVector((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_Set) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    char *arg2 = (char *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iCameraPosition_Set(self,sector,pos,forward,upward);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_Set" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPosition_Set" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCameraPosition_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCameraPosition_Set" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iCameraPosition_Set" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCameraPosition_Set" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iCameraPosition_Set" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCameraPosition_Set" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    (arg1)->Set((char const *)arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,(csVector3 const &)*arg5);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_Load) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    iEngine *arg3 = (iEngine *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCameraPosition_Load(self,iCamera *,iEngine *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_Load" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPosition_Load" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCameraPosition_Load" "', argument " "3"" of type '" "iEngine *""'"); 
    }
    arg3 = reinterpret_cast< iEngine * >(argp3);
    result = (bool)(arg1)->Load(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_SetFarPlane) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    csPlane3 *arg2 = (csPlane3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPosition_SetFarPlane(self,pl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_SetFarPlane" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPosition_SetFarPlane" "', argument " "2"" of type '" "csPlane3 *""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    (arg1)->SetFarPlane(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_ClearFarPlane) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPosition_ClearFarPlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_ClearFarPlane" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    (arg1)->ClearFarPlane();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_GetFarPlane) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPosition_GetFarPlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPosition_GetFarPlane" "', argument " "1"" of type '" "iCameraPosition const *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    result = (csPlane3 *)((iCameraPosition const *)arg1)->GetFarPlane();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iCameraPosition) {
  {
    iCameraPosition *arg1 = (iCameraPosition *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iCameraPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPosition, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iCameraPosition" "', argument " "1"" of type '" "iCameraPosition *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPosition * >(argp1);
    delete_iCameraPosition(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPosition_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iCameraPosition_scfGetVersion();");
    }
    result = (int)iCameraPosition_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_NewCameraPosition) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    char *arg2 = (char *) 0 ;
    iCameraPosition *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPositionList_NewCameraPosition(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_NewCameraPosition" "', argument " "1"" of type '" "iCameraPositionList *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPositionList_NewCameraPosition" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iCameraPosition *)(arg1)->NewCameraPosition((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCameraPosition, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_GetCount) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPositionList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_GetCount" "', argument " "1"" of type '" "iCameraPositionList const *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    result = (int)((iCameraPositionList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_Get) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    int arg2 ;
    iCameraPosition *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPositionList_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_Get" "', argument " "1"" of type '" "iCameraPositionList const *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCameraPositionList_Get" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iCameraPosition *)((iCameraPositionList const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCameraPosition, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_Add) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    iCameraPosition *arg2 = (iCameraPosition *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPositionList_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_Add" "', argument " "1"" of type '" "iCameraPositionList *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPositionList_Add" "', argument " "2"" of type '" "iCameraPosition *""'"); 
    }
    arg2 = reinterpret_cast< iCameraPosition * >(argp2);
    result = (int)(arg1)->Add(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_Remove__SWIG_0) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    iCameraPosition *arg2 = (iCameraPosition *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPositionList_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_Remove" "', argument " "1"" of type '" "iCameraPositionList *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPositionList_Remove" "', argument " "2"" of type '" "iCameraPosition *""'"); 
    }
    arg2 = reinterpret_cast< iCameraPosition * >(argp2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_Remove__SWIG_1) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPositionList_Remove(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_Remove" "', argument " "1"" of type '" "iCameraPositionList *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCameraPositionList_Remove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCameraPositionList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCameraPosition, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCameraPositionList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCameraPositionList_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCameraPositionList_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iCameraPositionList_Remove'");
  XSRETURN(0);
}


XS(_wrap_iCameraPositionList_RemoveAll) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCameraPositionList_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_RemoveAll" "', argument " "1"" of type '" "iCameraPositionList *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_Find) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    iCameraPosition *arg2 = (iCameraPosition *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPositionList_Find(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_Find" "', argument " "1"" of type '" "iCameraPositionList const *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCameraPosition, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPositionList_Find" "', argument " "2"" of type '" "iCameraPosition *""'"); 
    }
    arg2 = reinterpret_cast< iCameraPosition * >(argp2);
    result = (int)((iCameraPositionList const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCameraPositionList_FindByName) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    char *arg2 = (char *) 0 ;
    iCameraPosition *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCameraPositionList_FindByName(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCameraPositionList_FindByName" "', argument " "1"" of type '" "iCameraPositionList const *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCameraPositionList_FindByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iCameraPosition *)((iCameraPositionList const *)arg1)->FindByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCameraPosition, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iCameraPositionList) {
  {
    iCameraPositionList *arg1 = (iCameraPositionList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iCameraPositionList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCameraPositionList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iCameraPositionList" "', argument " "1"" of type '" "iCameraPositionList *""'"); 
    }
    arg1 = reinterpret_cast< iCameraPositionList * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureCallback_UseTexture) {
  {
    iTextureCallback *arg1 = (iTextureCallback *) 0 ;
    iTextureWrapper *arg2 = (iTextureWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureCallback_UseTexture(self,wrap);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureCallback_UseTexture" "', argument " "1"" of type '" "iTextureCallback *""'"); 
    }
    arg1 = reinterpret_cast< iTextureCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureCallback_UseTexture" "', argument " "2"" of type '" "iTextureWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iTextureWrapper * >(argp2);
    (arg1)->UseTexture(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTextureCallback) {
  {
    iTextureCallback *arg1 = (iTextureCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTextureCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTextureCallback" "', argument " "1"" of type '" "iTextureCallback *""'"); 
    }
    arg1 = reinterpret_cast< iTextureCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_QueryObject) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_QueryObject" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_Clone) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_Clone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_Clone" "', argument " "1"" of type '" "iTextureWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (iTextureWrapper *)((iTextureWrapper const *)arg1)->Clone();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_SetImageFile) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureWrapper_SetImageFile(self,Image);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_SetImageFile" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureWrapper_SetImageFile" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    (arg1)->SetImageFile(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_GetImageFile) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iImage *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_GetImageFile(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_GetImageFile" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (iImage *)(arg1)->GetImageFile();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iImage, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_SetTextureHandle) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureWrapper_SetTextureHandle(self,tex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_SetTextureHandle" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureWrapper_SetTextureHandle" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    (arg1)->SetTextureHandle(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_GetTextureHandle) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_GetTextureHandle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_GetTextureHandle" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (iTextureHandle *)(arg1)->GetTextureHandle();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_SetKeyColor) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iTextureWrapper_SetKeyColor(self,red,green,blue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_SetKeyColor" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureWrapper_SetKeyColor" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTextureWrapper_SetKeyColor" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTextureWrapper_SetKeyColor" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->SetKeyColor(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_GetKeyColor) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_GetKeyColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_GetKeyColor" "', argument " "1"" of type '" "iTextureWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    ((iTextureWrapper const *)arg1)->GetKeyColor(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_SetFlags) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureWrapper_SetFlags(self,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_SetFlags" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureWrapper_SetFlags" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetFlags(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_GetFlags) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_GetFlags" "', argument " "1"" of type '" "iTextureWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (int)((iTextureWrapper const *)arg1)->GetFlags();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_Register) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iTextureManager *arg2 = (iTextureManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureWrapper_Register(self,txtmng);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_Register" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureWrapper_Register" "', argument " "2"" of type '" "iTextureManager *""'"); 
    }
    arg2 = reinterpret_cast< iTextureManager * >(argp2);
    (arg1)->Register(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_SetUseCallback) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iTextureCallback *arg2 = (iTextureCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureWrapper_SetUseCallback(self,callback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_SetUseCallback" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureWrapper_SetUseCallback" "', argument " "2"" of type '" "iTextureCallback *""'"); 
    }
    arg2 = reinterpret_cast< iTextureCallback * >(argp2);
    (arg1)->SetUseCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_GetUseCallback) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    iTextureCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_GetUseCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_GetUseCallback" "', argument " "1"" of type '" "iTextureWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (iTextureCallback *)((iTextureWrapper const *)arg1)->GetUseCallback();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_Visit) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_Visit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_Visit" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    (arg1)->Visit();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_IsVisitRequired) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_IsVisitRequired(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_IsVisitRequired" "', argument " "1"" of type '" "iTextureWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (bool)((iTextureWrapper const *)arg1)->IsVisitRequired();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_SetKeepImage) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureWrapper_SetKeepImage(self,k);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_SetKeepImage" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureWrapper_SetKeepImage" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetKeepImage(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_KeepImage) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_KeepImage(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_KeepImage" "', argument " "1"" of type '" "iTextureWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (bool)((iTextureWrapper const *)arg1)->KeepImage();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_SetTextureClass) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureWrapper_SetTextureClass(self,className);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_SetTextureClass" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureWrapper_SetTextureClass" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetTextureClass((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_GetTextureClass) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureWrapper_GetTextureClass(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureWrapper_GetTextureClass" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    result = (char *)(arg1)->GetTextureClass();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTextureWrapper) {
  {
    iTextureWrapper *arg1 = (iTextureWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTextureWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTextureWrapper" "', argument " "1"" of type '" "iTextureWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iTextureWrapper * >(argp1);
    delete_iTextureWrapper(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureWrapper_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iTextureWrapper_scfGetVersion();");
    }
    result = (int)iTextureWrapper_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_NewTexture__SWIG_0) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureList_NewTexture(self,image);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_NewTexture" "', argument " "1"" of type '" "iTextureList *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureList_NewTexture" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    result = (iTextureWrapper *)(arg1)->NewTexture(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_NewTexture__SWIG_1) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureList_NewTexture(self,ith);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_NewTexture" "', argument " "1"" of type '" "iTextureList *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureList_NewTexture" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    result = (iTextureWrapper *)(arg1)->NewTexture(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_NewTexture) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureList_NewTexture__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureList_NewTexture__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iTextureList_NewTexture'");
  XSRETURN(0);
}


XS(_wrap_iTextureList_GetCount) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_GetCount" "', argument " "1"" of type '" "iTextureList const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    result = (int)((iTextureList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_Get) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    int arg2 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureList_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_Get" "', argument " "1"" of type '" "iTextureList const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureList_Get" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iTextureWrapper *)((iTextureList const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_Add) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    iTextureWrapper *arg2 = (iTextureWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureList_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_Add" "', argument " "1"" of type '" "iTextureList *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureList_Add" "', argument " "2"" of type '" "iTextureWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iTextureWrapper * >(argp2);
    result = (int)(arg1)->Add(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_Remove__SWIG_0) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    iTextureWrapper *arg2 = (iTextureWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureList_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_Remove" "', argument " "1"" of type '" "iTextureList *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureList_Remove" "', argument " "2"" of type '" "iTextureWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iTextureWrapper * >(argp2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_Remove__SWIG_1) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureList_Remove(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_Remove" "', argument " "1"" of type '" "iTextureList *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureList_Remove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureList_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureList_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iTextureList_Remove'");
  XSRETURN(0);
}


XS(_wrap_iTextureList_RemoveAll) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureList_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_RemoveAll" "', argument " "1"" of type '" "iTextureList *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_Find) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    iTextureWrapper *arg2 = (iTextureWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureList_Find(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_Find" "', argument " "1"" of type '" "iTextureList const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureList_Find" "', argument " "2"" of type '" "iTextureWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iTextureWrapper * >(argp2);
    result = (int)((iTextureList const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_FindByName) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    char *arg2 = (char *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureList_FindByName(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureList_FindByName" "', argument " "1"" of type '" "iTextureList const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureList_FindByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iTextureWrapper *)((iTextureList const *)arg1)->FindByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTextureList) {
  {
    iTextureList *arg1 = (iTextureList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTextureList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTextureList" "', argument " "1"" of type '" "iTextureList *""'"); 
    }
    arg1 = reinterpret_cast< iTextureList * >(argp1);
    delete_iTextureList(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureList_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iTextureList_scfGetVersion();");
    }
    result = (int)iTextureList_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialWrapper_QueryObject) {
  {
    iMaterialWrapper *arg1 = (iMaterialWrapper *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialWrapper_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialWrapper_QueryObject" "', argument " "1"" of type '" "iMaterialWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialWrapper * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialWrapper_SetMaterial) {
  {
    iMaterialWrapper *arg1 = (iMaterialWrapper *) 0 ;
    iMaterial *arg2 = (iMaterial *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterialWrapper_SetMaterial(self,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialWrapper_SetMaterial" "', argument " "1"" of type '" "iMaterialWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterialWrapper_SetMaterial" "', argument " "2"" of type '" "iMaterial *""'"); 
    }
    arg2 = reinterpret_cast< iMaterial * >(argp2);
    (arg1)->SetMaterial(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialWrapper_GetMaterial) {
  {
    iMaterialWrapper *arg1 = (iMaterialWrapper *) 0 ;
    iMaterial *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialWrapper_GetMaterial(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialWrapper_GetMaterial" "', argument " "1"" of type '" "iMaterialWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialWrapper * >(argp1);
    result = (iMaterial *)(arg1)->GetMaterial();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterial, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialWrapper_Visit) {
  {
    iMaterialWrapper *arg1 = (iMaterialWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialWrapper_Visit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialWrapper_Visit" "', argument " "1"" of type '" "iMaterialWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialWrapper * >(argp1);
    (arg1)->Visit();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialWrapper_IsVisitRequired) {
  {
    iMaterialWrapper *arg1 = (iMaterialWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialWrapper_IsVisitRequired(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialWrapper_IsVisitRequired" "', argument " "1"" of type '" "iMaterialWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialWrapper * >(argp1);
    result = (bool)((iMaterialWrapper const *)arg1)->IsVisitRequired();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMaterialWrapper) {
  {
    iMaterialWrapper *arg1 = (iMaterialWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMaterialWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMaterialWrapper" "', argument " "1"" of type '" "iMaterialWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialWrapper * >(argp1);
    delete_iMaterialWrapper(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialWrapper_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMaterialWrapper_scfGetVersion();");
    }
    result = (int)iMaterialWrapper_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialEngine_GetTextureWrapper__SWIG_0) {
  {
    iMaterialEngine *arg1 = (iMaterialEngine *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialEngine_GetTextureWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialEngine_GetTextureWrapper" "', argument " "1"" of type '" "iMaterialEngine *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialEngine * >(argp1);
    result = (iTextureWrapper *)(arg1)->GetTextureWrapper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialEngine_GetTextureWrapper__SWIG_1) {
  {
    iMaterialEngine *arg1 = (iMaterialEngine *) 0 ;
    csStringID arg2 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterialEngine_GetTextureWrapper(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialEngine_GetTextureWrapper" "', argument " "1"" of type '" "iMaterialEngine *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialEngine * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMaterialEngine_GetTextureWrapper" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (iTextureWrapper *)(arg1)->GetTextureWrapper(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialEngine_GetTextureWrapper) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMaterialEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMaterialEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMaterialEngine_GetTextureWrapper__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMaterialEngine_GetTextureWrapper__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iMaterialEngine_GetTextureWrapper'");
  XSRETURN(0);
}


XS(_wrap_iMaterialEngine_Visit) {
  {
    iMaterialEngine *arg1 = (iMaterialEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialEngine_Visit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialEngine_Visit" "', argument " "1"" of type '" "iMaterialEngine *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialEngine * >(argp1);
    (arg1)->Visit();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialEngine_IsVisitRequired) {
  {
    iMaterialEngine *arg1 = (iMaterialEngine *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialEngine_IsVisitRequired(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialEngine_IsVisitRequired" "', argument " "1"" of type '" "iMaterialEngine const *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialEngine * >(argp1);
    result = (bool)((iMaterialEngine const *)arg1)->IsVisitRequired();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMaterialEngine) {
  {
    iMaterialEngine *arg1 = (iMaterialEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMaterialEngine(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialEngine, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMaterialEngine" "', argument " "1"" of type '" "iMaterialEngine *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialEngine * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_NewMaterial) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    iMaterial *arg2 = (iMaterial *) 0 ;
    char *arg3 = (char *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMaterialList_NewMaterial(self,material,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_NewMaterial" "', argument " "1"" of type '" "iMaterialList *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterialList_NewMaterial" "', argument " "2"" of type '" "iMaterial *""'"); 
    }
    arg2 = reinterpret_cast< iMaterial * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMaterialList_NewMaterial" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (iMaterialWrapper *)(arg1)->NewMaterial(arg2,(char const *)arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_GetCount) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_GetCount" "', argument " "1"" of type '" "iMaterialList const *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    result = (int)((iMaterialList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_Get) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    int arg2 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterialList_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_Get" "', argument " "1"" of type '" "iMaterialList const *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMaterialList_Get" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iMaterialWrapper *)((iMaterialList const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_Add) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterialList_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_Add" "', argument " "1"" of type '" "iMaterialList *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterialList_Add" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    result = (int)(arg1)->Add(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_Remove__SWIG_0) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterialList_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_Remove" "', argument " "1"" of type '" "iMaterialList *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterialList_Remove" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_Remove__SWIG_1) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterialList_Remove(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_Remove" "', argument " "1"" of type '" "iMaterialList *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMaterialList_Remove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMaterialList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMaterialWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMaterialList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMaterialList_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMaterialList_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iMaterialList_Remove'");
  XSRETURN(0);
}


XS(_wrap_iMaterialList_RemoveAll) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterialList_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_RemoveAll" "', argument " "1"" of type '" "iMaterialList *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_Find) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterialList_Find(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_Find" "', argument " "1"" of type '" "iMaterialList const *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterialList_Find" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    result = (int)((iMaterialList const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterialList_FindByName) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    char *arg2 = (char *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterialList_FindByName(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterialList_FindByName" "', argument " "1"" of type '" "iMaterialList const *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterialList_FindByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMaterialWrapper *)((iMaterialList const *)arg1)->FindByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMaterialList) {
  {
    iMaterialList *arg1 = (iMaterialList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMaterialList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterialList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMaterialList" "', argument " "1"" of type '" "iMaterialList *""'"); 
    }
    arg1 = reinterpret_cast< iMaterialList * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNodeArrayReadOnly_GetSize) {
  {
    iArrayReadOnly<iSceneNode * > *arg1 = (iArrayReadOnly<iSceneNode * > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNodeArrayReadOnly_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNodeArrayReadOnly_GetSize" "', argument " "1"" of type '" "iArrayReadOnly<iSceneNode * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<iSceneNode * > * >(argp1);
    result = ((iArrayReadOnly<iSceneNode * > const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNodeArrayReadOnly_Get) {
  {
    iArrayReadOnly<iSceneNode * > *arg1 = (iArrayReadOnly<iSceneNode * > *) 0 ;
    size_t arg2 ;
    iSceneNode **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSceneNodeArrayReadOnly_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNodeArrayReadOnly_Get" "', argument " "1"" of type '" "iArrayReadOnly<iSceneNode * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<iSceneNode * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSceneNodeArrayReadOnly_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      iSceneNode *const &_result_ref = ((iArrayReadOnly<iSceneNode * > const *)arg1)->Get(arg2);
      result = (iSceneNode **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(*result), SWIGTYPE_p_iSceneNode, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNodeArrayReadOnly_Top) {
  {
    iArrayReadOnly<iSceneNode * > *arg1 = (iArrayReadOnly<iSceneNode * > *) 0 ;
    iSceneNode **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNodeArrayReadOnly_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNodeArrayReadOnly_Top" "', argument " "1"" of type '" "iArrayReadOnly<iSceneNode * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<iSceneNode * > * >(argp1);
    {
      iSceneNode *const &_result_ref = ((iArrayReadOnly<iSceneNode * > const *)arg1)->Top();
      result = (iSceneNode **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(*result), SWIGTYPE_p_iSceneNode, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNodeArrayReadOnly_Find) {
  {
    iArrayReadOnly<iSceneNode * > *arg1 = (iArrayReadOnly<iSceneNode * > *) 0 ;
    iSceneNode **arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    iSceneNode *temp2 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSceneNodeArrayReadOnly_Find(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNodeArrayReadOnly_Find" "', argument " "1"" of type '" "iArrayReadOnly<iSceneNode * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<iSceneNode * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSceneNodeArrayReadOnly_Find" "', argument " "2"" of type '" "iSceneNode *""'"); 
    }
    temp2 = reinterpret_cast< iSceneNode * >(argp2);
    arg2 = &temp2;
    result = ((iArrayReadOnly<iSceneNode * > const *)arg1)->Find((iSceneNode *const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNodeArrayReadOnly_GetIndex) {
  {
    iArrayReadOnly<iSceneNode * > *arg1 = (iArrayReadOnly<iSceneNode * > *) 0 ;
    iSceneNode **arg2 = (iSceneNode **) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSceneNodeArrayReadOnly_GetIndex(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNodeArrayReadOnly_GetIndex" "', argument " "1"" of type '" "iArrayReadOnly<iSceneNode * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<iSceneNode * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSceneNodeArrayReadOnly_GetIndex" "', argument " "2"" of type '" "iSceneNode *const *""'"); 
    }
    arg2 = reinterpret_cast< iSceneNode ** >(argp2);
    result = ((iArrayReadOnly<iSceneNode * > const *)arg1)->GetIndex((iSceneNode *const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNodeArrayReadOnly_IsEmpty) {
  {
    iArrayReadOnly<iSceneNode * > *arg1 = (iArrayReadOnly<iSceneNode * > *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNodeArrayReadOnly_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNodeArrayReadOnly_IsEmpty" "', argument " "1"" of type '" "iArrayReadOnly<iSceneNode * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<iSceneNode * > * >(argp1);
    result = (bool)((iArrayReadOnly<iSceneNode * > const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNodeArrayReadOnly_GetAll) {
  {
    iArrayReadOnly<iSceneNode * > *arg1 = (iArrayReadOnly<iSceneNode * > *) 0 ;
    iSceneNode **arg2 = (iSceneNode **) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSceneNodeArrayReadOnly_GetAll(self,dest);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNodeArrayReadOnly_GetAll" "', argument " "1"" of type '" "iArrayReadOnly<iSceneNode * > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<iSceneNode * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSceneNodeArrayReadOnly_GetAll" "', argument " "2"" of type '" "iSceneNode **""'"); 
    }
    arg2 = reinterpret_cast< iSceneNode ** >(argp2);
    ((iArrayReadOnly<iSceneNode * > const *)arg1)->GetAll(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSceneNodeArrayReadOnly) {
  {
    iArrayReadOnly<iSceneNode * > *arg1 = (iArrayReadOnly<iSceneNode * > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSceneNodeArrayReadOnly(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSceneNodeArrayReadOnly" "', argument " "1"" of type '" "iArrayReadOnly<iSceneNode * > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<iSceneNode * > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSceneNodeArray) {
  {
    iSceneNodeArray *arg1 = (iSceneNodeArray *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSceneNodeArray(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNodeArray, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSceneNodeArray" "', argument " "1"" of type '" "iSceneNodeArray *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNodeArray * >(argp1);
    delete_iSceneNodeArray(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNodeArray_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSceneNodeArray_scfGetVersion();");
    }
    result = (int)iSceneNodeArray_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_GetMovable) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    iMovable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNode_GetMovable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNode_GetMovable" "', argument " "1"" of type '" "iSceneNode const *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    result = (iMovable *)((iSceneNode const *)arg1)->GetMovable();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMovable, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_QueryMesh) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNode_QueryMesh(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNode_QueryMesh" "', argument " "1"" of type '" "iSceneNode *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    result = (iMeshWrapper *)(arg1)->QueryMesh();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_QueryLight) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNode_QueryLight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNode_QueryLight" "', argument " "1"" of type '" "iSceneNode *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    result = (iLight *)(arg1)->QueryLight();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_QueryCamera) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    iCamera *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNode_QueryCamera(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNode_QueryCamera" "', argument " "1"" of type '" "iSceneNode *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    result = (iCamera *)(arg1)->QueryCamera();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCamera, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_SetParent) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    iSceneNode *arg2 = (iSceneNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSceneNode_SetParent(self,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNode_SetParent" "', argument " "1"" of type '" "iSceneNode *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSceneNode_SetParent" "', argument " "2"" of type '" "iSceneNode *""'"); 
    }
    arg2 = reinterpret_cast< iSceneNode * >(argp2);
    (arg1)->SetParent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_GetParent) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    iSceneNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNode_GetParent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNode_GetParent" "', argument " "1"" of type '" "iSceneNode const *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    result = (iSceneNode *)((iSceneNode const *)arg1)->GetParent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSceneNode, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_GetChildren) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    csRefArray<iSceneNode > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNode_GetChildren(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNode_GetChildren" "', argument " "1"" of type '" "iSceneNode const *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    {
      csRefArray<iSceneNode > const &_result_ref = ((iSceneNode const *)arg1)->GetChildren();
      result = (csRefArray<iSceneNode > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRefArrayTiSceneNode_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_GetChildrenArray) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    SwigValueWrapper<csPtr<iSceneNodeArray > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSceneNode_GetChildrenArray(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSceneNode_GetChildrenArray" "', argument " "1"" of type '" "iSceneNode const *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    result = ((iSceneNode const *)arg1)->GetChildrenArray();
    {
      csRef<iSceneNodeArray> rf ((csPtr<iSceneNodeArray>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSceneNodeArray*)rf, SWIG_TypeQuery("cspace::""iSceneNodeArray"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSceneNode) {
  {
    iSceneNode *arg1 = (iSceneNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSceneNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSceneNode, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSceneNode" "', argument " "1"" of type '" "iSceneNode *""'"); 
    }
    arg1 = reinterpret_cast< iSceneNode * >(argp1);
    delete_iSceneNode(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSceneNode_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSceneNode_scfGetVersion();");
    }
    result = (int)iSceneNode_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshDrawCallback_BeforeDrawing) {
  {
    iMeshDrawCallback *arg1 = (iMeshDrawCallback *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    iRenderView *arg3 = (iRenderView *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshDrawCallback_BeforeDrawing(self,spr,rview);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshDrawCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshDrawCallback_BeforeDrawing" "', argument " "1"" of type '" "iMeshDrawCallback *""'"); 
    }
    arg1 = reinterpret_cast< iMeshDrawCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshDrawCallback_BeforeDrawing" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshDrawCallback_BeforeDrawing" "', argument " "3"" of type '" "iRenderView *""'"); 
    }
    arg3 = reinterpret_cast< iRenderView * >(argp3);
    result = (bool)(arg1)->BeforeDrawing(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshDrawCallback) {
  {
    iMeshDrawCallback *arg1 = (iMeshDrawCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshDrawCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshDrawCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshDrawCallback" "', argument " "1"" of type '" "iMeshDrawCallback *""'"); 
    }
    arg1 = reinterpret_cast< iMeshDrawCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_isect_set) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csHitBeamResult_isect_set(self,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_isect_set" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csHitBeamResult_isect_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->isect = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_isect_get) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csHitBeamResult_isect_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_isect_get" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    result = (csVector3 *)& ((arg1)->isect);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_r_set) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csHitBeamResult_r_set(self,r);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_r_set" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csHitBeamResult_r_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->r = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_r_get) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csHitBeamResult_r_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_r_get" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    result = (float) ((arg1)->r);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_polygon_idx_set) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csHitBeamResult_polygon_idx_set(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_polygon_idx_set" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csHitBeamResult_polygon_idx_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->polygon_idx = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_polygon_idx_get) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csHitBeamResult_polygon_idx_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_polygon_idx_get" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    result = (int) ((arg1)->polygon_idx);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_material_set) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csHitBeamResult_material_set(self,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_material_set" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csHitBeamResult_material_set" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    if (arg1) (arg1)->material = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_material_get) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csHitBeamResult_material_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_material_get" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    result = (iMaterialWrapper *) ((arg1)->material);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_facehit_set) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csHitBeamResult_facehit_set(self,facehit);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_facehit_set" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csHitBeamResult_facehit_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->facehit = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_facehit_get) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csHitBeamResult_facehit_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_facehit_get" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    result = (int) ((arg1)->facehit);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_hit_set) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csHitBeamResult_hit_set(self,hit);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_hit_set" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csHitBeamResult_hit_set" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    if (arg1) (arg1)->hit = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHitBeamResult_hit_get) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csHitBeamResult_hit_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHitBeamResult_hit_get" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    result = (bool) ((arg1)->hit);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csHitBeamResult) {
  {
    csHitBeamResult *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csHitBeamResult();");
    }
    result = (csHitBeamResult *)new csHitBeamResult();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csHitBeamResult, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csHitBeamResult) {
  {
    csHitBeamResult *arg1 = (csHitBeamResult *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csHitBeamResult(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csHitBeamResult, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csHitBeamResult" "', argument " "1"" of type '" "csHitBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csHitBeamResult * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csScreenBoxResult_sbox_set) {
  {
    csScreenBoxResult *arg1 = (csScreenBoxResult *) 0 ;
    csBox2 *arg2 = (csBox2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csScreenBoxResult_sbox_set(self,sbox);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csScreenBoxResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csScreenBoxResult_sbox_set" "', argument " "1"" of type '" "csScreenBoxResult *""'"); 
    }
    arg1 = reinterpret_cast< csScreenBoxResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csBox2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csScreenBoxResult_sbox_set" "', argument " "2"" of type '" "csBox2 *""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    if (arg1) (arg1)->sbox = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csScreenBoxResult_sbox_get) {
  {
    csScreenBoxResult *arg1 = (csScreenBoxResult *) 0 ;
    csBox2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csScreenBoxResult_sbox_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csScreenBoxResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csScreenBoxResult_sbox_get" "', argument " "1"" of type '" "csScreenBoxResult *""'"); 
    }
    arg1 = reinterpret_cast< csScreenBoxResult * >(argp1);
    result = (csBox2 *)& ((arg1)->sbox);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csScreenBoxResult_cbox_set) {
  {
    csScreenBoxResult *arg1 = (csScreenBoxResult *) 0 ;
    csBox3 *arg2 = (csBox3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csScreenBoxResult_cbox_set(self,cbox);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csScreenBoxResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csScreenBoxResult_cbox_set" "', argument " "1"" of type '" "csScreenBoxResult *""'"); 
    }
    arg1 = reinterpret_cast< csScreenBoxResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csBox3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csScreenBoxResult_cbox_set" "', argument " "2"" of type '" "csBox3 *""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    if (arg1) (arg1)->cbox = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csScreenBoxResult_cbox_get) {
  {
    csScreenBoxResult *arg1 = (csScreenBoxResult *) 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csScreenBoxResult_cbox_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csScreenBoxResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csScreenBoxResult_cbox_get" "', argument " "1"" of type '" "csScreenBoxResult *""'"); 
    }
    arg1 = reinterpret_cast< csScreenBoxResult * >(argp1);
    result = (csBox3 *)& ((arg1)->cbox);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csScreenBoxResult_distance_set) {
  {
    csScreenBoxResult *arg1 = (csScreenBoxResult *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csScreenBoxResult_distance_set(self,distance);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csScreenBoxResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csScreenBoxResult_distance_set" "', argument " "1"" of type '" "csScreenBoxResult *""'"); 
    }
    arg1 = reinterpret_cast< csScreenBoxResult * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csScreenBoxResult_distance_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->distance = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csScreenBoxResult_distance_get) {
  {
    csScreenBoxResult *arg1 = (csScreenBoxResult *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csScreenBoxResult_distance_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csScreenBoxResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csScreenBoxResult_distance_get" "', argument " "1"" of type '" "csScreenBoxResult *""'"); 
    }
    arg1 = reinterpret_cast< csScreenBoxResult * >(argp1);
    result = (float) ((arg1)->distance);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csScreenBoxResult) {
  {
    csScreenBoxResult *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csScreenBoxResult();");
    }
    result = (csScreenBoxResult *)new csScreenBoxResult();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csScreenBoxResult, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csScreenBoxResult) {
  {
    csScreenBoxResult *arg1 = (csScreenBoxResult *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csScreenBoxResult(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csScreenBoxResult, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csScreenBoxResult" "', argument " "1"" of type '" "csScreenBoxResult *""'"); 
    }
    arg1 = reinterpret_cast< csScreenBoxResult * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_QueryObject) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_QueryObject" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetMeshObject) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iMeshObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetMeshObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetMeshObject" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iMeshObject *)((iMeshWrapper const *)arg1)->GetMeshObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetMeshObject) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iMeshObject *arg2 = (iMeshObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetMeshObject(self,iMeshObject *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetMeshObject" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_SetMeshObject" "', argument " "2"" of type '" "iMeshObject *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObject * >(argp2);
    (arg1)->SetMeshObject(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetPortalContainer) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iPortalContainer *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetPortalContainer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetPortalContainer" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iPortalContainer *)((iMeshWrapper const *)arg1)->GetPortalContainer();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPortalContainer, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetLightingInfo) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iLightingInfo *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetLightingInfo(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetLightingInfo" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iLightingInfo *)((iMeshWrapper const *)arg1)->GetLightingInfo();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLightingInfo, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetShadowReceiver) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iShadowReceiver *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetShadowReceiver(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetShadowReceiver" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iShadowReceiver *)(arg1)->GetShadowReceiver();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShadowReceiver, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetShadowCaster) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iShadowCaster *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetShadowCaster(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetShadowCaster" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iShadowCaster *)(arg1)->GetShadowCaster();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShadowCaster, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetFactory) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetFactory" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iMeshFactoryWrapper *)((iMeshWrapper const *)arg1)->GetFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetFactory) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetFactory(self,factory);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetFactory" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_SetFactory" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    (arg1)->SetFactory(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetLightingUpdate) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshWrapper_SetLightingUpdate(self,flags,num_lights);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetLightingUpdate" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_SetLightingUpdate" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMeshWrapper_SetLightingUpdate" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetLightingUpdate(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetMovable) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iMovable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetMovable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetMovable" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iMovable *)((iMeshWrapper const *)arg1)->GetMovable();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMovable, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_QuerySceneNode) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iSceneNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_QuerySceneNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_QuerySceneNode" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iSceneNode *)(arg1)->QuerySceneNode();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSceneNode, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_FindChildByName) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_FindChildByName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_FindChildByName" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_FindChildByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshWrapper *)(arg1)->FindChildByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_PlaceMesh) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_PlaceMesh(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_PlaceMesh" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    (arg1)->PlaceMesh();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HitBeamObject__SWIG_0) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float *arg5 = (float *) 0 ;
    int *arg6 = (int *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int temp6 ;
    int res6 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    arg6 = &temp6;
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iMeshWrapper_HitBeamObject(self,start,end,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_HitBeamObject" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_HitBeamObject" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamObject" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_HitBeamObject" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamObject" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iMeshWrapper_HitBeamObject" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamObject" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (bool)(arg1)->HitBeamObject((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HitBeam__SWIG_0) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float *arg5 = (float *) 0 ;
    iMaterialWrapper **arg6 = (iMaterialWrapper **) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iMeshWrapper_HitBeam(self,start,end,isect,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_HitBeam" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iMeshWrapper_HitBeam" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeam" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res6 = SWIG_ConvertPtr(ST(4), &argp6,SWIGTYPE_p_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iMeshWrapper_HitBeam" "', argument " "6"" of type '" "iMaterialWrapper **""'"); 
    }
    arg6 = reinterpret_cast< iMaterialWrapper ** >(argp6);
    result = (bool)(arg1)->HitBeam((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HitBeamBBox) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csHitBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshWrapper_HitBeamBBox(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_HitBeamBBox" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_HitBeamBBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamBBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_HitBeamBBox" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamBBox" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (arg1)->HitBeamBBox((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csHitBeamResult(static_cast< const csHitBeamResult& >(result))), SWIGTYPE_p_csHitBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HitBeamOutline) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csHitBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshWrapper_HitBeamOutline(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_HitBeamOutline" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_HitBeamOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_HitBeamOutline" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamOutline" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (arg1)->HitBeamOutline((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csHitBeamResult(static_cast< const csHitBeamResult& >(result))), SWIGTYPE_p_csHitBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HitBeamObject__SWIG_1) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    bool arg4 = (bool) false ;
    csHitBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 4)) {
      SWIG_croak("Usage: iMeshWrapper_HitBeamObject(self,start,end,do_material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_HitBeamObject" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_HitBeamObject" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamObject" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_HitBeamObject" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeamObject" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    if (items > 3) {
      ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
      if (!SWIG_IsOK(ecode4)) {
        SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iMeshWrapper_HitBeamObject" "', argument " "4"" of type '" "bool""'");
      } 
      arg4 = static_cast< bool >(val4);
    }
    result = (arg1)->HitBeamObject((csVector3 const &)*arg2,(csVector3 const &)*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj((new csHitBeamResult(static_cast< const csHitBeamResult& >(result))), SWIGTYPE_p_csHitBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HitBeamObject) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if ((items >= 3) && (items <= 4)) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (items > 3) {
        {
          {
            int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
            _v = SWIG_CheckState(res);
          }
        }
        if (!_v) goto check_1;
        _ranki += _v*_pi;
        _rankm += _pi;
        _pi *= SWIG_MAXCASTRANK;
      }
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_HitBeamObject__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_HitBeamObject__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMeshWrapper_HitBeamObject'");
  XSRETURN(0);
}


XS(_wrap_iMeshWrapper_HitBeam__SWIG_1) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    bool arg4 ;
    csHitBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iMeshWrapper_HitBeam(self,start,end,do_material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_HitBeam" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iMeshWrapper_HitBeam" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    result = (arg1)->HitBeam((csVector3 const &)*arg2,(csVector3 const &)*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj((new csHitBeamResult(static_cast< const csHitBeamResult& >(result))), SWIGTYPE_p_csHitBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HitBeam__SWIG_2) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csHitBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshWrapper_HitBeam(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_HitBeam" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeam" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HitBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (arg1)->HitBeam((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csHitBeamResult(static_cast< const csHitBeamResult& >(result))), SWIGTYPE_p_csHitBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HitBeam) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_p_iMaterialWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_HitBeam__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_HitBeam__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_HitBeam__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMeshWrapper_HitBeam'");
  XSRETURN(0);
}


XS(_wrap_iMeshWrapper_SetDrawCallback) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iMeshDrawCallback *arg2 = (iMeshDrawCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetDrawCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetDrawCallback" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshDrawCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_SetDrawCallback" "', argument " "2"" of type '" "iMeshDrawCallback *""'"); 
    }
    arg2 = reinterpret_cast< iMeshDrawCallback * >(argp2);
    (arg1)->SetDrawCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_RemoveDrawCallback) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iMeshDrawCallback *arg2 = (iMeshDrawCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_RemoveDrawCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_RemoveDrawCallback" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshDrawCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_RemoveDrawCallback" "', argument " "2"" of type '" "iMeshDrawCallback *""'"); 
    }
    arg2 = reinterpret_cast< iMeshDrawCallback * >(argp2);
    (arg1)->RemoveDrawCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetDrawCallbackCount) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetDrawCallbackCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetDrawCallbackCount" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (int)((iMeshWrapper const *)arg1)->GetDrawCallbackCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetDrawCallback) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    int arg2 ;
    iMeshDrawCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_GetDrawCallback(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetDrawCallback" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_GetDrawCallback" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iMeshDrawCallback *)((iMeshWrapper const *)arg1)->GetDrawCallback(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshDrawCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetRenderPriority) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    long arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetRenderPriority(self,rp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetRenderPriority" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_SetRenderPriority" "', argument " "2"" of type '" "long""'");
    } 
    arg2 = static_cast< long >(val2);
    (arg1)->SetRenderPriority(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetRenderPriority) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetRenderPriority(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetRenderPriority" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (long)((iMeshWrapper const *)arg1)->GetRenderPriority();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetRenderPriorityRecursive) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    long arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetRenderPriorityRecursive(self,rp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetRenderPriorityRecursive" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_SetRenderPriorityRecursive" "', argument " "2"" of type '" "long""'");
    } 
    arg2 = static_cast< long >(val2);
    (arg1)->SetRenderPriorityRecursive(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetFlags) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetFlags" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetFlagsRecursive__SWIG_0) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    uint32 arg2 ;
    uint32 arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshWrapper_SetFlagsRecursive(self,mask,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetFlagsRecursive" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_SetFlagsRecursive" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_SetFlagsRecursive" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_SetFlagsRecursive" "', argument " "3"" of type '" "uint32""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_SetFlagsRecursive" "', argument " "3"" of type '" "uint32""'");
      } else {
        arg3 = *(reinterpret_cast< uint32 * >(argp3));
      }
    }
    (arg1)->SetFlagsRecursive(arg2,arg3);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetFlagsRecursive__SWIG_1) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetFlagsRecursive(self,mask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetFlagsRecursive" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_SetFlagsRecursive" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_SetFlagsRecursive" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    (arg1)->SetFlagsRecursive(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetFlagsRecursive) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_SetFlagsRecursive__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_SetFlagsRecursive__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMeshWrapper_SetFlagsRecursive'");
  XSRETURN(0);
}


XS(_wrap_iMeshWrapper_SetZBufMode) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csZBufMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetZBufMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetZBufMode" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_SetZBufMode" "', argument " "2"" of type '" "csZBufMode""'");
    } 
    arg2 = static_cast< csZBufMode >(val2);
    (arg1)->SetZBufMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetZBufMode) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csZBufMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetZBufMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetZBufMode" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (csZBufMode)((iMeshWrapper const *)arg1)->GetZBufMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetZBufModeRecursive) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csZBufMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetZBufModeRecursive(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetZBufModeRecursive" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_SetZBufModeRecursive" "', argument " "2"" of type '" "csZBufMode""'");
    } 
    arg2 = static_cast< csZBufMode >(val2);
    (arg1)->SetZBufModeRecursive(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_HardTransform) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_HardTransform(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_HardTransform" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->HardTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetWorldBoundingBox__SWIG_0) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_GetWorldBoundingBox(self,cbox);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetWorldBoundingBox" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_GetWorldBoundingBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_GetWorldBoundingBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->GetWorldBoundingBox(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetWorldBoundingBox__SWIG_1) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetWorldBoundingBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetWorldBoundingBox" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    {
      csBox3 const &_result_ref = (arg1)->GetWorldBoundingBox();
      result = (csBox3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetWorldBoundingBox) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_GetWorldBoundingBox__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_GetWorldBoundingBox__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMeshWrapper_GetWorldBoundingBox'");
  XSRETURN(0);
}


XS(_wrap_iMeshWrapper_GetTransformedBoundingBox) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csBox3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_GetTransformedBoundingBox(self,trans);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetTransformedBoundingBox" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_GetTransformedBoundingBox" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_GetTransformedBoundingBox" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    result = (arg1)->GetTransformedBoundingBox((csReversibleTransform const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csBox3(static_cast< const csBox3& >(result))), SWIGTYPE_p_csBox3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetScreenBoundingBox) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    csScreenBoxResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_GetScreenBoundingBox(self,camera);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetScreenBoundingBox" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_GetScreenBoundingBox" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    result = (arg1)->GetScreenBoundingBox(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csScreenBoxResult(static_cast< const csScreenBoxResult& >(result))), SWIGTYPE_p_csScreenBoxResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetRadius__SWIG_0) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    float *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshWrapper_GetRadius(self,rad,cent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetRadius" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_GetRadius" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_GetRadius" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_GetRadius" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshWrapper_GetRadius" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ((iMeshWrapper const *)arg1)->GetRadius(*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetRadius__SWIG_1) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    csSphere result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetRadius(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetRadius" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = ((iMeshWrapper const *)arg1)->GetRadius();
    ST(argvi) = SWIG_NewPointerObj((new csSphere(static_cast< const csSphere& >(result))), SWIGTYPE_p_csSphere, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetRadius) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_GetRadius__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshWrapper_GetRadius__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMeshWrapper_GetRadius'");
  XSRETURN(0);
}


XS(_wrap_iMeshWrapper_ResetMinMaxRenderDistance) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_ResetMinMaxRenderDistance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_ResetMinMaxRenderDistance" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    (arg1)->ResetMinMaxRenderDistance();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetMinimumRenderDistance) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetMinimumRenderDistance(self,min);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetMinimumRenderDistance" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_SetMinimumRenderDistance" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetMinimumRenderDistance(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetMinimumRenderDistance) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetMinimumRenderDistance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetMinimumRenderDistance" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (float)((iMeshWrapper const *)arg1)->GetMinimumRenderDistance();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetMaximumRenderDistance) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetMaximumRenderDistance(self,min);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetMaximumRenderDistance" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_SetMaximumRenderDistance" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetMaximumRenderDistance(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetMaximumRenderDistance) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetMaximumRenderDistance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetMaximumRenderDistance" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (float)((iMeshWrapper const *)arg1)->GetMaximumRenderDistance();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetMinimumRenderDistanceVar) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iSharedVariable *arg2 = (iSharedVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetMinimumRenderDistanceVar(self,min);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetMinimumRenderDistanceVar" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_SetMinimumRenderDistanceVar" "', argument " "2"" of type '" "iSharedVariable *""'"); 
    }
    arg2 = reinterpret_cast< iSharedVariable * >(argp2);
    (arg1)->SetMinimumRenderDistanceVar(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetMinimumRenderDistanceVar) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iSharedVariable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetMinimumRenderDistanceVar(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetMinimumRenderDistanceVar" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iSharedVariable *)((iMeshWrapper const *)arg1)->GetMinimumRenderDistanceVar();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSharedVariable, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_SetMaximumRenderDistanceVar) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iSharedVariable *arg2 = (iSharedVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_SetMaximumRenderDistanceVar(self,min);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_SetMaximumRenderDistanceVar" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_SetMaximumRenderDistanceVar" "', argument " "2"" of type '" "iSharedVariable *""'"); 
    }
    arg2 = reinterpret_cast< iSharedVariable * >(argp2);
    (arg1)->SetMaximumRenderDistanceVar(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetMaximumRenderDistanceVar) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iSharedVariable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetMaximumRenderDistanceVar(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetMaximumRenderDistanceVar" "', argument " "1"" of type '" "iMeshWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iSharedVariable *)((iMeshWrapper const *)arg1)->GetMaximumRenderDistanceVar();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSharedVariable, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_CreateStaticLOD) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iLODControl *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_CreateStaticLOD(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_CreateStaticLOD" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iLODControl *)(arg1)->CreateStaticLOD();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLODControl, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_DestroyStaticLOD) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_DestroyStaticLOD(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_DestroyStaticLOD" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    (arg1)->DestroyStaticLOD();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetStaticLOD) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iLODControl *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetStaticLOD(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetStaticLOD" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iLODControl *)(arg1)->GetStaticLOD();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLODControl, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_AddMeshToStaticLOD) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    int arg2 ;
    iMeshWrapper *arg3 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshWrapper_AddMeshToStaticLOD(self,lod,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_AddMeshToStaticLOD" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshWrapper_AddMeshToStaticLOD" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshWrapper_AddMeshToStaticLOD" "', argument " "3"" of type '" "iMeshWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMeshWrapper * >(argp3);
    (arg1)->AddMeshToStaticLOD(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_RemoveMeshFromStaticLOD) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshWrapper_RemoveMeshFromStaticLOD(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_RemoveMeshFromStaticLOD" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshWrapper_RemoveMeshFromStaticLOD" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->RemoveMeshFromStaticLOD(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_GetSVContext) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    iShaderVariableContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapper_GetSVContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapper_GetSVContext" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    result = (iShaderVariableContext *)(arg1)->GetSVContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShaderVariableContext, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshWrapper) {
  {
    iMeshWrapper *arg1 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshWrapper" "', argument " "1"" of type '" "iMeshWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapper * >(argp1);
    delete_iMeshWrapper(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapper_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMeshWrapper_scfGetVersion();");
    }
    result = (int)iMeshWrapper_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_QueryObject) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_QueryObject" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetMeshObjectFactory) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iMeshObjectFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetMeshObjectFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetMeshObjectFactory" "', argument " "1"" of type '" "iMeshFactoryWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (iMeshObjectFactory *)((iMeshFactoryWrapper const *)arg1)->GetMeshObjectFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshObjectFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_SetMeshObjectFactory) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iMeshObjectFactory *arg2 = (iMeshObjectFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_SetMeshObjectFactory(self,fact);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_SetMeshObjectFactory" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryWrapper_SetMeshObjectFactory" "', argument " "2"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObjectFactory * >(argp2);
    (arg1)->SetMeshObjectFactory(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_HardTransform) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_HardTransform(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_HardTransform" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryWrapper_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshFactoryWrapper_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->HardTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_CreateMeshWrapper) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_CreateMeshWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_CreateMeshWrapper" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (arg1)->CreateMeshWrapper();
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetFlags) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetFlags" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetParentContainer) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetParentContainer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetParentContainer" "', argument " "1"" of type '" "iMeshFactoryWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (iMeshFactoryWrapper *)((iMeshFactoryWrapper const *)arg1)->GetParentContainer();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_SetParentContainer) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_SetParentContainer(self,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_SetParentContainer" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryWrapper_SetParentContainer" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    (arg1)->SetParentContainer(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetChildren) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iMeshFactoryList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetChildren(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetChildren" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (iMeshFactoryList *)(arg1)->GetChildren();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetTransform) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetTransform" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_SetTransform) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_SetTransform(self,tr);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_SetTransform" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryWrapper_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshFactoryWrapper_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->SetTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_CreateStaticLOD) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iLODControl *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_CreateStaticLOD(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_CreateStaticLOD" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (iLODControl *)(arg1)->CreateStaticLOD();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLODControl, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_DestroyStaticLOD) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_DestroyStaticLOD(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_DestroyStaticLOD" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    (arg1)->DestroyStaticLOD();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetStaticLOD__SWIG_0) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iLODControl *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetStaticLOD(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetStaticLOD" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (iLODControl *)(arg1)->GetStaticLOD();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLODControl, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_SetStaticLOD) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_SetStaticLOD(self,m,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_SetStaticLOD" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshFactoryWrapper_SetStaticLOD" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMeshFactoryWrapper_SetStaticLOD" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetStaticLOD(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetStaticLOD__SWIG_1) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    float temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg3 = &temp3;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetStaticLOD(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetStaticLOD" "', argument " "1"" of type '" "iMeshFactoryWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryWrapper_GetStaticLOD" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshFactoryWrapper_GetStaticLOD" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    ((iMeshFactoryWrapper const *)arg1)->GetStaticLOD(*arg2,*arg3);
    
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetStaticLOD) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshFactoryWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshFactoryWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshFactoryWrapper_GetStaticLOD__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshFactoryWrapper_GetStaticLOD__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iMeshFactoryWrapper_GetStaticLOD'");
  XSRETURN(0);
}


XS(_wrap_iMeshFactoryWrapper_AddFactoryToStaticLOD) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    int arg2 ;
    iMeshFactoryWrapper *arg3 = (iMeshFactoryWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_AddFactoryToStaticLOD(self,lod,fact);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_AddFactoryToStaticLOD" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshFactoryWrapper_AddFactoryToStaticLOD" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshFactoryWrapper_AddFactoryToStaticLOD" "', argument " "3"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMeshFactoryWrapper * >(argp3);
    (arg1)->AddFactoryToStaticLOD(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_RemoveFactoryFromStaticLOD) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_RemoveFactoryFromStaticLOD(self,fact);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_RemoveFactoryFromStaticLOD" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryWrapper_RemoveFactoryFromStaticLOD" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    (arg1)->RemoveFactoryFromStaticLOD(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_SetZBufMode) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    csZBufMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_SetZBufMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_SetZBufMode" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshFactoryWrapper_SetZBufMode" "', argument " "2"" of type '" "csZBufMode""'");
    } 
    arg2 = static_cast< csZBufMode >(val2);
    (arg1)->SetZBufMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetZBufMode) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    csZBufMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetZBufMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetZBufMode" "', argument " "1"" of type '" "iMeshFactoryWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (csZBufMode)((iMeshFactoryWrapper const *)arg1)->GetZBufMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_SetZBufModeRecursive) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    csZBufMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_SetZBufModeRecursive(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_SetZBufModeRecursive" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshFactoryWrapper_SetZBufModeRecursive" "', argument " "2"" of type '" "csZBufMode""'");
    } 
    arg2 = static_cast< csZBufMode >(val2);
    (arg1)->SetZBufModeRecursive(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_SetRenderPriority) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    long arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_SetRenderPriority(self,rp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_SetRenderPriority" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    ecode2 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshFactoryWrapper_SetRenderPriority" "', argument " "2"" of type '" "long""'");
    } 
    arg2 = static_cast< long >(val2);
    (arg1)->SetRenderPriority(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetRenderPriority) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetRenderPriority(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetRenderPriority" "', argument " "1"" of type '" "iMeshFactoryWrapper const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (long)((iMeshFactoryWrapper const *)arg1)->GetRenderPriority();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_SetRenderPriorityRecursive) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    long arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_SetRenderPriorityRecursive(self,rp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_SetRenderPriorityRecursive" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    ecode2 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshFactoryWrapper_SetRenderPriorityRecursive" "', argument " "2"" of type '" "long""'");
    } 
    arg2 = static_cast< long >(val2);
    (arg1)->SetRenderPriorityRecursive(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_GetSVContext) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    iShaderVariableContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_GetSVContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryWrapper_GetSVContext" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    result = (iShaderVariableContext *)(arg1)->GetSVContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShaderVariableContext, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshFactoryWrapper) {
  {
    iMeshFactoryWrapper *arg1 = (iMeshFactoryWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshFactoryWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshFactoryWrapper" "', argument " "1"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryWrapper * >(argp1);
    delete_iMeshFactoryWrapper(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryWrapper_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMeshFactoryWrapper_scfGetVersion();");
    }
    result = (int)iMeshFactoryWrapper_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshList_GetCount) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshList_GetCount" "', argument " "1"" of type '" "iMeshList const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    result = (int)((iMeshList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshList_Get) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    int arg2 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshList_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshList_Get" "', argument " "1"" of type '" "iMeshList const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshList_Get" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iMeshWrapper *)((iMeshList const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshList_Add) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshList_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshList_Add" "', argument " "1"" of type '" "iMeshList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshList_Add" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (int)(arg1)->Add(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshList_Remove__SWIG_0) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshList_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshList_Remove" "', argument " "1"" of type '" "iMeshList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshList_Remove" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshList_Remove__SWIG_1) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshList_Remove(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshList_Remove" "', argument " "1"" of type '" "iMeshList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshList_Remove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshList_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshList_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshList_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iMeshList_Remove'");
  XSRETURN(0);
}


XS(_wrap_iMeshList_RemoveAll) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshList_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshList_RemoveAll" "', argument " "1"" of type '" "iMeshList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshList_Find) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshList_Find(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshList_Find" "', argument " "1"" of type '" "iMeshList const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshList_Find" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (int)((iMeshList const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshList_FindByName) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshList_FindByName(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshList_FindByName" "', argument " "1"" of type '" "iMeshList const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshList_FindByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshWrapper *)((iMeshList const *)arg1)->FindByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshList) {
  {
    iMeshList *arg1 = (iMeshList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshList" "', argument " "1"" of type '" "iMeshList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshList * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryList_GetCount) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryList_GetCount" "', argument " "1"" of type '" "iMeshFactoryList const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    result = (int)((iMeshFactoryList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryList_Get) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    int arg2 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryList_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryList_Get" "', argument " "1"" of type '" "iMeshFactoryList const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshFactoryList_Get" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iMeshFactoryWrapper *)((iMeshFactoryList const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryList_Add) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryList_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryList_Add" "', argument " "1"" of type '" "iMeshFactoryList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryList_Add" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    result = (int)(arg1)->Add(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryList_Remove__SWIG_0) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryList_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryList_Remove" "', argument " "1"" of type '" "iMeshFactoryList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryList_Remove" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryList_Remove__SWIG_1) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryList_Remove(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryList_Remove" "', argument " "1"" of type '" "iMeshFactoryList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshFactoryList_Remove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryList_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshFactoryList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshFactoryWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMeshFactoryList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshFactoryList_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMeshFactoryList_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iMeshFactoryList_Remove'");
  XSRETURN(0);
}


XS(_wrap_iMeshFactoryList_RemoveAll) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshFactoryList_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryList_RemoveAll" "', argument " "1"" of type '" "iMeshFactoryList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryList_Find) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryList_Find(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryList_Find" "', argument " "1"" of type '" "iMeshFactoryList const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryList_Find" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    result = (int)((iMeshFactoryList const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshFactoryList_FindByName) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshFactoryList_FindByName(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshFactoryList_FindByName" "', argument " "1"" of type '" "iMeshFactoryList const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshFactoryList_FindByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshFactoryWrapper *)((iMeshFactoryList const *)arg1)->FindByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshFactoryList) {
  {
    iMeshFactoryList *arg1 = (iMeshFactoryList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshFactoryList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshFactoryList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshFactoryList" "', argument " "1"" of type '" "iMeshFactoryList *""'"); 
    }
    arg1 = reinterpret_cast< iMeshFactoryList * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapperIterator_Next) {
  {
    iMeshWrapperIterator *arg1 = (iMeshWrapperIterator *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapperIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapperIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapperIterator_Next" "', argument " "1"" of type '" "iMeshWrapperIterator *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapperIterator * >(argp1);
    result = (iMeshWrapper *)(arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapperIterator_Reset) {
  {
    iMeshWrapperIterator *arg1 = (iMeshWrapperIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapperIterator_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapperIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapperIterator_Reset" "', argument " "1"" of type '" "iMeshWrapperIterator *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapperIterator * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapperIterator_HasNext) {
  {
    iMeshWrapperIterator *arg1 = (iMeshWrapperIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshWrapperIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapperIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshWrapperIterator_HasNext" "', argument " "1"" of type '" "iMeshWrapperIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapperIterator * >(argp1);
    result = (bool)((iMeshWrapperIterator const *)arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshWrapperIterator) {
  {
    iMeshWrapperIterator *arg1 = (iMeshWrapperIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshWrapperIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshWrapperIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshWrapperIterator" "', argument " "1"" of type '" "iMeshWrapperIterator *""'"); 
    }
    arg1 = reinterpret_cast< iMeshWrapperIterator * >(argp1);
    delete_iMeshWrapperIterator(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshWrapperIterator_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMeshWrapperIterator_scfGetVersion();");
    }
    result = (int)iMeshWrapperIterator_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMovableListener_MovableChanged) {
  {
    iMovableListener *arg1 = (iMovableListener *) 0 ;
    iMovable *arg2 = (iMovable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovableListener_MovableChanged(self,movable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovableListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovableListener_MovableChanged" "', argument " "1"" of type '" "iMovableListener *""'"); 
    }
    arg1 = reinterpret_cast< iMovableListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovableListener_MovableChanged" "', argument " "2"" of type '" "iMovable *""'"); 
    }
    arg2 = reinterpret_cast< iMovable * >(argp2);
    (arg1)->MovableChanged(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovableListener_MovableDestroyed) {
  {
    iMovableListener *arg1 = (iMovableListener *) 0 ;
    iMovable *arg2 = (iMovable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovableListener_MovableDestroyed(self,movable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovableListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovableListener_MovableDestroyed" "', argument " "1"" of type '" "iMovableListener *""'"); 
    }
    arg1 = reinterpret_cast< iMovableListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovableListener_MovableDestroyed" "', argument " "2"" of type '" "iMovable *""'"); 
    }
    arg2 = reinterpret_cast< iMovable * >(argp2);
    (arg1)->MovableDestroyed(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMovableListener) {
  {
    iMovableListener *arg1 = (iMovableListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMovableListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovableListener, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMovableListener" "', argument " "1"" of type '" "iMovableListener *""'"); 
    }
    arg1 = reinterpret_cast< iMovableListener * >(argp1);
    delete_iMovableListener(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovableListener_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMovableListener_scfGetVersion();");
    }
    result = (int)iMovableListener_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_GetSceneNode) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    iSceneNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_GetSceneNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_GetSceneNode" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    result = (iSceneNode *)(arg1)->GetSceneNode();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSceneNode, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_SetSector) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovable_SetSector(self,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_SetSector" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_SetSector" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    (arg1)->SetSector(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_ClearSectors) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_ClearSectors(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_ClearSectors" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    (arg1)->ClearSectors();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_GetSectors) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    iSectorList *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_GetSectors(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_GetSectors" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    result = (iSectorList *)(arg1)->GetSectors();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSectorList, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_InSector) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_InSector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_InSector" "', argument " "1"" of type '" "iMovable const *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    result = (bool)((iMovable const *)arg1)->InSector();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_SetPosition__SWIG_0) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMovable_SetPosition(self,home,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_SetPosition" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_SetPosition" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMovable_SetPosition" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMovable_SetPosition" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetPosition(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_SetPosition__SWIG_1) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovable_SetPosition(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_SetPosition" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMovable_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetPosition((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_SetPosition) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMovable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMovable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMovable_SetPosition__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMovable_SetPosition__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMovable_SetPosition'");
  XSRETURN(0);
}


XS(_wrap_iMovable_GetPosition) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_GetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_GetPosition" "', argument " "1"" of type '" "iMovable const *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    {
      csVector3 const &_result_ref = ((iMovable const *)arg1)->GetPosition();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_GetFullPosition) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_GetFullPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_GetFullPosition" "', argument " "1"" of type '" "iMovable const *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    result = ((iMovable const *)arg1)->GetFullPosition();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_SetTransform__SWIG_0) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovable_SetTransform(self,matrix);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_SetTransform" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_SetTransform" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMovable_SetTransform" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->SetTransform((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_SetTransform__SWIG_1) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovable_SetTransform(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_SetTransform" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMovable_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->SetTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_SetTransform) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMovable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMovable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMovable_SetTransform__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMovable_SetTransform__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iMovable_SetTransform'");
  XSRETURN(0);
}


XS(_wrap_iMovable_GetTransform) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_GetTransform" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_GetFullTransform) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csReversibleTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_GetFullTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_GetFullTransform" "', argument " "1"" of type '" "iMovable const *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    result = ((iMovable const *)arg1)->GetFullTransform();
    ST(argvi) = SWIG_NewPointerObj((new csReversibleTransform(static_cast< const csReversibleTransform& >(result))), SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_MovePosition) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovable_MovePosition(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_MovePosition" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_MovePosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMovable_MovePosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->MovePosition((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_Transform) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovable_Transform(self,matrix);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_Transform" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_Transform" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMovable_Transform" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->Transform((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_AddListener) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    iMovableListener *arg2 = (iMovableListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovable_AddListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_AddListener" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMovableListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_AddListener" "', argument " "2"" of type '" "iMovableListener *""'"); 
    }
    arg2 = reinterpret_cast< iMovableListener * >(argp2);
    (arg1)->AddListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_RemoveListener) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    iMovableListener *arg2 = (iMovableListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMovable_RemoveListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_RemoveListener" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMovableListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMovable_RemoveListener" "', argument " "2"" of type '" "iMovableListener *""'"); 
    }
    arg2 = reinterpret_cast< iMovableListener * >(argp2);
    (arg1)->RemoveListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_UpdateMove) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_UpdateMove(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_UpdateMove" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    (arg1)->UpdateMove();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_GetUpdateNumber) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_GetUpdateNumber(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_GetUpdateNumber" "', argument " "1"" of type '" "iMovable const *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    result = (long)((iMovable const *)arg1)->GetUpdateNumber();
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_IsTransformIdentity) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_IsTransformIdentity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_IsTransformIdentity" "', argument " "1"" of type '" "iMovable const *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    result = (bool)((iMovable const *)arg1)->IsTransformIdentity();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_IsFullTransformIdentity) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_IsFullTransformIdentity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_IsFullTransformIdentity" "', argument " "1"" of type '" "iMovable const *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    result = (bool)((iMovable const *)arg1)->IsFullTransformIdentity();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_TransformIdentity) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovable_TransformIdentity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovable_TransformIdentity" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    (arg1)->TransformIdentity();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMovable) {
  {
    iMovable *arg1 = (iMovable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMovable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovable, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMovable" "', argument " "1"" of type '" "iMovable *""'"); 
    }
    arg1 = reinterpret_cast< iMovable * >(argp1);
    delete_iMovable(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovable_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMovable_scfGetVersion();");
    }
    result = (int)iMovable_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_QueryObject) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRegion_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_QueryObject" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_Add) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_Add" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_Add" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->Add(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_Remove) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_Remove" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_Remove" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->Remove(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_Clear) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRegion_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_Clear" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_DeleteAll) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRegion_DeleteAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_DeleteAll" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    (arg1)->DeleteAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_PrepareTextures) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRegion_PrepareTextures(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_PrepareTextures" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    result = (bool)(arg1)->PrepareTextures();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_ShineLights) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRegion_ShineLights(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_ShineLights" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    result = (bool)(arg1)->ShineLights();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_Prepare) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRegion_Prepare(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_Prepare" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    result = (bool)(arg1)->Prepare();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_FindSector) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    char *arg2 = (char *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_FindSector(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_FindSector" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_FindSector" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSector *)(arg1)->FindSector((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_FindMeshObject) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_FindMeshObject(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_FindMeshObject" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_FindMeshObject" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshWrapper *)(arg1)->FindMeshObject((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_FindMeshFactory) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_FindMeshFactory(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_FindMeshFactory" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_FindMeshFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshFactoryWrapper *)(arg1)->FindMeshFactory((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_FindTexture) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    char *arg2 = (char *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_FindTexture(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_FindTexture" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_FindTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iTextureWrapper *)(arg1)->FindTexture((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_FindMaterial) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    char *arg2 = (char *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_FindMaterial(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_FindMaterial" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_FindMaterial" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMaterialWrapper *)(arg1)->FindMaterial((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_FindCameraPosition) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    char *arg2 = (char *) 0 ;
    iCameraPosition *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_FindCameraPosition(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_FindCameraPosition" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_FindCameraPosition" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iCameraPosition *)(arg1)->FindCameraPosition((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCameraPosition, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_FindCollection) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    char *arg2 = (char *) 0 ;
    iCollection *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_FindCollection(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_FindCollection" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_FindCollection" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iCollection *)(arg1)->FindCollection((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCollection, 0 | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iRegion_IsInRegion) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegion_IsInRegion(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegion_IsInRegion" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegion_IsInRegion" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    result = (bool)(arg1)->IsInRegion(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iRegion) {
  {
    iRegion *arg1 = (iRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iRegion(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegion, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iRegion" "', argument " "1"" of type '" "iRegion *""'"); 
    }
    arg1 = reinterpret_cast< iRegion * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegionList_GetCount) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRegionList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegionList_GetCount" "', argument " "1"" of type '" "iRegionList const *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    result = (int)((iRegionList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegionList_Get) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    int arg2 ;
    iRegion *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegionList_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegionList_Get" "', argument " "1"" of type '" "iRegionList const *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRegionList_Get" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iRegion *)((iRegionList const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRegion, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegionList_Add) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegionList_Add(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegionList_Add" "', argument " "1"" of type '" "iRegionList *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegionList_Add" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    result = (int)(arg1)->Add(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegionList_Remove__SWIG_0) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegionList_Remove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegionList_Remove" "', argument " "1"" of type '" "iRegionList *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegionList_Remove" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegionList_Remove__SWIG_1) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegionList_Remove(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegionList_Remove" "', argument " "1"" of type '" "iRegionList *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRegionList_Remove" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->Remove(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegionList_Remove) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRegionList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRegionList, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRegionList_Remove__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRegionList_Remove__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iRegionList_Remove'");
  XSRETURN(0);
}


XS(_wrap_iRegionList_RemoveAll) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRegionList_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegionList_RemoveAll" "', argument " "1"" of type '" "iRegionList *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    (arg1)->RemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegionList_Find) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegionList_Find(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegionList_Find" "', argument " "1"" of type '" "iRegionList const *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegionList_Find" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    result = (int)((iRegionList const *)arg1)->Find(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRegionList_FindByName) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRegionList_FindByName(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRegionList_FindByName" "', argument " "1"" of type '" "iRegionList const *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRegionList_FindByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iRegion *)((iRegionList const *)arg1)->FindByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRegion, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iRegionList) {
  {
    iRegionList *arg1 = (iRegionList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iRegionList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRegionList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iRegionList" "', argument " "1"" of type '" "iRegionList *""'"); 
    }
    arg1 = reinterpret_cast< iRegionList * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityObjectIterator_HasNext) {
  {
    iVisibilityObjectIterator *arg1 = (iVisibilityObjectIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVisibilityObjectIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObjectIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityObjectIterator_HasNext" "', argument " "1"" of type '" "iVisibilityObjectIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObjectIterator * >(argp1);
    result = (bool)((iVisibilityObjectIterator const *)arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityObjectIterator_Next) {
  {
    iVisibilityObjectIterator *arg1 = (iVisibilityObjectIterator *) 0 ;
    iVisibilityObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVisibilityObjectIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObjectIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityObjectIterator_Next" "', argument " "1"" of type '" "iVisibilityObjectIterator *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObjectIterator * >(argp1);
    result = (iVisibilityObject *)(arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iVisibilityObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityObjectIterator_Reset) {
  {
    iVisibilityObjectIterator *arg1 = (iVisibilityObjectIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVisibilityObjectIterator_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObjectIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityObjectIterator_Reset" "', argument " "1"" of type '" "iVisibilityObjectIterator *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObjectIterator * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iVisibilityObjectIterator) {
  {
    iVisibilityObjectIterator *arg1 = (iVisibilityObjectIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iVisibilityObjectIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObjectIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iVisibilityObjectIterator" "', argument " "1"" of type '" "iVisibilityObjectIterator *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObjectIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCullerListener_ObjectVisible) {
  {
    iVisibilityCullerListener *arg1 = (iVisibilityCullerListener *) 0 ;
    iVisibilityObject *arg2 = (iVisibilityObject *) 0 ;
    iMeshWrapper *arg3 = (iMeshWrapper *) 0 ;
    uint32 arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iVisibilityCullerListener_ObjectVisible(self,visobject,mesh,frustum_mask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCullerListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCullerListener_ObjectVisible" "', argument " "1"" of type '" "iVisibilityCullerListener *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCullerListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iVisibilityObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCullerListener_ObjectVisible" "', argument " "2"" of type '" "iVisibilityObject *""'"); 
    }
    arg2 = reinterpret_cast< iVisibilityObject * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVisibilityCullerListener_ObjectVisible" "', argument " "3"" of type '" "iMeshWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMeshWrapper * >(argp3);
    {
      res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res4)) {
        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iVisibilityCullerListener_ObjectVisible" "', argument " "4"" of type '" "uint32""'"); 
      }  
      if (!argp4) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCullerListener_ObjectVisible" "', argument " "4"" of type '" "uint32""'");
      } else {
        arg4 = *(reinterpret_cast< uint32 * >(argp4));
      }
    }
    (arg1)->ObjectVisible(arg2,arg3,arg4);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iVisibilityCullerListener) {
  {
    iVisibilityCullerListener *arg1 = (iVisibilityCullerListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iVisibilityCullerListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCullerListener, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iVisibilityCullerListener" "', argument " "1"" of type '" "iVisibilityCullerListener *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCullerListener * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_Setup) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVisibilityCuller_Setup(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_Setup" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_Setup" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->Setup((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_RegisterVisObject) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    iVisibilityObject *arg2 = (iVisibilityObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVisibilityCuller_RegisterVisObject(self,visobj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_RegisterVisObject" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iVisibilityObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_RegisterVisObject" "', argument " "2"" of type '" "iVisibilityObject *""'"); 
    }
    arg2 = reinterpret_cast< iVisibilityObject * >(argp2);
    (arg1)->RegisterVisObject(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_UnregisterVisObject) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    iVisibilityObject *arg2 = (iVisibilityObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVisibilityCuller_UnregisterVisObject(self,visobj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_UnregisterVisObject" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iVisibilityObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_UnregisterVisObject" "', argument " "2"" of type '" "iVisibilityObject *""'"); 
    }
    arg2 = reinterpret_cast< iVisibilityObject * >(argp2);
    (arg1)->UnregisterVisObject(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_VisTest__SWIG_0) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    iRenderView *arg2 = (iRenderView *) 0 ;
    iVisibilityCullerListener *arg3 = (iVisibilityCullerListener *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVisibilityCuller_VisTest(self,irview,viscallback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_VisTest" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "iRenderView *""'"); 
    }
    arg2 = reinterpret_cast< iRenderView * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iVisibilityCullerListener, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVisibilityCuller_VisTest" "', argument " "3"" of type '" "iVisibilityCullerListener *""'"); 
    }
    arg3 = reinterpret_cast< iVisibilityCullerListener * >(argp3);
    result = (bool)(arg1)->VisTest(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_PrecacheCulling) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVisibilityCuller_PrecacheCulling(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_PrecacheCulling" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    (arg1)->PrecacheCulling();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_VisTest__SWIG_1) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    csBox3 *arg2 = 0 ;
    SwigValueWrapper<csPtr<iVisibilityObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVisibilityCuller_VisTest(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_VisTest" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    result = (arg1)->VisTest((csBox3 const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iVisibilityObjectIterator >(static_cast< const csPtr<iVisibilityObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiVisibilityObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_VisTest__SWIG_2) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    csSphere *arg2 = 0 ;
    SwigValueWrapper<csPtr<iVisibilityObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVisibilityCuller_VisTest(self,sphere);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_VisTest" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    result = (arg1)->VisTest((csSphere const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iVisibilityObjectIterator >(static_cast< const csPtr<iVisibilityObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiVisibilityObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_VisTest__SWIG_3) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    csSphere *arg2 = 0 ;
    iVisibilityCullerListener *arg3 = (iVisibilityCullerListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVisibilityCuller_VisTest(self,sphere,viscallback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_VisTest" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iVisibilityCullerListener, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVisibilityCuller_VisTest" "', argument " "3"" of type '" "iVisibilityCullerListener *""'"); 
    }
    arg3 = reinterpret_cast< iVisibilityCullerListener * >(argp3);
    (arg1)->VisTest((csSphere const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_VisTest__SWIG_4) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    csPlane3 *arg2 = (csPlane3 *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iVisibilityObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVisibilityCuller_VisTest(self,plane,num_planes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_VisTest" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "csPlane3 *""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iVisibilityCuller_VisTest" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->VisTest(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iVisibilityObjectIterator >(static_cast< const csPtr<iVisibilityObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiVisibilityObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_VisTest__SWIG_5) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    csPlane3 *arg2 = (csPlane3 *) 0 ;
    int arg3 ;
    iVisibilityCullerListener *arg4 = (iVisibilityCullerListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iVisibilityCuller_VisTest(self,plane,num_planes,viscallback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_VisTest" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csPlane3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_VisTest" "', argument " "2"" of type '" "csPlane3 *""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iVisibilityCuller_VisTest" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iVisibilityCullerListener, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iVisibilityCuller_VisTest" "', argument " "4"" of type '" "iVisibilityCullerListener *""'"); 
    }
    arg4 = reinterpret_cast< iVisibilityCullerListener * >(argp4);
    (arg1)->VisTest(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_VisTest) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVisibilityCuller, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVisibilityCuller, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVisibilityCuller, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRenderView, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iVisibilityCullerListener, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVisibilityCuller, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iVisibilityCullerListener, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVisibilityCuller, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVisibilityCuller, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iVisibilityCullerListener, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVisibilityCuller_VisTest__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVisibilityCuller_VisTest__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVisibilityCuller_VisTest__SWIG_0); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVisibilityCuller_VisTest__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVisibilityCuller_VisTest__SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVisibilityCuller_VisTest__SWIG_5); return;
    }
  }
  
  croak("No matching function for overloaded 'iVisibilityCuller_VisTest'");
  XSRETURN(0);
}


XS(_wrap_iVisibilityCuller_IntersectSegmentSloppy) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    SwigValueWrapper<csPtr<iVisibilityObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVisibilityCuller_IntersectSegmentSloppy(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_IntersectSegmentSloppy" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_IntersectSegmentSloppy" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_IntersectSegmentSloppy" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVisibilityCuller_IntersectSegmentSloppy" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_IntersectSegmentSloppy" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (arg1)->IntersectSegmentSloppy((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iVisibilityObjectIterator >(static_cast< const csPtr<iVisibilityObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiVisibilityObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_IntersectSegment__SWIG_0) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    bool arg4 = (bool) false ;
    SwigValueWrapper<csPtr<iVisibilityObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 4)) {
      SWIG_croak("Usage: iVisibilityCuller_IntersectSegment(self,start,end,accurate);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    if (items > 3) {
      ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
      if (!SWIG_IsOK(ecode4)) {
        SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "4"" of type '" "bool""'");
      } 
      arg4 = static_cast< bool >(val4);
    }
    result = (arg1)->IntersectSegment((csVector3 const &)*arg2,(csVector3 const &)*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iVisibilityObjectIterator >(static_cast< const csPtr<iVisibilityObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiVisibilityObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_IntersectSegment__SWIG_1) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float *arg5 = (float *) 0 ;
    iMeshWrapper **arg6 = (iMeshWrapper **) 0 ;
    int *arg7 = (int *) 0 ;
    bool arg8 = (bool) true ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    bool val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 4) || (items > 7)) {
      SWIG_croak("Usage: iVisibilityCuller_IntersectSegment(self,start,end,isect,p_mesh,poly_idx,accurate);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    if (items > 4) {
      res6 = SWIG_ConvertPtr(ST(4), &argp6,SWIGTYPE_p_p_iMeshWrapper, 0 |  0 );
      if (!SWIG_IsOK(res6)) {
        SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "6"" of type '" "iMeshWrapper **""'"); 
      }
      arg6 = reinterpret_cast< iMeshWrapper ** >(argp6);
    }
    if (items > 5) {
      res7 = SWIG_ConvertPtr(ST(5), &argp7,SWIGTYPE_p_int, 0 |  0 );
      if (!SWIG_IsOK(res7)) {
        SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "7"" of type '" "int *""'"); 
      }
      arg7 = reinterpret_cast< int * >(argp7);
    }
    if (items > 6) {
      ecode8 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val8);
      if (!SWIG_IsOK(ecode8)) {
        SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iVisibilityCuller_IntersectSegment" "', argument " "8"" of type '" "bool""'");
      } 
      arg8 = static_cast< bool >(val8);
    }
    result = (bool)(arg1)->IntersectSegment((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5,arg6,arg7,arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_IntersectSegment) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if ((items >= 3) && (items <= 4)) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVisibilityCuller, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (items > 3) {
        {
          {
            int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
            _v = SWIG_CheckState(res);
          }
        }
        if (!_v) goto check_1;
        _ranki += _v*_pi;
        _rankm += _pi;
        _pi *= SWIG_MAXCASTRANK;
      }
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if ((items >= 4) && (items <= 7)) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVisibilityCuller, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (items > 4) {
        {
          void *vptr = 0;
          int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_p_iMeshWrapper, 0);
          _v = SWIG_CheckState(res);
        }
        if (!_v) goto check_2;
        _ranki += _v*_pi;
        _rankm += _pi;
        _pi *= SWIG_MAXCASTRANK;
        if (items > 5) {
          {
            void *vptr = 0;
            int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_int, 0);
            _v = SWIG_CheckState(res);
          }
          if (!_v) goto check_2;
          _ranki += _v*_pi;
          _rankm += _pi;
          _pi *= SWIG_MAXCASTRANK;
          if (items > 6) {
            {
              {
                int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
                _v = SWIG_CheckState(res);
              }
            }
            if (!_v) goto check_2;
            _ranki += _v*_pi;
            _rankm += _pi;
            _pi *= SWIG_MAXCASTRANK;
          }
        }
      }
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVisibilityCuller_IntersectSegment__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVisibilityCuller_IntersectSegment__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iVisibilityCuller_IntersectSegment'");
  XSRETURN(0);
}


XS(_wrap_iVisibilityCuller_CastShadows) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    iFrustumView *arg2 = (iFrustumView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVisibilityCuller_CastShadows(self,fview);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_CastShadows" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_CastShadows" "', argument " "2"" of type '" "iFrustumView *""'"); 
    }
    arg2 = reinterpret_cast< iFrustumView * >(argp2);
    (arg1)->CastShadows(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_ParseCullerParameters) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVisibilityCuller_ParseCullerParameters(self,node);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityCuller_ParseCullerParameters" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVisibilityCuller_ParseCullerParameters" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (char *)(arg1)->ParseCullerParameters(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iVisibilityCuller) {
  {
    iVisibilityCuller *arg1 = (iVisibilityCuller *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iVisibilityCuller(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityCuller, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iVisibilityCuller" "', argument " "1"" of type '" "iVisibilityCuller *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityCuller * >(argp1);
    delete_iVisibilityCuller(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityCuller_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iVisibilityCuller_scfGetVersion();");
    }
    result = (int)iVisibilityCuller_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityObject_GetMovable) {
  {
    iVisibilityObject *arg1 = (iVisibilityObject *) 0 ;
    iMovable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVisibilityObject_GetMovable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityObject_GetMovable" "', argument " "1"" of type '" "iVisibilityObject const *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObject * >(argp1);
    result = (iMovable *)((iVisibilityObject const *)arg1)->GetMovable();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMovable, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityObject_GetMeshWrapper) {
  {
    iVisibilityObject *arg1 = (iVisibilityObject *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVisibilityObject_GetMeshWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityObject_GetMeshWrapper" "', argument " "1"" of type '" "iVisibilityObject const *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObject * >(argp1);
    result = (iMeshWrapper *)((iVisibilityObject const *)arg1)->GetMeshWrapper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityObject_GetObjectModel) {
  {
    iVisibilityObject *arg1 = (iVisibilityObject *) 0 ;
    iObjectModel *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVisibilityObject_GetObjectModel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityObject_GetObjectModel" "', argument " "1"" of type '" "iVisibilityObject *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObject * >(argp1);
    result = (iObjectModel *)(arg1)->GetObjectModel();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObjectModel, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVisibilityObject_GetCullerFlags) {
  {
    iVisibilityObject *arg1 = (iVisibilityObject *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVisibilityObject_GetCullerFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVisibilityObject_GetCullerFlags" "', argument " "1"" of type '" "iVisibilityObject *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObject * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetCullerFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iVisibilityObject) {
  {
    iVisibilityObject *arg1 = (iVisibilityObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iVisibilityObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVisibilityObject, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iVisibilityObject" "', argument " "1"" of type '" "iVisibilityObject *""'"); 
    }
    arg1 = reinterpret_cast< iVisibilityObject * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortalCallback_Traverse) {
  {
    iPortalCallback *arg1 = (iPortalCallback *) 0 ;
    iPortal *arg2 = (iPortal *) 0 ;
    iBase *arg3 = (iBase *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPortalCallback_Traverse(self,portal,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortalCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortalCallback_Traverse" "', argument " "1"" of type '" "iPortalCallback *""'"); 
    }
    arg1 = reinterpret_cast< iPortalCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortalCallback_Traverse" "', argument " "2"" of type '" "iPortal *""'"); 
    }
    arg2 = reinterpret_cast< iPortal * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortalCallback_Traverse" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    result = (bool)(arg1)->Traverse(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iPortalCallback) {
  {
    iPortalCallback *arg1 = (iPortalCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iPortalCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortalCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iPortalCallback" "', argument " "1"" of type '" "iPortalCallback *""'"); 
    }
    arg1 = reinterpret_cast< iPortalCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetName) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetName" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetName) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetName" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (char *)((iPortal const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetSector) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetSector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetSector" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (iSector *)((iPortal const *)arg1)->GetSector();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetVertices) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetVertices" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (csVector3 *)((iPortal const *)arg1)->GetVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetWorldVertices) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetWorldVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetWorldVertices" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (csVector3 *)(arg1)->GetWorldVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetVertexIndices) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    int *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetVertexIndices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetVertexIndices" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (int *)((iPortal const *)arg1)->GetVertexIndices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetVertexIndicesCount) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetVertexIndicesCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetVertexIndicesCount" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (int)((iPortal const *)arg1)->GetVertexIndicesCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetObjectPlane) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetObjectPlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetObjectPlane" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    {
      csPlane3 const &_result_ref = (arg1)->GetObjectPlane();
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetWorldPlane) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetWorldPlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetWorldPlane" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    {
      csPlane3 const &_result_ref = (arg1)->GetWorldPlane();
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_ComputeCameraPlane) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csPlane3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPortal_ComputeCameraPlane(self,t,camplane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_ComputeCameraPlane" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_ComputeCameraPlane" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_ComputeCameraPlane" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortal_ComputeCameraPlane" "', argument " "3"" of type '" "csPlane3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_ComputeCameraPlane" "', argument " "3"" of type '" "csPlane3 &""'"); 
    }
    arg3 = reinterpret_cast< csPlane3 * >(argp3);
    (arg1)->ComputeCameraPlane((csReversibleTransform const &)*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_PointOnPolygon) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_PointOnPolygon(self,point);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_PointOnPolygon" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_PointOnPolygon" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_PointOnPolygon" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)(arg1)->PointOnPolygon((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetSector) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_SetSector(self,s);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetSector" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_SetSector" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    (arg1)->SetSector(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetFlags) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetFlags" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetMaximumSectorVisit) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_SetMaximumSectorVisit(self,msv);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetMaximumSectorVisit" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPortal_SetMaximumSectorVisit" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetMaximumSectorVisit(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetMaximumSectorVisit) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetMaximumSectorVisit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetMaximumSectorVisit" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (int)((iPortal const *)arg1)->GetMaximumSectorVisit();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetPortalCallback) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iPortalCallback *arg2 = (iPortalCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_SetPortalCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetPortalCallback" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPortalCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_SetPortalCallback" "', argument " "2"" of type '" "iPortalCallback *""'"); 
    }
    arg2 = reinterpret_cast< iPortalCallback * >(argp2);
    (arg1)->SetPortalCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_RemovePortalCallback) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iPortalCallback *arg2 = (iPortalCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_RemovePortalCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_RemovePortalCallback" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPortalCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_RemovePortalCallback" "', argument " "2"" of type '" "iPortalCallback *""'"); 
    }
    arg2 = reinterpret_cast< iPortalCallback * >(argp2);
    (arg1)->RemovePortalCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetPortalCallbackCount) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetPortalCallbackCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetPortalCallbackCount" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (int)((iPortal const *)arg1)->GetPortalCallbackCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetPortalCallback) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    int arg2 ;
    iPortalCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_GetPortalCallback(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetPortalCallback" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPortal_GetPortalCallback" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iPortalCallback *)((iPortal const *)arg1)->GetPortalCallback(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPortalCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetMissingSectorCallback) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iPortalCallback *arg2 = (iPortalCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_SetMissingSectorCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetMissingSectorCallback" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPortalCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_SetMissingSectorCallback" "', argument " "2"" of type '" "iPortalCallback *""'"); 
    }
    arg2 = reinterpret_cast< iPortalCallback * >(argp2);
    (arg1)->SetMissingSectorCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_RemoveMissingSectorCallback) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iPortalCallback *arg2 = (iPortalCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_RemoveMissingSectorCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_RemoveMissingSectorCallback" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPortalCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_RemoveMissingSectorCallback" "', argument " "2"" of type '" "iPortalCallback *""'"); 
    }
    arg2 = reinterpret_cast< iPortalCallback * >(argp2);
    (arg1)->RemoveMissingSectorCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetMissingSectorCallbackCount) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetMissingSectorCallbackCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetMissingSectorCallbackCount" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (int)((iPortal const *)arg1)->GetMissingSectorCallbackCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetMissingSectorCallback) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    int arg2 ;
    iPortalCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_GetMissingSectorCallback(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetMissingSectorCallback" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPortal_GetMissingSectorCallback" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iPortalCallback *)((iPortal const *)arg1)->GetMissingSectorCallback(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPortalCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetFilter__SWIG_0) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_SetFilter(self,ft);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetFilter" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_SetFilter" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    (arg1)->SetFilter(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetTextureFilter) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetTextureFilter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetTextureFilter" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = (iTextureHandle *)((iPortal const *)arg1)->GetTextureFilter();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetFilter__SWIG_1) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iPortal_SetFilter(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetFilter" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPortal_SetFilter" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iPortal_SetFilter" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iPortal_SetFilter" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->SetFilter(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetFilter) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPortal, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPortal, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPortal_SetFilter__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPortal_SetFilter__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iPortal_SetFilter'");
  XSRETURN(0);
}


XS(_wrap_iPortal_GetColorFilter) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    float *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float temp2 ;
    int res2 = SWIG_TMPOBJ ;
    float temp3 ;
    int res3 = SWIG_TMPOBJ ;
    float temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetColorFilter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetColorFilter" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    ((iPortal const *)arg1)->GetColorFilter(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetWarp__SWIG_0) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csMatrix3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iPortal_SetWarp(self,m_w,v_w_before,v_w_after);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetWarp" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_SetWarp" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_SetWarp" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortal_SetWarp" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_SetWarp" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iPortal_SetWarp" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_SetWarp" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    (arg1)->SetWarp((csMatrix3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetWarp__SWIG_1) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_SetWarp(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetWarp" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_SetWarp" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_SetWarp" "', argument " "2"" of type '" "csTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csTransform * >(argp2);
    (arg1)->SetWarp((csTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_SetWarp) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPortal, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPortal, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPortal_SetWarp__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPortal_SetWarp__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iPortal_SetWarp'");
  XSRETURN(0);
}


XS(_wrap_iPortal_SetMirror) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csPlane3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_SetMirror(self,plane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_SetMirror" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_SetMirror" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_SetMirror" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    (arg1)->SetMirror((csPlane3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_GetWarp) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetWarp(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetWarp" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    {
      csReversibleTransform const &_result_ref = ((iPortal const *)arg1)->GetWarp();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_HardTransform) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_HardTransform(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_HardTransform" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->HardTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_ObjectToWorld) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPortal_ObjectToWorld(self,t,warp_wor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_ObjectToWorld" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_ObjectToWorld" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_ObjectToWorld" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortal_ObjectToWorld" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_ObjectToWorld" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    ((iPortal const *)arg1)->ObjectToWorld((csReversibleTransform const &)*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_Warp) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPortal_Warp(self,t,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_Warp" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_Warp" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_Warp" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortal_Warp" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_Warp" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = ((iPortal const *)arg1)->Warp((csReversibleTransform const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_WarpSpace) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csReversibleTransform *arg3 = 0 ;
    bool *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool temp4 ;
    int res4 = 0 ;
    int argvi = 0;
    SV * _saved[1] ;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iPortal_WarpSpace(self,warp_wor,t,mirror);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_WarpSpace" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_WarpSpace" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_WarpSpace" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortal_WarpSpace" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_WarpSpace" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    if (!(SWIG_IsOK((res4 = SWIG_ConvertPtr(ST(3),SWIG_as_voidptrptr(&arg4),SWIGTYPE_p_bool,0))))) {
      bool val; 
      int ecode = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val);
      if (!SWIG_IsOK(ecode)) {
        SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "iPortal_WarpSpace" "', argument " "4"" of type '" "bool""'");
      }
      temp4 = static_cast< bool >(val);
      arg4 = &temp4;
      res4 = SWIG_AddTmpMask(ecode);
    }
    _saved[0] = ST(3);
    ((iPortal const *)arg1)->WarpSpace((csReversibleTransform const &)*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_bool, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_CompleteSector) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortal_CompleteSector(self,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_CompleteSector" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_CompleteSector" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    result = (bool)(arg1)->CompleteSector(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_CheckFrustum) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    iFrustumView *arg2 = (iFrustumView *) 0 ;
    csReversibleTransform *arg3 = 0 ;
    int arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iPortal_CheckFrustum(self,lview,t,alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_CheckFrustum" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFrustumView, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_CheckFrustum" "', argument " "2"" of type '" "iFrustumView *""'"); 
    }
    arg2 = reinterpret_cast< iFrustumView * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortal_CheckFrustum" "', argument " "3"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_CheckFrustum" "', argument " "3"" of type '" "csReversibleTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iPortal_CheckFrustum" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->CheckFrustum(arg2,(csReversibleTransform const &)*arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_HitBeamPortals__SWIG_0) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    int *arg6 = (int *) 0 ;
    iSector **arg7 = (iSector **) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int temp6 ;
    int res6 = SWIG_TMPOBJ ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg6 = &temp6;
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iPortal_HitBeamPortals(self,t,start,end,isect,final_sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_HitBeamPortals" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_HitBeamPortals" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HitBeamPortals" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortal_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iPortal_HitBeamPortals" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HitBeamPortals" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iPortal_HitBeamPortals" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HitBeamPortals" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    res7 = SWIG_ConvertPtr(ST(5), &argp7,SWIGTYPE_p_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iPortal_HitBeamPortals" "', argument " "7"" of type '" "iSector **""'"); 
    }
    arg7 = reinterpret_cast< iSector ** >(argp7);
    result = (iMeshWrapper *)(arg1)->HitBeamPortals((csReversibleTransform const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,*arg5,arg6,arg7);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_HitBeamPortals__SWIG_1) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    int *arg6 = (int *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int temp6 ;
    int res6 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg6 = &temp6;
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iPortal_HitBeamPortals(self,t,start,end,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_HitBeamPortals" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortal_HitBeamPortals" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HitBeamPortals" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPortal_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HitBeamPortals" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iPortal_HitBeamPortals" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HitBeamPortals" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iPortal_HitBeamPortals" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iPortal_HitBeamPortals" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (iMeshWrapper *)(arg1)->HitBeamPortals((csReversibleTransform const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,*arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_HitBeamPortals) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPortal, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPortal, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPortal_HitBeamPortals__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPortal_HitBeamPortals__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iPortal_HitBeamPortals'");
  XSRETURN(0);
}


XS(_wrap_iPortal_GetVerticesCount) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortal_GetVerticesCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortal_GetVerticesCount" "', argument " "1"" of type '" "iPortal const *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    result = ((iPortal const *)arg1)->GetVerticesCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iPortal) {
  {
    iPortal *arg1 = (iPortal *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iPortal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortal, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iPortal" "', argument " "1"" of type '" "iPortal *""'"); 
    }
    arg1 = reinterpret_cast< iPortal * >(argp1);
    delete_iPortal(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortal_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iPortal_scfGetVersion();");
    }
    result = (int)iPortal_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iPortalContainer_GetPortalCount) {
  {
    iPortalContainer *arg1 = (iPortalContainer *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPortalContainer_GetPortalCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortalContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortalContainer_GetPortalCount" "', argument " "1"" of type '" "iPortalContainer const *""'"); 
    }
    arg1 = reinterpret_cast< iPortalContainer * >(argp1);
    result = (int)((iPortalContainer const *)arg1)->GetPortalCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortalContainer_GetPortal) {
  {
    iPortalContainer *arg1 = (iPortalContainer *) 0 ;
    int arg2 ;
    iPortal *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortalContainer_GetPortal(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortalContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortalContainer_GetPortal" "', argument " "1"" of type '" "iPortalContainer const *""'"); 
    }
    arg1 = reinterpret_cast< iPortalContainer * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iPortalContainer_GetPortal" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iPortal *)((iPortalContainer const *)arg1)->GetPortal(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPortal, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortalContainer_CreatePortal) {
  {
    iPortalContainer *arg1 = (iPortalContainer *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    int arg3 ;
    iPortal *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortalContainer_CreatePortal(self,vertices,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortalContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortalContainer_CreatePortal" "', argument " "1"" of type '" "iPortalContainer *""'"); 
    }
    arg1 = reinterpret_cast< iPortalContainer * >(argp1);
    {
      /*@SWIG:TYPEMAP_IN_ARRAY_BODY@*/
      AV *av = (AV *) SvRV (ST(1));
      if (SvTYPE (av) != SVt_PVAV)
      croak ("%s", "Argument must be an array reference");
      arg3 = av_len (av) + 1;
      arg2 = new csVector3 [arg3];
      for (int i = 0; i < arg3; i++)
      {
        SV *oref = av_shift (av);
        SV *o = SvRV (oref);
        SvREFCNT_dec (oref);
        if (! sv_isa (o,"csVector3"))
        {
          croak ("%s", "Array must contain ""csVector3" "'s");
          delete [] arg2;
          return;
        }
        csVector3 *p = (csVector3 *) SvIV (o);
        SvREFCNT_dec (o);
        arg2 [i] = * p;
      }
      /*@SWIG@*/
    }
    result = (iPortal *)(arg1)->CreatePortal(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iPortal, 0 | SWIG_SHADOW); argvi++ ;
    
    {
      delete [] arg2;
    }
    XSRETURN(argvi);
  fail:
    
    {
      delete [] arg2;
    }
    SWIG_croak_null();
  }
}


XS(_wrap_iPortalContainer_RemovePortal) {
  {
    iPortalContainer *arg1 = (iPortalContainer *) 0 ;
    iPortal *arg2 = (iPortal *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortalContainer_RemovePortal(self,portal);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortalContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortalContainer_RemovePortal" "', argument " "1"" of type '" "iPortalContainer *""'"); 
    }
    arg1 = reinterpret_cast< iPortalContainer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortalContainer_RemovePortal" "', argument " "2"" of type '" "iPortal *""'"); 
    }
    arg2 = reinterpret_cast< iPortal * >(argp2);
    (arg1)->RemovePortal(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortalContainer_Draw) {
  {
    iPortalContainer *arg1 = (iPortalContainer *) 0 ;
    iRenderView *arg2 = (iRenderView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPortalContainer_Draw(self,rview);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortalContainer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPortalContainer_Draw" "', argument " "1"" of type '" "iPortalContainer *""'"); 
    }
    arg1 = reinterpret_cast< iPortalContainer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPortalContainer_Draw" "', argument " "2"" of type '" "iRenderView *""'"); 
    }
    arg2 = reinterpret_cast< iRenderView * >(argp2);
    (arg1)->Draw(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iPortalContainer) {
  {
    iPortalContainer *arg1 = (iPortalContainer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iPortalContainer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPortalContainer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iPortalContainer" "', argument " "1"" of type '" "iPortalContainer *""'"); 
    }
    arg1 = reinterpret_cast< iPortalContainer * >(argp1);
    delete_iPortalContainer(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPortalContainer_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iPortalContainer_scfGetVersion();");
    }
    result = (int)iPortalContainer_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshSubMesh_GetIndices) {
  {
    iGeneralMeshSubMesh *arg1 = (iGeneralMeshSubMesh *) 0 ;
    iRenderBuffer *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshSubMesh_GetIndices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshSubMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshSubMesh_GetIndices" "', argument " "1"" of type '" "iGeneralMeshSubMesh const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshSubMesh * >(argp1);
    result = (iRenderBuffer *)((iGeneralMeshSubMesh const *)arg1)->GetIndices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRenderBuffer, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshSubMesh_GetMaterial) {
  {
    iGeneralMeshSubMesh *arg1 = (iGeneralMeshSubMesh *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshSubMesh_GetMaterial(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshSubMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshSubMesh_GetMaterial" "', argument " "1"" of type '" "iGeneralMeshSubMesh const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshSubMesh * >(argp1);
    result = (iMaterialWrapper *)((iGeneralMeshSubMesh const *)arg1)->GetMaterial();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshSubMesh_GetName) {
  {
    iGeneralMeshSubMesh *arg1 = (iGeneralMeshSubMesh *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshSubMesh_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshSubMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshSubMesh_GetName" "', argument " "1"" of type '" "iGeneralMeshSubMesh const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshSubMesh * >(argp1);
    result = (char *)((iGeneralMeshSubMesh const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshSubMesh_GetMixmode) {
  {
    iGeneralMeshSubMesh *arg1 = (iGeneralMeshSubMesh *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshSubMesh_GetMixmode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshSubMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshSubMesh_GetMixmode" "', argument " "1"" of type '" "iGeneralMeshSubMesh const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshSubMesh * >(argp1);
    result = (uint)((iGeneralMeshSubMesh const *)arg1)->GetMixmode();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshSubMesh_SetMaterial) {
  {
    iGeneralMeshSubMesh *arg1 = (iGeneralMeshSubMesh *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshSubMesh_SetMaterial(self,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshSubMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshSubMesh_SetMaterial" "', argument " "1"" of type '" "iGeneralMeshSubMesh *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshSubMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralMeshSubMesh_SetMaterial" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    (arg1)->SetMaterial(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iGeneralMeshSubMesh) {
  {
    iGeneralMeshSubMesh *arg1 = (iGeneralMeshSubMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGeneralMeshSubMesh(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshSubMesh, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGeneralMeshSubMesh" "', argument " "1"" of type '" "iGeneralMeshSubMesh *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshSubMesh * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_SetLighting) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_SetLighting(self,l);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_SetLighting" "', argument " "1"" of type '" "iGeneralMeshCommonState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralMeshCommonState_SetLighting" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetLighting(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_IsLighting) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_IsLighting(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_IsLighting" "', argument " "1"" of type '" "iGeneralMeshCommonState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    result = (bool)((iGeneralMeshCommonState const *)arg1)->IsLighting();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_SetManualColors) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_SetManualColors(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_SetManualColors" "', argument " "1"" of type '" "iGeneralMeshCommonState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralMeshCommonState_SetManualColors" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetManualColors(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_IsManualColors) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_IsManualColors(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_IsManualColors" "', argument " "1"" of type '" "iGeneralMeshCommonState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    result = (bool)((iGeneralMeshCommonState const *)arg1)->IsManualColors();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_SetShadowCasting) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_SetShadowCasting(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_SetShadowCasting" "', argument " "1"" of type '" "iGeneralMeshCommonState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralMeshCommonState_SetShadowCasting" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetShadowCasting(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_IsShadowCasting) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_IsShadowCasting(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_IsShadowCasting" "', argument " "1"" of type '" "iGeneralMeshCommonState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    result = (bool)((iGeneralMeshCommonState const *)arg1)->IsShadowCasting();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_SetShadowReceiving) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_SetShadowReceiving(self,m);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_SetShadowReceiving" "', argument " "1"" of type '" "iGeneralMeshCommonState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralMeshCommonState_SetShadowReceiving" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetShadowReceiving(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_IsShadowReceiving) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_IsShadowReceiving(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_IsShadowReceiving" "', argument " "1"" of type '" "iGeneralMeshCommonState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    result = (bool)((iGeneralMeshCommonState const *)arg1)->IsShadowReceiving();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_AddRenderBuffer) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    char *arg2 = (char *) 0 ;
    iRenderBuffer *arg3 = (iRenderBuffer *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_AddRenderBuffer(self,name,buffer);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_AddRenderBuffer" "', argument " "1"" of type '" "iGeneralMeshCommonState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralMeshCommonState_AddRenderBuffer" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRenderBuffer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGeneralMeshCommonState_AddRenderBuffer" "', argument " "3"" of type '" "iRenderBuffer *""'"); 
    }
    arg3 = reinterpret_cast< iRenderBuffer * >(argp3);
    result = (bool)(arg1)->AddRenderBuffer((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_RemoveRenderBuffer) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_RemoveRenderBuffer(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_RemoveRenderBuffer" "', argument " "1"" of type '" "iGeneralMeshCommonState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralMeshCommonState_RemoveRenderBuffer" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->RemoveRenderBuffer((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_GetRenderBufferCount) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_GetRenderBufferCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_GetRenderBufferCount" "', argument " "1"" of type '" "iGeneralMeshCommonState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    result = (int)((iGeneralMeshCommonState const *)arg1)->GetRenderBufferCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_GetRenderBuffer) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    int arg2 ;
    SwigValueWrapper<csRef<iRenderBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_GetRenderBuffer(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_GetRenderBuffer" "', argument " "1"" of type '" "iGeneralMeshCommonState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralMeshCommonState_GetRenderBuffer" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->GetRenderBuffer(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iRenderBuffer >(static_cast< const csRef<iRenderBuffer >& >(result))), SWIGTYPE_p_csRefTiRenderBuffer_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshCommonState_GetRenderBufferName) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    int arg2 ;
    SwigValueWrapper<csRef<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshCommonState_GetRenderBufferName(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshCommonState_GetRenderBufferName" "', argument " "1"" of type '" "iGeneralMeshCommonState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralMeshCommonState_GetRenderBufferName" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = ((iGeneralMeshCommonState const *)arg1)->GetRenderBufferName(arg2);
    {
      csRef<iString> rf ((csRef<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iGeneralMeshCommonState) {
  {
    iGeneralMeshCommonState *arg1 = (iGeneralMeshCommonState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGeneralMeshCommonState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshCommonState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGeneralMeshCommonState" "', argument " "1"" of type '" "iGeneralMeshCommonState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshCommonState * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshState_SetAnimationControl) {
  {
    iGeneralMeshState *arg1 = (iGeneralMeshState *) 0 ;
    iGenMeshAnimationControl *arg2 = (iGenMeshAnimationControl *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshState_SetAnimationControl(self,anim_ctrl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshState_SetAnimationControl" "', argument " "1"" of type '" "iGeneralMeshState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralMeshState_SetAnimationControl" "', argument " "2"" of type '" "iGenMeshAnimationControl *""'"); 
    }
    arg2 = reinterpret_cast< iGenMeshAnimationControl * >(argp2);
    (arg1)->SetAnimationControl(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshState_GetAnimationControl) {
  {
    iGeneralMeshState *arg1 = (iGeneralMeshState *) 0 ;
    iGenMeshAnimationControl *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralMeshState_GetAnimationControl(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshState_GetAnimationControl" "', argument " "1"" of type '" "iGeneralMeshState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshState * >(argp1);
    result = (iGenMeshAnimationControl *)((iGeneralMeshState const *)arg1)->GetAnimationControl();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGenMeshAnimationControl, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshState_FindSubMesh) {
  {
    iGeneralMeshState *arg1 = (iGeneralMeshState *) 0 ;
    char *arg2 = (char *) 0 ;
    iGeneralMeshSubMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralMeshState_FindSubMesh(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshState_FindSubMesh" "', argument " "1"" of type '" "iGeneralMeshState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralMeshState_FindSubMesh" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iGeneralMeshSubMesh *)((iGeneralMeshState const *)arg1)->FindSubMesh((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGeneralMeshSubMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshState_AddSubMesh__SWIG_0) {
  {
    iGeneralMeshState *arg1 = (iGeneralMeshState *) 0 ;
    unsigned int *arg2 = (unsigned int *) 0 ;
    int arg3 ;
    iMaterialWrapper *arg4 = (iMaterialWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGeneralMeshState_AddSubMesh(self,triangles,tricount,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "1"" of type '" "iGeneralMeshState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_unsigned_int, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "2"" of type '" "unsigned int *""'"); 
    }
    arg2 = reinterpret_cast< unsigned int * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "4"" of type '" "iMaterialWrapper *""'"); 
    }
    arg4 = reinterpret_cast< iMaterialWrapper * >(argp4);
    (arg1)->AddSubMesh(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshState_AddSubMesh__SWIG_1) {
  {
    iGeneralMeshState *arg1 = (iGeneralMeshState *) 0 ;
    unsigned int *arg2 = (unsigned int *) 0 ;
    int arg3 ;
    iMaterialWrapper *arg4 = (iMaterialWrapper *) 0 ;
    uint arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    unsigned int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGeneralMeshState_AddSubMesh(self,triangles,tricount,material,mixmode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "1"" of type '" "iGeneralMeshState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_unsigned_int, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "2"" of type '" "unsigned int *""'"); 
    }
    arg2 = reinterpret_cast< unsigned int * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "4"" of type '" "iMaterialWrapper *""'"); 
    }
    arg4 = reinterpret_cast< iMaterialWrapper * >(argp4);
    ecode5 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGeneralMeshState_AddSubMesh" "', argument " "5"" of type '" "uint""'");
    } 
    arg5 = static_cast< uint >(val5);
    (arg1)->AddSubMesh(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshState_AddSubMesh) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralMeshState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_unsigned_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iMaterialWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralMeshState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_unsigned_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iMaterialWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralMeshState_AddSubMesh__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralMeshState_AddSubMesh__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iGeneralMeshState_AddSubMesh'");
  XSRETURN(0);
}


XS(_wrap_delete_iGeneralMeshState) {
  {
    iGeneralMeshState *arg1 = (iGeneralMeshState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGeneralMeshState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralMeshState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGeneralMeshState" "', argument " "1"" of type '" "iGeneralMeshState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralMeshState * >(argp1);
    delete_iGeneralMeshState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralMeshState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iGeneralMeshState_scfGetVersion();");
    }
    result = (int)iGeneralMeshState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_SetColor) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csColor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_SetColor(self,col);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_SetColor" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_SetColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_SetColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    (arg1)->SetColor((csColor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetColor) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetColor" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    {
      csColor const &_result_ref = ((iGeneralFactoryState const *)arg1)->GetColor();
      result = (csColor *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_AddVertex) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csColor4 *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGeneralFactoryState_AddVertex(self,v,uv,normal,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_AddVertex" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_AddVertex" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_AddVertex" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGeneralFactoryState_AddVertex" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_AddVertex" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGeneralFactoryState_AddVertex" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_AddVertex" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGeneralFactoryState_AddVertex" "', argument " "5"" of type '" "csColor4 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_AddVertex" "', argument " "5"" of type '" "csColor4 const &""'"); 
    }
    arg5 = reinterpret_cast< csColor4 * >(argp5);
    (arg1)->AddVertex((csVector3 const &)*arg2,(csVector2 const &)*arg3,(csVector3 const &)*arg4,(csColor4 const &)*arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_SetVertexCount) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_SetVertexCount(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_SetVertexCount" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_SetVertexCount" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetVertexCount(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetVertexCount) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetVertexCount" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    result = (int)((iGeneralFactoryState const *)arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_AddTriangle) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csTriangle *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_AddTriangle(self,tri);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_AddTriangle" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csTriangle,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_AddTriangle" "', argument " "2"" of type '" "csTriangle const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_AddTriangle" "', argument " "2"" of type '" "csTriangle const &""'"); 
    }
    arg2 = reinterpret_cast< csTriangle * >(argp2);
    (arg1)->AddTriangle((csTriangle const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_SetTriangleCount) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_SetTriangleCount(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_SetTriangleCount" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_SetTriangleCount" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetTriangleCount(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetTriangleCount) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetTriangleCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetTriangleCount" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    result = (int)((iGeneralFactoryState const *)arg1)->GetTriangleCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_Invalidate) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_Invalidate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_Invalidate" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    (arg1)->Invalidate();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_CalculateNormals__SWIG_0) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_CalculateNormals(self,compress);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_CalculateNormals" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_CalculateNormals" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->CalculateNormals(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_CalculateNormals__SWIG_1) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_CalculateNormals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_CalculateNormals" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    (arg1)->CalculateNormals();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_CalculateNormals) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralFactoryState_CalculateNormals__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralFactoryState_CalculateNormals__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iGeneralFactoryState_CalculateNormals'");
  XSRETURN(0);
}


XS(_wrap_iGeneralFactoryState_Compress) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_Compress(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_Compress" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    (arg1)->Compress();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GenerateBox) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_GenerateBox(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GenerateBox" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_GenerateBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_GenerateBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->GenerateBox((csBox3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GenerateSphere__SWIG_0) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csEllipsoid *arg2 = 0 ;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iGeneralFactoryState_GenerateSphere(self,ellips,rim_vertices,cyl_mapping,toponly,reversed);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csEllipsoid,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "2"" of type '" "csEllipsoid const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "2"" of type '" "csEllipsoid const &""'"); 
    }
    arg2 = reinterpret_cast< csEllipsoid * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    (arg1)->GenerateSphere((csEllipsoid const &)*arg2,arg3,arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GenerateSphere__SWIG_1) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csEllipsoid *arg2 = 0 ;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGeneralFactoryState_GenerateSphere(self,ellips,rim_vertices,cyl_mapping,toponly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csEllipsoid,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "2"" of type '" "csEllipsoid const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "2"" of type '" "csEllipsoid const &""'"); 
    }
    arg2 = reinterpret_cast< csEllipsoid * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    (arg1)->GenerateSphere((csEllipsoid const &)*arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GenerateSphere__SWIG_2) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csEllipsoid *arg2 = 0 ;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGeneralFactoryState_GenerateSphere(self,ellips,rim_vertices,cyl_mapping);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csEllipsoid,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "2"" of type '" "csEllipsoid const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "2"" of type '" "csEllipsoid const &""'"); 
    }
    arg2 = reinterpret_cast< csEllipsoid * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->GenerateSphere((csEllipsoid const &)*arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GenerateSphere__SWIG_3) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    csEllipsoid *arg2 = 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGeneralFactoryState_GenerateSphere(self,ellips,rim_vertices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csEllipsoid,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "2"" of type '" "csEllipsoid const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "2"" of type '" "csEllipsoid const &""'"); 
    }
    arg2 = reinterpret_cast< csEllipsoid * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGeneralFactoryState_GenerateSphere" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->GenerateSphere((csEllipsoid const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GenerateSphere) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csEllipsoid, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csEllipsoid, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csEllipsoid, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csEllipsoid, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralFactoryState_GenerateSphere__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralFactoryState_GenerateSphere__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralFactoryState_GenerateSphere__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralFactoryState_GenerateSphere__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iGeneralFactoryState_GenerateSphere'");
  XSRETURN(0);
}


XS(_wrap_iGeneralFactoryState_SetBack2Front) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_SetBack2Front(self,b2f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_SetBack2Front" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_SetBack2Front" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetBack2Front(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_IsAutoNormals) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_IsAutoNormals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_IsAutoNormals" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    result = (bool)((iGeneralFactoryState const *)arg1)->IsAutoNormals();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_IsBack2Front) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_IsBack2Front(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_IsBack2Front" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    result = (bool)((iGeneralFactoryState const *)arg1)->IsBack2Front();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_SetAnimationControlFactory) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    iGenMeshAnimationControlFactory *arg2 = (iGenMeshAnimationControlFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_SetAnimationControlFactory(self,anim_ctrl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_SetAnimationControlFactory" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGenMeshAnimationControlFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_SetAnimationControlFactory" "', argument " "2"" of type '" "iGenMeshAnimationControlFactory *""'"); 
    }
    arg2 = reinterpret_cast< iGenMeshAnimationControlFactory * >(argp2);
    (arg1)->SetAnimationControlFactory(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetAnimationControlFactory) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    iGenMeshAnimationControlFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetAnimationControlFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetAnimationControlFactory" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    result = (iGenMeshAnimationControlFactory *)((iGeneralFactoryState const *)arg1)->GetAnimationControlFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGenMeshAnimationControlFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_ClearSubMeshes) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_ClearSubMeshes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_ClearSubMeshes" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    (arg1)->ClearSubMeshes();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_AddSubMesh__SWIG_0) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    iRenderBuffer *arg2 = (iRenderBuffer *) 0 ;
    iMaterialWrapper *arg3 = (iMaterialWrapper *) 0 ;
    char *arg4 = (char *) 0 ;
    uint arg5 ;
    iGeneralMeshSubMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    unsigned int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGeneralFactoryState_AddSubMesh(self,indices,material,name,mixmode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "2"" of type '" "iRenderBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iRenderBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "3"" of type '" "iMaterialWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMaterialWrapper * >(argp3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    ecode5 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "5"" of type '" "uint""'");
    } 
    arg5 = static_cast< uint >(val5);
    result = (iGeneralMeshSubMesh *)(arg1)->AddSubMesh(arg2,arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGeneralMeshSubMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_AddSubMesh__SWIG_1) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    iRenderBuffer *arg2 = (iRenderBuffer *) 0 ;
    iMaterialWrapper *arg3 = (iMaterialWrapper *) 0 ;
    char *arg4 = (char *) 0 ;
    iGeneralMeshSubMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGeneralFactoryState_AddSubMesh(self,indices,material,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRenderBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "2"" of type '" "iRenderBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iRenderBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "3"" of type '" "iMaterialWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMaterialWrapper * >(argp3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGeneralFactoryState_AddSubMesh" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = (iGeneralMeshSubMesh *)(arg1)->AddSubMesh(arg2,arg3,(char const *)arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGeneralMeshSubMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_AddSubMesh) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRenderBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iMaterialWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGeneralFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRenderBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iMaterialWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralFactoryState_AddSubMesh__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGeneralFactoryState_AddSubMesh__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iGeneralFactoryState_AddSubMesh'");
  XSRETURN(0);
}


XS(_wrap_iGeneralFactoryState_FindSubMesh) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    iGeneralMeshSubMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_FindSubMesh(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_FindSubMesh" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_FindSubMesh" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iGeneralMeshSubMesh *)((iGeneralFactoryState const *)arg1)->FindSubMesh((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGeneralMeshSubMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_DeleteSubMesh) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    iGeneralMeshSubMesh *arg2 = (iGeneralMeshSubMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_DeleteSubMesh(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_DeleteSubMesh" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGeneralMeshSubMesh, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGeneralFactoryState_DeleteSubMesh" "', argument " "2"" of type '" "iGeneralMeshSubMesh *""'"); 
    }
    arg2 = reinterpret_cast< iGeneralMeshSubMesh * >(argp2);
    (arg1)->DeleteSubMesh(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetSubMeshCount) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetSubMeshCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetSubMeshCount" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    result = ((iGeneralFactoryState const *)arg1)->GetSubMeshCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetSubMesh) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    size_t arg2 ;
    iGeneralMeshSubMesh *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetSubMesh(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetSubMesh" "', argument " "1"" of type '" "iGeneralFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_GetSubMesh" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iGeneralMeshSubMesh *)((iGeneralFactoryState const *)arg1)->GetSubMesh(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGeneralMeshSubMesh, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_DisableAutoNormals) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGeneralFactoryState_DisableAutoNormals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_DisableAutoNormals" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    (arg1)->DisableAutoNormals();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iGeneralFactoryState) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGeneralFactoryState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGeneralFactoryState" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    delete_iGeneralFactoryState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iGeneralFactoryState_scfGetVersion();");
    }
    result = (int)iGeneralFactoryState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetVertexByIndex) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetVertexByIndex(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetVertexByIndex" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_GetVertexByIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csVector3 *)iGeneralFactoryState_GetVertexByIndex(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetTexelByIndex) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int arg2 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetTexelByIndex(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetTexelByIndex" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_GetTexelByIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csVector2 *)iGeneralFactoryState_GetTexelByIndex(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetNormalByIndex) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetNormalByIndex(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetNormalByIndex" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_GetNormalByIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csVector3 *)iGeneralFactoryState_GetNormalByIndex(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetTriangleByIndex) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int arg2 ;
    csTriangle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetTriangleByIndex(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetTriangleByIndex" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_GetTriangleByIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csTriangle *)iGeneralFactoryState_GetTriangleByIndex(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTriangle, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGeneralFactoryState_GetColorByIndex) {
  {
    iGeneralFactoryState *arg1 = (iGeneralFactoryState *) 0 ;
    int arg2 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGeneralFactoryState_GetColorByIndex(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGeneralFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGeneralFactoryState_GetColorByIndex" "', argument " "1"" of type '" "iGeneralFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iGeneralFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGeneralFactoryState_GetColorByIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csColor *)iGeneralFactoryState_GetColorByIndex(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_AnimatesVertices) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_AnimatesVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_AnimatesVertices" "', argument " "1"" of type '" "iGenMeshAnimationControl const *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    result = (bool)((iGenMeshAnimationControl const *)arg1)->AnimatesVertices();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_AnimatesTexels) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_AnimatesTexels(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_AnimatesTexels" "', argument " "1"" of type '" "iGenMeshAnimationControl const *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    result = (bool)((iGenMeshAnimationControl const *)arg1)->AnimatesTexels();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_AnimatesNormals) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_AnimatesNormals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_AnimatesNormals" "', argument " "1"" of type '" "iGenMeshAnimationControl const *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    result = (bool)((iGenMeshAnimationControl const *)arg1)->AnimatesNormals();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_AnimatesColors) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_AnimatesColors(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_AnimatesColors" "', argument " "1"" of type '" "iGenMeshAnimationControl const *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    result = (bool)((iGenMeshAnimationControl const *)arg1)->AnimatesColors();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_Update) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    csTicks arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_Update(self,current);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_Update" "', argument " "1"" of type '" "iGenMeshAnimationControl *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGenMeshAnimationControl_Update" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    (arg1)->Update(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_UpdateVertices) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    csTicks arg2 ;
    csVector3 *arg3 = (csVector3 *) 0 ;
    int arg4 ;
    uint32 arg5 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_UpdateVertices(self,current,verts,num_verts,version_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_UpdateVertices" "', argument " "1"" of type '" "iGenMeshAnimationControl *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGenMeshAnimationControl_UpdateVertices" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGenMeshAnimationControl_UpdateVertices" "', argument " "3"" of type '" "csVector3 const *""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGenMeshAnimationControl_UpdateVertices" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    {
      res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res5)) {
        SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGenMeshAnimationControl_UpdateVertices" "', argument " "5"" of type '" "uint32""'"); 
      }  
      if (!argp5) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGenMeshAnimationControl_UpdateVertices" "', argument " "5"" of type '" "uint32""'");
      } else {
        arg5 = *(reinterpret_cast< uint32 * >(argp5));
      }
    }
    result = (csVector3 *)(arg1)->UpdateVertices(arg2,(csVector3 const *)arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_UpdateTexels) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    csTicks arg2 ;
    csVector2 *arg3 = (csVector2 *) 0 ;
    int arg4 ;
    uint32 arg5 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_UpdateTexels(self,current,texels,num_texels,version_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_UpdateTexels" "', argument " "1"" of type '" "iGenMeshAnimationControl *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGenMeshAnimationControl_UpdateTexels" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGenMeshAnimationControl_UpdateTexels" "', argument " "3"" of type '" "csVector2 const *""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGenMeshAnimationControl_UpdateTexels" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    {
      res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res5)) {
        SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGenMeshAnimationControl_UpdateTexels" "', argument " "5"" of type '" "uint32""'"); 
      }  
      if (!argp5) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGenMeshAnimationControl_UpdateTexels" "', argument " "5"" of type '" "uint32""'");
      } else {
        arg5 = *(reinterpret_cast< uint32 * >(argp5));
      }
    }
    result = (csVector2 *)(arg1)->UpdateTexels(arg2,(csVector2 const *)arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_UpdateNormals) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    csTicks arg2 ;
    csVector3 *arg3 = (csVector3 *) 0 ;
    int arg4 ;
    uint32 arg5 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_UpdateNormals(self,current,normals,num_normals,version_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_UpdateNormals" "', argument " "1"" of type '" "iGenMeshAnimationControl *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGenMeshAnimationControl_UpdateNormals" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGenMeshAnimationControl_UpdateNormals" "', argument " "3"" of type '" "csVector3 const *""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGenMeshAnimationControl_UpdateNormals" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    {
      res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res5)) {
        SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGenMeshAnimationControl_UpdateNormals" "', argument " "5"" of type '" "uint32""'"); 
      }  
      if (!argp5) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGenMeshAnimationControl_UpdateNormals" "', argument " "5"" of type '" "uint32""'");
      } else {
        arg5 = *(reinterpret_cast< uint32 * >(argp5));
      }
    }
    result = (csVector3 *)(arg1)->UpdateNormals(arg2,(csVector3 const *)arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControl_UpdateColors) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    csTicks arg2 ;
    csColor4 *arg3 = (csColor4 *) 0 ;
    int arg4 ;
    uint32 arg5 ;
    csColor4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGenMeshAnimationControl_UpdateColors(self,current,colors,num_colors,version_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControl_UpdateColors" "', argument " "1"" of type '" "iGenMeshAnimationControl *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGenMeshAnimationControl_UpdateColors" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGenMeshAnimationControl_UpdateColors" "', argument " "3"" of type '" "csColor4 const *""'"); 
    }
    arg3 = reinterpret_cast< csColor4 * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGenMeshAnimationControl_UpdateColors" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    {
      res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res5)) {
        SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGenMeshAnimationControl_UpdateColors" "', argument " "5"" of type '" "uint32""'"); 
      }  
      if (!argp5) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGenMeshAnimationControl_UpdateColors" "', argument " "5"" of type '" "uint32""'");
      } else {
        arg5 = *(reinterpret_cast< uint32 * >(argp5));
      }
    }
    result = (csColor4 *)(arg1)->UpdateColors(arg2,(csColor4 const *)arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iGenMeshAnimationControl) {
  {
    iGenMeshAnimationControl *arg1 = (iGenMeshAnimationControl *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGenMeshAnimationControl(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControl, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGenMeshAnimationControl" "', argument " "1"" of type '" "iGenMeshAnimationControl *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControl * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControlFactory_CreateAnimationControl) {
  {
    iGenMeshAnimationControlFactory *arg1 = (iGenMeshAnimationControlFactory *) 0 ;
    iMeshObject *arg2 = (iMeshObject *) 0 ;
    SwigValueWrapper<csPtr<iGenMeshAnimationControl > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGenMeshAnimationControlFactory_CreateAnimationControl(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControlFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControlFactory_CreateAnimationControl" "', argument " "1"" of type '" "iGenMeshAnimationControlFactory *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControlFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGenMeshAnimationControlFactory_CreateAnimationControl" "', argument " "2"" of type '" "iMeshObject *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObject * >(argp2);
    result = (arg1)->CreateAnimationControl(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iGenMeshAnimationControl >(static_cast< const csPtr<iGenMeshAnimationControl >& >(result))), SWIGTYPE_p_csPtrTiGenMeshAnimationControl_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControlFactory_Load) {
  {
    iGenMeshAnimationControlFactory *arg1 = (iGenMeshAnimationControlFactory *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGenMeshAnimationControlFactory_Load(self,node);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControlFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControlFactory_Load" "', argument " "1"" of type '" "iGenMeshAnimationControlFactory *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControlFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGenMeshAnimationControlFactory_Load" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (char *)(arg1)->Load(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControlFactory_Save) {
  {
    iGenMeshAnimationControlFactory *arg1 = (iGenMeshAnimationControlFactory *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGenMeshAnimationControlFactory_Save(self,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControlFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControlFactory_Save" "', argument " "1"" of type '" "iGenMeshAnimationControlFactory *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControlFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGenMeshAnimationControlFactory_Save" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (char *)(arg1)->Save(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iGenMeshAnimationControlFactory) {
  {
    iGenMeshAnimationControlFactory *arg1 = (iGenMeshAnimationControlFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGenMeshAnimationControlFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControlFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGenMeshAnimationControlFactory" "', argument " "1"" of type '" "iGenMeshAnimationControlFactory *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControlFactory * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshAnimationControlType_CreateAnimationControlFactory) {
  {
    iGenMeshAnimationControlType *arg1 = (iGenMeshAnimationControlType *) 0 ;
    SwigValueWrapper<csPtr<iGenMeshAnimationControlFactory > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshAnimationControlType_CreateAnimationControlFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControlType, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshAnimationControlType_CreateAnimationControlFactory" "', argument " "1"" of type '" "iGenMeshAnimationControlType *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControlType * >(argp1);
    result = (arg1)->CreateAnimationControlFactory();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iGenMeshAnimationControlFactory >(static_cast< const csPtr<iGenMeshAnimationControlFactory >& >(result))), SWIGTYPE_p_csPtrTiGenMeshAnimationControlFactory_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iGenMeshAnimationControlType) {
  {
    iGenMeshAnimationControlType *arg1 = (iGenMeshAnimationControlType *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGenMeshAnimationControlType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshAnimationControlType, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGenMeshAnimationControlType" "', argument " "1"" of type '" "iGenMeshAnimationControlType *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshAnimationControlType * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetName) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetName" "', argument " "1"" of type '" "iSkeletonBone const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    result = (char *)((iSkeletonBone const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_SetName) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_SetName" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBone_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetTransform) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetTransform" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_SetTransform) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_SetTransform(self,transform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_SetTransform" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBone_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBone_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->SetTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetFullTransform) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetFullTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetFullTransform" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetFullTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_SetParent) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    iSkeletonBone *arg2 = (iSkeletonBone *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_SetParent(self,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_SetParent" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBone_SetParent" "', argument " "2"" of type '" "iSkeletonBone *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBone * >(argp2);
    (arg1)->SetParent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetParent) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    iSkeletonBone *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetParent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetParent" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    result = (iSkeletonBone *)(arg1)->GetParent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBone, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetChildrenCount) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetChildrenCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetChildrenCount" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    result = (int)(arg1)->GetChildrenCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetChild) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    size_t arg2 ;
    iSkeletonBone *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_GetChild(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetChild" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBone_GetChild" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSkeletonBone *)(arg1)->GetChild(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBone, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_FindChild) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonBone *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_FindChild(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_FindChild" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBone_FindChild" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonBone *)(arg1)->FindChild((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBone, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_FindChildIndex) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    iSkeletonBone *arg2 = (iSkeletonBone *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_FindChildIndex(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_FindChildIndex" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBone_FindChildIndex" "', argument " "2"" of type '" "iSkeletonBone *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBone * >(argp2);
    result = (arg1)->FindChildIndex(arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_SetSkinBox) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_SetSkinBox(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_SetSkinBox" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBone_SetSkinBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBone_SetSkinBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->SetSkinBox(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetSkinBox) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetSkinBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetSkinBox" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    {
      csBox3 &_result_ref = (arg1)->GetSkinBox();
      result = (csBox3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_SetUpdateCallback) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    iSkeletonBoneUpdateCallback *arg2 = (iSkeletonBoneUpdateCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_SetUpdateCallback(self,callback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_SetUpdateCallback" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBone_SetUpdateCallback" "', argument " "2"" of type '" "iSkeletonBoneUpdateCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneUpdateCallback * >(argp2);
    (arg1)->SetUpdateCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetUpdateCallback) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    iSkeletonBoneUpdateCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetUpdateCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetUpdateCallback" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    result = (iSkeletonBoneUpdateCallback *)(arg1)->GetUpdateCallback();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneUpdateCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetFactory) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    iSkeletonBoneFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetFactory" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    result = (iSkeletonBoneFactory *)(arg1)->GetFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_SetTransformMode) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    csBoneTransformType arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBone_SetTransformMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_SetTransformMode" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBone_SetTransformMode" "', argument " "2"" of type '" "csBoneTransformType""'");
    } 
    arg2 = static_cast< csBoneTransformType >(val2);
    (arg1)->SetTransformMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_GetTransformMode) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    csBoneTransformType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBone_GetTransformMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBone_GetTransformMode" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    result = (csBoneTransformType)(arg1)->GetTransformMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonBone) {
  {
    iSkeletonBone *arg1 = (iSkeletonBone *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonBone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBone, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonBone" "', argument " "1"" of type '" "iSkeletonBone *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBone * >(argp1);
    delete_iSkeletonBone(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBone_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonBone_scfGetVersion();");
    }
    result = (int)iSkeletonBone_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneUpdateCallback_UpdateTransform) {
  {
    iSkeletonBoneUpdateCallback *arg1 = (iSkeletonBoneUpdateCallback *) 0 ;
    iSkeletonBone *arg2 = (iSkeletonBone *) 0 ;
    csReversibleTransform *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSkeletonBoneUpdateCallback_UpdateTransform(self,bone,transform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneUpdateCallback_UpdateTransform" "', argument " "1"" of type '" "iSkeletonBoneUpdateCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneUpdateCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneUpdateCallback_UpdateTransform" "', argument " "2"" of type '" "iSkeletonBone *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBone * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSkeletonBoneUpdateCallback_UpdateTransform" "', argument " "3"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBoneUpdateCallback_UpdateTransform" "', argument " "3"" of type '" "csReversibleTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    (arg1)->UpdateTransform(arg2,(csReversibleTransform const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonBoneUpdateCallback) {
  {
    iSkeletonBoneUpdateCallback *arg1 = (iSkeletonBoneUpdateCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonBoneUpdateCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneUpdateCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonBoneUpdateCallback" "', argument " "1"" of type '" "iSkeletonBoneUpdateCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneUpdateCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_GetName) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_GetName" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    result = (char *)((iSkeletonScriptKeyFrame const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_SetName) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_SetName" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScriptKeyFrame_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_GetDuration) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    csTicks result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_GetDuration(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_GetDuration" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    result = (csTicks)(arg1)->GetDuration();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_SetDuration) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    csTicks arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_SetDuration(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_SetDuration" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonScriptKeyFrame_SetDuration" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    (arg1)->SetDuration(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_GetTransformsCount) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_GetTransformsCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_GetTransformsCount" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    result = (arg1)->GetTransformsCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_AddTransform__SWIG_0) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    iSkeletonBoneFactory *arg2 = (iSkeletonBoneFactory *) 0 ;
    csReversibleTransform *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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_AddTransform(self,bone,transform,relative);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "2"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneFactory * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->AddTransform(arg2,*arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_AddTransform__SWIG_1) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    iSkeletonBoneFactory *arg2 = (iSkeletonBoneFactory *) 0 ;
    csReversibleTransform *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_AddTransform(self,bone,transform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "2"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneFactory * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonScriptKeyFrame_AddTransform" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    (arg1)->AddTransform(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_AddTransform) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSkeletonScriptKeyFrame, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSkeletonBoneFactory, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSkeletonScriptKeyFrame, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSkeletonBoneFactory, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSkeletonScriptKeyFrame_AddTransform__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSkeletonScriptKeyFrame_AddTransform__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSkeletonScriptKeyFrame_AddTransform'");
  XSRETURN(0);
}


XS(_wrap_iSkeletonScriptKeyFrame_GetTransform) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    iSkeletonBoneFactory *arg2 = (iSkeletonBoneFactory *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_GetTransform(self,bone);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_GetTransform" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScriptKeyFrame_GetTransform" "', argument " "2"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneFactory * >(argp2);
    {
      csReversibleTransform &_result_ref = (arg1)->GetTransform(arg2);
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_SetTransform) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    iSkeletonBoneFactory *arg2 = (iSkeletonBoneFactory *) 0 ;
    csReversibleTransform *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_SetTransform(self,bone,transform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_SetTransform" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScriptKeyFrame_SetTransform" "', argument " "2"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneFactory * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSkeletonScriptKeyFrame_SetTransform" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonScriptKeyFrame_SetTransform" "', argument " "3"" of type '" "csReversibleTransform &""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    (arg1)->SetTransform(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_GetKeyFrameData) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    iSkeletonBoneFactory *arg2 = (iSkeletonBoneFactory *) 0 ;
    csQuaternion *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csQuaternion *arg5 = 0 ;
    bool *arg6 = 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 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_GetKeyFrameData(self,bone_fact,rot,pos,tangent,relative);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "2"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneFactory * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "3"" of type '" "csQuaternion &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "3"" of type '" "csQuaternion &""'"); 
    }
    arg3 = reinterpret_cast< csQuaternion * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csQuaternion,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "5"" of type '" "csQuaternion &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "5"" of type '" "csQuaternion &""'"); 
    }
    arg5 = reinterpret_cast< csQuaternion * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "6"" of type '" "bool &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonScriptKeyFrame_GetKeyFrameData" "', argument " "6"" of type '" "bool &""'"); 
    }
    arg6 = reinterpret_cast< bool * >(argp6);
    (arg1)->GetKeyFrameData(arg2,*arg3,*arg4,*arg5,*arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonScriptKeyFrame) {
  {
    iSkeletonScriptKeyFrame *arg1 = (iSkeletonScriptKeyFrame *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonScriptKeyFrame(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptKeyFrame, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonScriptKeyFrame" "', argument " "1"" of type '" "iSkeletonScriptKeyFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptKeyFrame * >(argp1);
    delete_iSkeletonScriptKeyFrame(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptKeyFrame_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonScriptKeyFrame_scfGetVersion();");
    }
    result = (int)iSkeletonScriptKeyFrame_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_GetName) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScript_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_GetName" "', argument " "1"" of type '" "iSkeletonScript const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    result = (char *)((iSkeletonScript const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_SetName) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_SetName" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScript_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_GetTime) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    csTicks result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScript_GetTime(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_GetTime" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    result = (csTicks)(arg1)->GetTime();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_SetTime) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    csTicks arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_SetTime(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_SetTime" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonScript_SetTime" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    (arg1)->SetTime(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_GetSpeed) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScript_GetSpeed(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_GetSpeed" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    result = (float)(arg1)->GetSpeed();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_SetSpeed) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_SetSpeed(self,speed);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_SetSpeed" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonScript_SetSpeed" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetSpeed(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_SetFactor) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_SetFactor(self,factor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_SetFactor" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonScript_SetFactor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetFactor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_GetFactor) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScript_GetFactor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_GetFactor" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    result = (float)(arg1)->GetFactor();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_SetLoop) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_SetLoop(self,loop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_SetLoop" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonScript_SetLoop" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetLoop(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_GetLoop) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScript_GetLoop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_GetLoop" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    result = (bool)(arg1)->GetLoop();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_CreateFrame) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonScriptKeyFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_CreateFrame(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_CreateFrame" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScript_CreateFrame" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonScriptKeyFrame *)(arg1)->CreateFrame((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_GetFramesCount) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScript_GetFramesCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_GetFramesCount" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    result = (arg1)->GetFramesCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_GetFrame) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    size_t arg2 ;
    iSkeletonScriptKeyFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_GetFrame(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_GetFrame" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonScript_GetFrame" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSkeletonScriptKeyFrame *)(arg1)->GetFrame(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonScriptKeyFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_FindFrameIndex) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_FindFrameIndex(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_FindFrameIndex" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScript_FindFrameIndex" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->FindFrameIndex((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_RemoveFrame) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScript_RemoveFrame(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_RemoveFrame" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonScript_RemoveFrame" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->RemoveFrame(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_RecalcSpline) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonScript_RecalcSpline(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScript_RecalcSpline" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    (arg1)->RecalcSpline();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonScript) {
  {
    iSkeletonScript *arg1 = (iSkeletonScript *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonScript(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScript, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonScript" "', argument " "1"" of type '" "iSkeletonScript *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScript * >(argp1);
    delete_iSkeletonScript(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScript_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonScript_scfGetVersion();");
    }
    result = (int)iSkeletonScript_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptCallback_Execute) {
  {
    iSkeletonScriptCallback *arg1 = (iSkeletonScriptCallback *) 0 ;
    iSkeletonScript *arg2 = (iSkeletonScript *) 0 ;
    size_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSkeletonScriptCallback_Execute(self,script,frame_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptCallback_Execute" "', argument " "1"" of type '" "iSkeletonScriptCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScriptCallback_Execute" "', argument " "2"" of type '" "iSkeletonScript *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonScript * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSkeletonScriptCallback_Execute" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    (arg1)->Execute(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonScriptCallback_OnFinish) {
  {
    iSkeletonScriptCallback *arg1 = (iSkeletonScriptCallback *) 0 ;
    iSkeletonScript *arg2 = (iSkeletonScript *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonScriptCallback_OnFinish(self,script);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonScriptCallback_OnFinish" "', argument " "1"" of type '" "iSkeletonScriptCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonScript, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonScriptCallback_OnFinish" "', argument " "2"" of type '" "iSkeletonScript *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonScript * >(argp2);
    (arg1)->OnFinish(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonScriptCallback) {
  {
    iSkeletonScriptCallback *arg1 = (iSkeletonScriptCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonScriptCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonScriptCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonScriptCallback" "', argument " "1"" of type '" "iSkeletonScriptCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonScriptCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonUpdateCallback_Execute) {
  {
    iSkeletonUpdateCallback *arg1 = (iSkeletonUpdateCallback *) 0 ;
    iSkeleton *arg2 = (iSkeleton *) 0 ;
    csTicks *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csTicks temp3 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSkeletonUpdateCallback_Execute(self,skeleton,current_ticks);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonUpdateCallback_Execute" "', argument " "1"" of type '" "iSkeletonUpdateCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonUpdateCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonUpdateCallback_Execute" "', argument " "2"" of type '" "iSkeleton *""'"); 
    }
    arg2 = reinterpret_cast< iSkeleton * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSkeletonUpdateCallback_Execute" "', argument " "3"" of type '" "csTicks""'");
    } 
    temp3 = static_cast< csTicks >(val3);
    arg3 = &temp3;
    (arg1)->Execute(arg2,(csTicks const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonUpdateCallback) {
  {
    iSkeletonUpdateCallback *arg1 = (iSkeletonUpdateCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonUpdateCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonUpdateCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonUpdateCallback" "', argument " "1"" of type '" "iSkeletonUpdateCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonUpdateCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_GetName) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeleton_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_GetName" "', argument " "1"" of type '" "iSkeleton const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    result = (char *)((iSkeleton const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_SetName) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_SetName" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_GetBonesCount) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeleton_GetBonesCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_GetBonesCount" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    result = (arg1)->GetBonesCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_GetBone) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    size_t arg2 ;
    iSkeletonBone *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_GetBone(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_GetBone" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeleton_GetBone" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSkeletonBone *)(arg1)->GetBone(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBone, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_FindBone) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonBone *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_FindBone(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_FindBone" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_FindBone" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonBone *)(arg1)->FindBone((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBone, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_FindBoneIndex) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_FindBoneIndex(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_FindBoneIndex" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_FindBoneIndex" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->FindBoneIndex((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_Execute) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonScript *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_Execute(self,scriptname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_Execute" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_Execute" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonScript *)(arg1)->Execute((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonScript, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_Append) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonScript *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_Append(self,scriptname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_Append" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_Append" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonScript *)(arg1)->Append((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonScript, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_ClearPendingScripts) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeleton_ClearPendingScripts(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_ClearPendingScripts" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    (arg1)->ClearPendingScripts();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_GetScriptsCount) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeleton_GetScriptsCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_GetScriptsCount" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    result = (arg1)->GetScriptsCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_GetScript) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    size_t arg2 ;
    iSkeletonScript *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_GetScript(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_GetScript" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeleton_GetScript" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSkeletonScript *)(arg1)->GetScript(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonScript, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_FindScript) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonScript *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_FindScript(self,scriptname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_FindScript" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_FindScript" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonScript *)(arg1)->FindScript((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonScript, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_FindSocket) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_FindSocket(self,socketname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_FindSocket" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_FindSocket" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonSocket *)(arg1)->FindSocket((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_StopAll) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeleton_StopAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_StopAll" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    (arg1)->StopAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_Stop) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_Stop(self,scriptname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_Stop" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_Stop" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->Stop((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_GetFactory) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    iSkeletonFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeleton_GetFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_GetFactory" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    result = (iSkeletonFactory *)(arg1)->GetFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_SetScriptCallback) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    iSkeletonScriptCallback *arg2 = (iSkeletonScriptCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_SetScriptCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_SetScriptCallback" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonScriptCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_SetScriptCallback" "', argument " "2"" of type '" "iSkeletonScriptCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonScriptCallback * >(argp2);
    (arg1)->SetScriptCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_AddUpdateCallback) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    iSkeletonUpdateCallback *arg2 = (iSkeletonUpdateCallback *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_AddUpdateCallback(self,update_callback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_AddUpdateCallback" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeleton_AddUpdateCallback" "', argument " "2"" of type '" "iSkeletonUpdateCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonUpdateCallback * >(argp2);
    result = (arg1)->AddUpdateCallback(arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_GetUpdateCallbacksCount) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeleton_GetUpdateCallbacksCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_GetUpdateCallbacksCount" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    result = (arg1)->GetUpdateCallbacksCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_GetUpdateCallback) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    size_t arg2 ;
    iSkeletonUpdateCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_GetUpdateCallback(self,callback_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_GetUpdateCallback" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeleton_GetUpdateCallback" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSkeletonUpdateCallback *)(arg1)->GetUpdateCallback(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonUpdateCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_RemoveUpdateCallback) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeleton_RemoveUpdateCallback(self,callback_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeleton_RemoveUpdateCallback" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeleton_RemoveUpdateCallback" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->RemoveUpdateCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeleton) {
  {
    iSkeleton *arg1 = (iSkeleton *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeleton(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeleton, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeleton" "', argument " "1"" of type '" "iSkeleton *""'"); 
    }
    arg1 = reinterpret_cast< iSkeleton * >(argp1);
    delete_iSkeleton(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeleton_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeleton_scfGetVersion();");
    }
    result = (int)iSkeleton_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_GetName) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocket_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_GetName" "', argument " "1"" of type '" "iSkeletonSocket const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    result = (char *)((iSkeletonSocket const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_SetName) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonSocket_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_SetName" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonSocket_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_GetTransform) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocket_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_GetTransform" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_SetTransform) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonSocket_SetTransform(self,transform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_SetTransform" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonSocket_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonSocket_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->SetTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_GetFullTransform) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocket_GetFullTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_GetFullTransform" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetFullTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_SetBone) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    iSkeletonBone *arg2 = (iSkeletonBone *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonSocket_SetBone(self,bone);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_SetBone" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBone, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonSocket_SetBone" "', argument " "2"" of type '" "iSkeletonBone *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBone * >(argp2);
    (arg1)->SetBone(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_GetBone) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    iSkeletonBone *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocket_GetBone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_GetBone" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    result = (iSkeletonBone *)(arg1)->GetBone();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBone, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_SetSceneNode) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    iSceneNode *arg2 = (iSceneNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonSocket_SetSceneNode(self,node);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_SetSceneNode" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSceneNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonSocket_SetSceneNode" "', argument " "2"" of type '" "iSceneNode *""'"); 
    }
    arg2 = reinterpret_cast< iSceneNode * >(argp2);
    (arg1)->SetSceneNode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_GetSceneNode) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    iSceneNode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocket_GetSceneNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_GetSceneNode" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    result = (iSceneNode *)(arg1)->GetSceneNode();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSceneNode, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_GetFactory) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    iSkeletonSocketFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocket_GetFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocket_GetFactory" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    result = (iSkeletonSocketFactory *)(arg1)->GetFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonSocketFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonSocket) {
  {
    iSkeletonSocket *arg1 = (iSkeletonSocket *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonSocket(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocket, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonSocket" "', argument " "1"" of type '" "iSkeletonSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocket * >(argp1);
    delete_iSkeletonSocket(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocket_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonSocket_scfGetVersion();");
    }
    result = (int)iSkeletonSocket_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetEnabled) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetEnabled(self,enabled);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetEnabled" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetEnabled" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetEnabled(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetEnabled) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetEnabled" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (bool)(arg1)->GetEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetAttachToParent) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetAttachToParent(self,attach);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetAttachToParent" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetAttachToParent" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetAttachToParent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetAttachToParent) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetAttachToParent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetAttachToParent" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (bool)(arg1)->GetAttachToParent();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetGeomName) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetGeomName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetGeomName" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneRagdollInfo_SetGeomName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetGeomName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetGeomName) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetGeomName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetGeomName" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (char *)(arg1)->GetGeomName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetGeomType) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetGeomType(self,geom_type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetGeomType" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetGeomType" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetGeomType(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetGeomType) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetGeomType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetGeomType" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (int)(arg1)->GetGeomType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetGeomDimensions) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetGeomDimensions(self,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetGeomDimensions" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneRagdollInfo_SetGeomDimensions" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBoneRagdollInfo_SetGeomDimensions" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetGeomDimensions(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetGeomDimensions) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetGeomDimensions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetGeomDimensions" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    {
      csVector3 &_result_ref = (arg1)->GetGeomDimensions();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetFriction) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetFriction(self,friction);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetFriction" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetFriction" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetFriction(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetFriction) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetFriction(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetFriction" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (float)(arg1)->GetFriction();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetElasticity) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetElasticity(self,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetElasticity" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetElasticity" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetElasticity(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetElasticity) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetElasticity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetElasticity" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (float)(arg1)->GetElasticity();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetSoftness) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetSoftness(self,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetSoftness" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetSoftness" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetSoftness(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetSoftness) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetSoftness(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetSoftness" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (float)(arg1)->GetSoftness();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetSlip) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetSlip(self,slip);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetSlip" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetSlip" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetSlip(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetSlip) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetSlip(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetSlip" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (float)(arg1)->GetSlip();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetBodyName) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetBodyName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetBodyName" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneRagdollInfo_SetBodyName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetBodyName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetBodyName) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetBodyName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetBodyName" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (char *)(arg1)->GetBodyName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetBodyMass) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetBodyMass(self,mass);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetBodyMass" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetBodyMass" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetBodyMass(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetBodyMass) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetBodyMass(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetBodyMass" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (float)(arg1)->GetBodyMass();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetBodyGravmode) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetBodyGravmode(self,gravmode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetBodyGravmode" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneRagdollInfo_SetBodyGravmode" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetBodyGravmode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetBodyGravmode) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetBodyGravmode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetBodyGravmode" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (int)(arg1)->GetBodyGravmode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetJointName) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetJointName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetJointName" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneRagdollInfo_SetJointName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetJointName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetJointName) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetJointName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetJointName" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    result = (char *)(arg1)->GetJointName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetJointMinRotContraints) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetJointMinRotContraints(self,constraints);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetJointMinRotContraints" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneRagdollInfo_SetJointMinRotContraints" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBoneRagdollInfo_SetJointMinRotContraints" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetJointMinRotContraints(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetJointMinRotContraints) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetJointMinRotContraints(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetJointMinRotContraints" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    {
      csVector3 &_result_ref = (arg1)->GetJointMinRotContraints();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetJointMaxRotContraints) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetJointMaxRotContraints(self,constraints);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetJointMaxRotContraints" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneRagdollInfo_SetJointMaxRotContraints" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBoneRagdollInfo_SetJointMaxRotContraints" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetJointMaxRotContraints(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetJointMaxRotContraints) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetJointMaxRotContraints(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetJointMaxRotContraints" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    {
      csVector3 &_result_ref = (arg1)->GetJointMaxRotContraints();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetJointMinTransContraints) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetJointMinTransContraints(self,constraints);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetJointMinTransContraints" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneRagdollInfo_SetJointMinTransContraints" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBoneRagdollInfo_SetJointMinTransContraints" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetJointMinTransContraints(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetJointMinTransContraints) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetJointMinTransContraints(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetJointMinTransContraints" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    {
      csVector3 &_result_ref = (arg1)->GetJointMinTransContraints();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_SetJointMaxTransContraints) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_SetJointMaxTransContraints(self,constraints);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_SetJointMaxTransContraints" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneRagdollInfo_SetJointMaxTransContraints" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBoneRagdollInfo_SetJointMaxTransContraints" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetJointMaxTransContraints(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_GetJointMaxTransContraints) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_GetJointMaxTransContraints(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneRagdollInfo_GetJointMaxTransContraints" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    {
      csVector3 &_result_ref = (arg1)->GetJointMaxTransContraints();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonBoneRagdollInfo) {
  {
    iSkeletonBoneRagdollInfo *arg1 = (iSkeletonBoneRagdollInfo *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonBoneRagdollInfo(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneRagdollInfo, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonBoneRagdollInfo" "', argument " "1"" of type '" "iSkeletonBoneRagdollInfo *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneRagdollInfo * >(argp1);
    delete_iSkeletonBoneRagdollInfo(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneRagdollInfo_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonBoneRagdollInfo_scfGetVersion();");
    }
    result = (int)iSkeletonBoneRagdollInfo_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_GetName) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_GetName" "', argument " "1"" of type '" "iSkeletonBoneFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    result = (char *)((iSkeletonBoneFactory const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_SetName) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_SetName" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneFactory_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_GetTransform) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_GetTransform" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_SetTransform) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_SetTransform(self,transform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_SetTransform" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneFactory_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBoneFactory_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->SetTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_GetFullTransform) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_GetFullTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_GetFullTransform" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetFullTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_SetParent) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    iSkeletonBoneFactory *arg2 = (iSkeletonBoneFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_SetParent(self,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_SetParent" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneFactory_SetParent" "', argument " "2"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneFactory * >(argp2);
    (arg1)->SetParent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_GetParent) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    iSkeletonBoneFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_GetParent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_GetParent" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    result = (iSkeletonBoneFactory *)(arg1)->GetParent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_GetChildrenCount) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_GetChildrenCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_GetChildrenCount" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    result = (int)(arg1)->GetChildrenCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_GetChild) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    size_t arg2 ;
    iSkeletonBoneFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_GetChild(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_GetChild" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonBoneFactory_GetChild" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSkeletonBoneFactory *)(arg1)->GetChild(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_FindChild) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonBoneFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_FindChild(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_FindChild" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneFactory_FindChild" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonBoneFactory *)(arg1)->FindChild((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_FindChildIndex) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    iSkeletonBoneFactory *arg2 = (iSkeletonBoneFactory *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_FindChildIndex(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_FindChildIndex" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneFactory_FindChildIndex" "', argument " "2"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneFactory * >(argp2);
    result = (arg1)->FindChildIndex(arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_SetSkinBox) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_SetSkinBox(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_SetSkinBox" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonBoneFactory_SetSkinBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonBoneFactory_SetSkinBox" "', argument " "2"" of type '" "csBox3 &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->SetSkinBox(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_GetSkinBox) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_GetSkinBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_GetSkinBox" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    {
      csBox3 &_result_ref = (arg1)->GetSkinBox();
      result = (csBox3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_GetRagdollInfo) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    iSkeletonBoneRagdollInfo *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_GetRagdollInfo(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonBoneFactory_GetRagdollInfo" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    result = (iSkeletonBoneRagdollInfo *)(arg1)->GetRagdollInfo();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneRagdollInfo, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonBoneFactory) {
  {
    iSkeletonBoneFactory *arg1 = (iSkeletonBoneFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonBoneFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonBoneFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonBoneFactory" "', argument " "1"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonBoneFactory * >(argp1);
    delete_iSkeletonBoneFactory(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonBoneFactory_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonBoneFactory_scfGetVersion();");
    }
    result = (int)iSkeletonBoneFactory_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocketFactory_GetName) {
  {
    iSkeletonSocketFactory *arg1 = (iSkeletonSocketFactory *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocketFactory_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocketFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocketFactory_GetName" "', argument " "1"" of type '" "iSkeletonSocketFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocketFactory * >(argp1);
    result = (char *)((iSkeletonSocketFactory const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocketFactory_SetName) {
  {
    iSkeletonSocketFactory *arg1 = (iSkeletonSocketFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonSocketFactory_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocketFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocketFactory_SetName" "', argument " "1"" of type '" "iSkeletonSocketFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocketFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonSocketFactory_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocketFactory_GetTransform) {
  {
    iSkeletonSocketFactory *arg1 = (iSkeletonSocketFactory *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocketFactory_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocketFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocketFactory_GetTransform" "', argument " "1"" of type '" "iSkeletonSocketFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocketFactory * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocketFactory_SetTransform) {
  {
    iSkeletonSocketFactory *arg1 = (iSkeletonSocketFactory *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonSocketFactory_SetTransform(self,transform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocketFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocketFactory_SetTransform" "', argument " "1"" of type '" "iSkeletonSocketFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocketFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonSocketFactory_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSkeletonSocketFactory_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->SetTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocketFactory_GetFullTransform) {
  {
    iSkeletonSocketFactory *arg1 = (iSkeletonSocketFactory *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocketFactory_GetFullTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocketFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocketFactory_GetFullTransform" "', argument " "1"" of type '" "iSkeletonSocketFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocketFactory * >(argp1);
    {
      csReversibleTransform &_result_ref = (arg1)->GetFullTransform();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocketFactory_SetBone) {
  {
    iSkeletonSocketFactory *arg1 = (iSkeletonSocketFactory *) 0 ;
    iSkeletonBoneFactory *arg2 = (iSkeletonBoneFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonSocketFactory_SetBone(self,bone);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocketFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocketFactory_SetBone" "', argument " "1"" of type '" "iSkeletonSocketFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocketFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonSocketFactory_SetBone" "', argument " "2"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonBoneFactory * >(argp2);
    (arg1)->SetBone(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocketFactory_GetBone) {
  {
    iSkeletonSocketFactory *arg1 = (iSkeletonSocketFactory *) 0 ;
    iSkeletonBoneFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonSocketFactory_GetBone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocketFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonSocketFactory_GetBone" "', argument " "1"" of type '" "iSkeletonSocketFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocketFactory * >(argp1);
    result = (iSkeletonBoneFactory *)(arg1)->GetBone();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonSocketFactory) {
  {
    iSkeletonSocketFactory *arg1 = (iSkeletonSocketFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonSocketFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonSocketFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonSocketFactory" "', argument " "1"" of type '" "iSkeletonSocketFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonSocketFactory * >(argp1);
    delete_iSkeletonSocketFactory(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonSocketFactory_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonSocketFactory_scfGetVersion();");
    }
    result = (int)iSkeletonSocketFactory_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_GetName) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonFactory_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_GetName" "', argument " "1"" of type '" "iSkeletonFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    result = (char *)((iSkeletonFactory const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_SetName) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_SetName" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonFactory_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_CreateBone) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonBoneFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_CreateBone(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_CreateBone" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonFactory_CreateBone" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonBoneFactory *)(arg1)->CreateBone((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_CreateScript) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonScript *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_CreateScript(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_CreateScript" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonFactory_CreateScript" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonScript *)(arg1)->CreateScript((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonScript, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_FindScript) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonScript *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_FindScript(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_FindScript" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonFactory_FindScript" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonScript *)(arg1)->FindScript((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonScript, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_FindBone) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonBoneFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_FindBone(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_FindBone" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonFactory_FindBone" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonBoneFactory *)(arg1)->FindBone((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_FindBoneIndex) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_FindBoneIndex(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_FindBoneIndex" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonFactory_FindBoneIndex" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->FindBoneIndex((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_GetBonesCount) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonFactory_GetBonesCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_GetBonesCount" "', argument " "1"" of type '" "iSkeletonFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    result = ((iSkeletonFactory const *)arg1)->GetBonesCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_GetBone) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    size_t arg2 ;
    iSkeletonBoneFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_GetBone(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_GetBone" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonFactory_GetBone" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSkeletonBoneFactory *)(arg1)->GetBone(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonBoneFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_GetGraveyard) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    iSkeletonGraveyard *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonFactory_GetGraveyard(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_GetGraveyard" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    result = (iSkeletonGraveyard *)(arg1)->GetGraveyard();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonGraveyard, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_CreateSocket) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonBoneFactory *arg3 = (iSkeletonBoneFactory *) 0 ;
    iSkeletonSocketFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSkeletonFactory_CreateSocket(self,name,bone);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_CreateSocket" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonFactory_CreateSocket" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSkeletonBoneFactory, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSkeletonFactory_CreateSocket" "', argument " "3"" of type '" "iSkeletonBoneFactory *""'"); 
    }
    arg3 = reinterpret_cast< iSkeletonBoneFactory * >(argp3);
    result = (iSkeletonSocketFactory *)(arg1)->CreateSocket((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonSocketFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_FindSocket) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonSocketFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_FindSocket(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_FindSocket" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonFactory_FindSocket" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonSocketFactory *)(arg1)->FindSocket((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonSocketFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_GetSocket) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    int arg2 ;
    iSkeletonSocketFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_GetSocket(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_GetSocket" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonFactory_GetSocket" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSkeletonSocketFactory *)(arg1)->GetSocket(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonSocketFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_RemoveSocket) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonFactory_RemoveSocket(self,i);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_RemoveSocket" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSkeletonFactory_RemoveSocket" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->RemoveSocket(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_GetSocketsCount) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonFactory_GetSocketsCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonFactory_GetSocketsCount" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    result = (arg1)->GetSocketsCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSkeletonFactory) {
  {
    iSkeletonFactory *arg1 = (iSkeletonFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonFactory" "', argument " "1"" of type '" "iSkeletonFactory *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonFactory * >(argp1);
    delete_iSkeletonFactory(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonFactory_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonFactory_scfGetVersion();");
    }
    result = (int)iSkeletonFactory_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonGraveyard_GetFactoriesCount) {
  {
    iSkeletonGraveyard *arg1 = (iSkeletonGraveyard *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSkeletonGraveyard_GetFactoriesCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonGraveyard, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonGraveyard_GetFactoriesCount" "', argument " "1"" of type '" "iSkeletonGraveyard *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonGraveyard * >(argp1);
    result = (arg1)->GetFactoriesCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonGraveyard_CreateFactory) {
  {
    iSkeletonGraveyard *arg1 = (iSkeletonGraveyard *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonGraveyard_CreateFactory(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonGraveyard, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonGraveyard_CreateFactory" "', argument " "1"" of type '" "iSkeletonGraveyard *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonGraveyard * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonGraveyard_CreateFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonFactory *)(arg1)->CreateFactory((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonGraveyard_LoadFactory) {
  {
    iSkeletonGraveyard *arg1 = (iSkeletonGraveyard *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonGraveyard_LoadFactory(self,file_name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonGraveyard, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonGraveyard_LoadFactory" "', argument " "1"" of type '" "iSkeletonGraveyard *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonGraveyard * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonGraveyard_LoadFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonFactory *)(arg1)->LoadFactory((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonGraveyard_FindFactory) {
  {
    iSkeletonGraveyard *arg1 = (iSkeletonGraveyard *) 0 ;
    char *arg2 = (char *) 0 ;
    iSkeletonFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonGraveyard_FindFactory(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonGraveyard, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonGraveyard_FindFactory" "', argument " "1"" of type '" "iSkeletonGraveyard *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonGraveyard * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonGraveyard_FindFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSkeletonFactory *)(arg1)->FindFactory((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeletonFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonGraveyard_CreateSkeleton__SWIG_0) {
  {
    iSkeletonGraveyard *arg1 = (iSkeletonGraveyard *) 0 ;
    iSkeletonFactory *arg2 = (iSkeletonFactory *) 0 ;
    char *arg3 = (char *) 0 ;
    iSkeleton *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSkeletonGraveyard_CreateSkeleton(self,fact,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonGraveyard, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonGraveyard_CreateSkeleton" "', argument " "1"" of type '" "iSkeletonGraveyard *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonGraveyard * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonGraveyard_CreateSkeleton" "', argument " "2"" of type '" "iSkeletonFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonFactory * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSkeletonGraveyard_CreateSkeleton" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (iSkeleton *)(arg1)->CreateSkeleton(arg2,(char const *)arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeleton, 0 | SWIG_SHADOW); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonGraveyard_CreateSkeleton__SWIG_1) {
  {
    iSkeletonGraveyard *arg1 = (iSkeletonGraveyard *) 0 ;
    iSkeletonFactory *arg2 = (iSkeletonFactory *) 0 ;
    iSkeleton *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSkeletonGraveyard_CreateSkeleton(self,fact);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonGraveyard, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSkeletonGraveyard_CreateSkeleton" "', argument " "1"" of type '" "iSkeletonGraveyard *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonGraveyard * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSkeletonFactory, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSkeletonGraveyard_CreateSkeleton" "', argument " "2"" of type '" "iSkeletonFactory *""'"); 
    }
    arg2 = reinterpret_cast< iSkeletonFactory * >(argp2);
    result = (iSkeleton *)(arg1)->CreateSkeleton(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeleton, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonGraveyard_CreateSkeleton) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSkeletonGraveyard, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSkeletonFactory, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSkeletonGraveyard, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSkeletonFactory, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSkeletonGraveyard_CreateSkeleton__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSkeletonGraveyard_CreateSkeleton__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSkeletonGraveyard_CreateSkeleton'");
  XSRETURN(0);
}


XS(_wrap_delete_iSkeletonGraveyard) {
  {
    iSkeletonGraveyard *arg1 = (iSkeletonGraveyard *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSkeletonGraveyard(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSkeletonGraveyard, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSkeletonGraveyard" "', argument " "1"" of type '" "iSkeletonGraveyard *""'"); 
    }
    arg1 = reinterpret_cast< iSkeletonGraveyard * >(argp1);
    delete_iSkeletonGraveyard(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSkeletonGraveyard_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSkeletonGraveyard_scfGetVersion();");
    }
    result = (int)iSkeletonGraveyard_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshSkeletonControlState_GetAnimatedVertices) {
  {
    iGenMeshSkeletonControlState *arg1 = (iGenMeshSkeletonControlState *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshSkeletonControlState_GetAnimatedVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshSkeletonControlState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshSkeletonControlState_GetAnimatedVertices" "', argument " "1"" of type '" "iGenMeshSkeletonControlState *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshSkeletonControlState * >(argp1);
    result = (csVector3 *)(arg1)->GetAnimatedVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshSkeletonControlState_GetAnimatedVerticesCount) {
  {
    iGenMeshSkeletonControlState *arg1 = (iGenMeshSkeletonControlState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshSkeletonControlState_GetAnimatedVerticesCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshSkeletonControlState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshSkeletonControlState_GetAnimatedVerticesCount" "', argument " "1"" of type '" "iGenMeshSkeletonControlState *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshSkeletonControlState * >(argp1);
    result = (int)(arg1)->GetAnimatedVerticesCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshSkeletonControlState_GetAnimatedFaceNormals) {
  {
    iGenMeshSkeletonControlState *arg1 = (iGenMeshSkeletonControlState *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshSkeletonControlState_GetAnimatedFaceNormals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshSkeletonControlState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshSkeletonControlState_GetAnimatedFaceNormals" "', argument " "1"" of type '" "iGenMeshSkeletonControlState *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshSkeletonControlState * >(argp1);
    result = (csVector3 *)(arg1)->GetAnimatedFaceNormals();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshSkeletonControlState_GetAnimatedFaceNormalsCount) {
  {
    iGenMeshSkeletonControlState *arg1 = (iGenMeshSkeletonControlState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshSkeletonControlState_GetAnimatedFaceNormalsCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshSkeletonControlState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshSkeletonControlState_GetAnimatedFaceNormalsCount" "', argument " "1"" of type '" "iGenMeshSkeletonControlState *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshSkeletonControlState * >(argp1);
    result = (int)(arg1)->GetAnimatedFaceNormalsCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshSkeletonControlState_GetAnimatedVertNormals) {
  {
    iGenMeshSkeletonControlState *arg1 = (iGenMeshSkeletonControlState *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshSkeletonControlState_GetAnimatedVertNormals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshSkeletonControlState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshSkeletonControlState_GetAnimatedVertNormals" "', argument " "1"" of type '" "iGenMeshSkeletonControlState *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshSkeletonControlState * >(argp1);
    result = (csVector3 *)(arg1)->GetAnimatedVertNormals();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshSkeletonControlState_GetAnimatedVertNormalsCount) {
  {
    iGenMeshSkeletonControlState *arg1 = (iGenMeshSkeletonControlState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshSkeletonControlState_GetAnimatedVertNormalsCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshSkeletonControlState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshSkeletonControlState_GetAnimatedVertNormalsCount" "', argument " "1"" of type '" "iGenMeshSkeletonControlState *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshSkeletonControlState * >(argp1);
    result = (int)(arg1)->GetAnimatedVertNormalsCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshSkeletonControlState_GetSkeleton) {
  {
    iGenMeshSkeletonControlState *arg1 = (iGenMeshSkeletonControlState *) 0 ;
    iSkeleton *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGenMeshSkeletonControlState_GetSkeleton(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshSkeletonControlState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGenMeshSkeletonControlState_GetSkeleton" "', argument " "1"" of type '" "iGenMeshSkeletonControlState *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshSkeletonControlState * >(argp1);
    result = (iSkeleton *)(arg1)->GetSkeleton();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSkeleton, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iGenMeshSkeletonControlState) {
  {
    iGenMeshSkeletonControlState *arg1 = (iGenMeshSkeletonControlState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGenMeshSkeletonControlState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGenMeshSkeletonControlState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGenMeshSkeletonControlState" "', argument " "1"" of type '" "iGenMeshSkeletonControlState *""'"); 
    }
    arg1 = reinterpret_cast< iGenMeshSkeletonControlState * >(argp1);
    delete_iGenMeshSkeletonControlState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGenMeshSkeletonControlState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iGenMeshSkeletonControlState_scfGetVersion();");
    }
    result = (int)iGenMeshSkeletonControlState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayReadOnly_GetSize) {
  {
    iArrayReadOnly<csSprite2DVertex > *arg1 = (iArrayReadOnly<csSprite2DVertex > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertexArrayReadOnly_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayReadOnly_GetSize" "', argument " "1"" of type '" "iArrayReadOnly<csSprite2DVertex > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csSprite2DVertex > * >(argp1);
    result = ((iArrayReadOnly<csSprite2DVertex > const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayReadOnly_Get) {
  {
    iArrayReadOnly<csSprite2DVertex > *arg1 = (iArrayReadOnly<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    csSprite2DVertex *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayReadOnly_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayReadOnly_Get" "', argument " "1"" of type '" "iArrayReadOnly<csSprite2DVertex > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayReadOnly_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csSprite2DVertex const &_result_ref = ((iArrayReadOnly<csSprite2DVertex > const *)arg1)->Get(arg2);
      result = (csSprite2DVertex *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSprite2DVertex, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayReadOnly_Top) {
  {
    iArrayReadOnly<csSprite2DVertex > *arg1 = (iArrayReadOnly<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertexArrayReadOnly_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayReadOnly_Top" "', argument " "1"" of type '" "iArrayReadOnly<csSprite2DVertex > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csSprite2DVertex > * >(argp1);
    {
      csSprite2DVertex const &_result_ref = ((iArrayReadOnly<csSprite2DVertex > const *)arg1)->Top();
      result = (csSprite2DVertex *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSprite2DVertex, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayReadOnly_Find) {
  {
    iArrayReadOnly<csSprite2DVertex > *arg1 = (iArrayReadOnly<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayReadOnly_Find(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayReadOnly_Find" "', argument " "1"" of type '" "iArrayReadOnly<csSprite2DVertex > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csSprite2DVertex > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertexArrayReadOnly_Find" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertexArrayReadOnly_Find" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg2 = reinterpret_cast< csSprite2DVertex * >(argp2);
    result = ((iArrayReadOnly<csSprite2DVertex > const *)arg1)->Find((csSprite2DVertex const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayReadOnly_GetIndex) {
  {
    iArrayReadOnly<csSprite2DVertex > *arg1 = (iArrayReadOnly<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *arg2 = (csSprite2DVertex *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayReadOnly_GetIndex(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayReadOnly_GetIndex" "', argument " "1"" of type '" "iArrayReadOnly<csSprite2DVertex > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csSprite2DVertex > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertexArrayReadOnly_GetIndex" "', argument " "2"" of type '" "csSprite2DVertex const *""'"); 
    }
    arg2 = reinterpret_cast< csSprite2DVertex * >(argp2);
    result = ((iArrayReadOnly<csSprite2DVertex > const *)arg1)->GetIndex((csSprite2DVertex const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayReadOnly_IsEmpty) {
  {
    iArrayReadOnly<csSprite2DVertex > *arg1 = (iArrayReadOnly<csSprite2DVertex > *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertexArrayReadOnly_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayReadOnly_IsEmpty" "', argument " "1"" of type '" "iArrayReadOnly<csSprite2DVertex > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csSprite2DVertex > * >(argp1);
    result = (bool)((iArrayReadOnly<csSprite2DVertex > const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayReadOnly_GetAll) {
  {
    iArrayReadOnly<csSprite2DVertex > *arg1 = (iArrayReadOnly<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *arg2 = (csSprite2DVertex *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayReadOnly_GetAll(self,dest);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayReadOnly_GetAll" "', argument " "1"" of type '" "iArrayReadOnly<csSprite2DVertex > const *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csSprite2DVertex > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertexArrayReadOnly_GetAll" "', argument " "2"" of type '" "csSprite2DVertex *""'"); 
    }
    arg2 = reinterpret_cast< csSprite2DVertex * >(argp2);
    ((iArrayReadOnly<csSprite2DVertex > const *)arg1)->GetAll(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSprite2DVertexArrayReadOnly) {
  {
    iArrayReadOnly<csSprite2DVertex > *arg1 = (iArrayReadOnly<csSprite2DVertex > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSprite2DVertexArrayReadOnly(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSprite2DVertexArrayReadOnly" "', argument " "1"" of type '" "iArrayReadOnly<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayReadOnly<csSprite2DVertex > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeElements_Get) {
  {
    iArrayChangeElements<csSprite2DVertex > *arg1 = (iArrayChangeElements<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    csSprite2DVertex *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeElements_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeElementsTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeElements_Get" "', argument " "1"" of type '" "iArrayChangeElements<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeElements<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeElements_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csSprite2DVertex &_result_ref = (arg1)->Get(arg2);
      result = (csSprite2DVertex *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSprite2DVertex, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeElements_Top) {
  {
    iArrayChangeElements<csSprite2DVertex > *arg1 = (iArrayChangeElements<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeElements_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeElementsTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeElements_Top" "', argument " "1"" of type '" "iArrayChangeElements<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeElements<csSprite2DVertex > * >(argp1);
    {
      csSprite2DVertex &_result_ref = (arg1)->Top();
      result = (csSprite2DVertex *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSprite2DVertex, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSprite2DVertexArrayChangeElements) {
  {
    iArrayChangeElements<csSprite2DVertex > *arg1 = (iArrayChangeElements<csSprite2DVertex > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSprite2DVertexArrayChangeElements(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeElementsTcsSprite2DVertex_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSprite2DVertexArrayChangeElements" "', argument " "1"" of type '" "iArrayChangeElements<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeElements<csSprite2DVertex > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_SetSize__SWIG_0) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    csSprite2DVertex *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_SetSize(self,n,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_SetSize" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeAll_SetSize" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csSprite2DVertexArrayChangeAll_SetSize" "', argument " "3"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertexArrayChangeAll_SetSize" "', argument " "3"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg3 = reinterpret_cast< csSprite2DVertex * >(argp3);
    (arg1)->SetSize(arg2,(csSprite2DVertex const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_SetSize__SWIG_1) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_SetSize(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_SetSize" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeAll_SetSize" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->SetSize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_SetSize) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csSprite2DVertex, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csSprite2DVertexArrayChangeAll_SetSize__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csSprite2DVertexArrayChangeAll_SetSize__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csSprite2DVertexArrayChangeAll_SetSize'");
  XSRETURN(0);
}


XS(_wrap_csSprite2DVertexArrayChangeAll_GetExtend) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    csSprite2DVertex *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_GetExtend(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_GetExtend" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeAll_GetExtend" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csSprite2DVertex &_result_ref = (arg1)->GetExtend(arg2);
      result = (csSprite2DVertex *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSprite2DVertex, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_Put) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    csSprite2DVertex *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_Put(self,n,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_Put" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeAll_Put" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csSprite2DVertexArrayChangeAll_Put" "', argument " "3"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertexArrayChangeAll_Put" "', argument " "3"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg3 = reinterpret_cast< csSprite2DVertex * >(argp3);
    (arg1)->Put(arg2,(csSprite2DVertex const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_Push) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_Push(self,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_Push" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertexArrayChangeAll_Push" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertexArrayChangeAll_Push" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg2 = reinterpret_cast< csSprite2DVertex * >(argp2);
    result = (arg1)->Push((csSprite2DVertex const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_PushSmart) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_PushSmart(self,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_PushSmart" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertexArrayChangeAll_PushSmart" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertexArrayChangeAll_PushSmart" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg2 = reinterpret_cast< csSprite2DVertex * >(argp2);
    result = (arg1)->PushSmart((csSprite2DVertex const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_Pop) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    csSprite2DVertex result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_Pop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_Pop" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    result = (arg1)->Pop();
    ST(argvi) = SWIG_NewPointerObj((new csSprite2DVertex(static_cast< const csSprite2DVertex& >(result))), SWIGTYPE_p_csSprite2DVertex, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_Insert) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    csSprite2DVertex *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_Insert(self,n,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_Insert" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeAll_Insert" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csSprite2DVertexArrayChangeAll_Insert" "', argument " "3"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertexArrayChangeAll_Insert" "', argument " "3"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg3 = reinterpret_cast< csSprite2DVertex * >(argp3);
    result = (bool)(arg1)->Insert(arg2,(csSprite2DVertex const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_DeleteAll) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_DeleteAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_DeleteAll" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    (arg1)->DeleteAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_Truncate) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_Truncate(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_Truncate" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeAll_Truncate" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->Truncate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_Empty) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_Empty" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_DeleteIndex) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_DeleteIndex(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_DeleteIndex" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeAll_DeleteIndex" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndex(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_DeleteIndexFast) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_DeleteIndexFast(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_DeleteIndexFast" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertexArrayChangeAll_DeleteIndexFast" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndexFast(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_Delete) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_Delete(self,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_Delete" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertexArrayChangeAll_Delete" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertexArrayChangeAll_Delete" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg2 = reinterpret_cast< csSprite2DVertex * >(argp2);
    result = (bool)(arg1)->Delete((csSprite2DVertex const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertexArrayChangeAll_DeleteFast) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    csSprite2DVertex *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertexArrayChangeAll_DeleteFast(self,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertexArrayChangeAll_DeleteFast" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertexArrayChangeAll_DeleteFast" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertexArrayChangeAll_DeleteFast" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg2 = reinterpret_cast< csSprite2DVertex * >(argp2);
    result = (bool)(arg1)->DeleteFast((csSprite2DVertex const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSprite2DVertexArrayChangeAll) {
  {
    iArrayChangeAll<csSprite2DVertex > *arg1 = (iArrayChangeAll<csSprite2DVertex > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSprite2DVertexArrayChangeAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSprite2DVertexArrayChangeAll" "', argument " "1"" of type '" "iArrayChangeAll<csSprite2DVertex > *""'"); 
    }
    arg1 = reinterpret_cast< iArrayChangeAll<csSprite2DVertex > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_pos_set) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertex_pos_set(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_pos_set" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertex_pos_set" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    if (arg1) (arg1)->pos = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_pos_get) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertex_pos_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_pos_get" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    result = (csVector2 *)& ((arg1)->pos);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_color_init_set) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    csColor *arg2 = (csColor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertex_color_init_set(self,color_init);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_color_init_set" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertex_color_init_set" "', argument " "2"" of type '" "csColor *""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    if (arg1) (arg1)->color_init = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_color_init_get) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertex_color_init_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_color_init_get" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    result = (csColor *)& ((arg1)->color_init);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_color_set) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    csColor *arg2 = (csColor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertex_color_set(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_color_set" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csColor, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertex_color_set" "', argument " "2"" of type '" "csColor *""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    if (arg1) (arg1)->color = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_color_get) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    csColor *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertex_color_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_color_get" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    result = (csColor *)& ((arg1)->color);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_u_set) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertex_u_set(self,u);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_u_set" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertex_u_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->u = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_u_get) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertex_u_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_u_get" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    result = (float) ((arg1)->u);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_v_set) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertex_v_set(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_v_set" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSprite2DVertex_v_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->v = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex_v_get) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSprite2DVertex_v_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex_v_get" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    result = (float) ((arg1)->v);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSprite2DVertex___eq__) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    csSprite2DVertex *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSprite2DVertex___eq__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSprite2DVertex___eq__" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSprite2DVertex,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSprite2DVertex___eq__" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSprite2DVertex___eq__" "', argument " "2"" of type '" "csSprite2DVertex const &""'"); 
    }
    arg2 = reinterpret_cast< csSprite2DVertex * >(argp2);
    result = (bool)(arg1)->operator ==((csSprite2DVertex const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSprite2DVertex) {
  {
    csSprite2DVertex *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSprite2DVertex();");
    }
    result = (csSprite2DVertex *)new csSprite2DVertex();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSprite2DVertex, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSprite2DVertex) {
  {
    csSprite2DVertex *arg1 = (csSprite2DVertex *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSprite2DVertex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSprite2DVertex, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSprite2DVertex" "', argument " "1"" of type '" "csSprite2DVertex *""'"); 
    }
    arg1 = reinterpret_cast< csSprite2DVertex * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iColoredVertices) {
  {
    iColoredVertices *arg1 = (iColoredVertices *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iColoredVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iColoredVertices, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iColoredVertices" "', argument " "1"" of type '" "iColoredVertices *""'"); 
    }
    arg1 = reinterpret_cast< iColoredVertices * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_SetName) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_SetName" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite2DUVAnimationFrame_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_GetName) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_GetName" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    result = (char *)((iSprite2DUVAnimationFrame const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_GetUVCoo__SWIG_0) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    int arg2 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_GetUVCoo(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_GetUVCoo" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DUVAnimationFrame_GetUVCoo" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    {
      csVector2 &_result_ref = (arg1)->GetUVCoo(arg2);
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_GetUVCoo__SWIG_1) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_GetUVCoo(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_GetUVCoo" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    result = (csVector2 *)(arg1)->GetUVCoo();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_GetUVCoo) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DUVAnimationFrame, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DUVAnimationFrame, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DUVAnimationFrame_GetUVCoo__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DUVAnimationFrame_GetUVCoo__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite2DUVAnimationFrame_GetUVCoo'");
  XSRETURN(0);
}


XS(_wrap_iSprite2DUVAnimationFrame_GetUVCount) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_GetUVCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_GetUVCount" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    result = (int)(arg1)->GetUVCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_SetUV) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    int arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_SetUV(self,idx,u,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_SetUV" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DUVAnimationFrame_SetUV" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite2DUVAnimationFrame_SetUV" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSprite2DUVAnimationFrame_SetUV" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->SetUV(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_SetFrameData) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    int arg4 ;
    float *arg5 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_SetFrameData(self,name,duration,num,uv);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_SetFrameData" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite2DUVAnimationFrame_SetFrameData" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite2DUVAnimationFrame_SetFrameData" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSprite2DUVAnimationFrame_SetFrameData" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSprite2DUVAnimationFrame_SetFrameData" "', argument " "5"" of type '" "float *""'"); 
    }
    arg5 = reinterpret_cast< float * >(argp5);
    (arg1)->SetFrameData((char const *)arg2,arg3,arg4,arg5);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_RemoveUV) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_RemoveUV(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_RemoveUV" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DUVAnimationFrame_RemoveUV" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->RemoveUV(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_GetDuration) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_GetDuration(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_GetDuration" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    result = (int)(arg1)->GetDuration();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimationFrame_SetDuration) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimationFrame_SetDuration(self,duration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimationFrame_SetDuration" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DUVAnimationFrame_SetDuration" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetDuration(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSprite2DUVAnimationFrame) {
  {
    iSprite2DUVAnimationFrame *arg1 = (iSprite2DUVAnimationFrame *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSprite2DUVAnimationFrame(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimationFrame, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSprite2DUVAnimationFrame" "', argument " "1"" of type '" "iSprite2DUVAnimationFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimationFrame * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimation_SetName) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimation_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimation_SetName" "', argument " "1"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite2DUVAnimation_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimation_GetName) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DUVAnimation_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimation_GetName" "', argument " "1"" of type '" "iSprite2DUVAnimation const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    result = (char *)((iSprite2DUVAnimation const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimation_GetFrameCount) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DUVAnimation_GetFrameCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimation_GetFrameCount" "', argument " "1"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    result = (int)(arg1)->GetFrameCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimation_GetFrame__SWIG_0) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    int arg2 ;
    iSprite2DUVAnimationFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimation_GetFrame(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimation_GetFrame" "', argument " "1"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DUVAnimation_GetFrame" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSprite2DUVAnimationFrame *)(arg1)->GetFrame(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimation_GetFrame__SWIG_1) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    char *arg2 = (char *) 0 ;
    iSprite2DUVAnimationFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimation_GetFrame(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimation_GetFrame" "', argument " "1"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite2DUVAnimation_GetFrame" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSprite2DUVAnimationFrame *)(arg1)->GetFrame((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimation_GetFrame) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DUVAnimation, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DUVAnimation, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DUVAnimation_GetFrame__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DUVAnimation_GetFrame__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite2DUVAnimation_GetFrame'");
  XSRETURN(0);
}


XS(_wrap_iSprite2DUVAnimation_CreateFrame) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    int arg2 ;
    iSprite2DUVAnimationFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimation_CreateFrame(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimation_CreateFrame" "', argument " "1"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DUVAnimation_CreateFrame" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSprite2DUVAnimationFrame *)(arg1)->CreateFrame(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimationFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimation_MoveFrame) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite2DUVAnimation_MoveFrame(self,frame,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimation_MoveFrame" "', argument " "1"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DUVAnimation_MoveFrame" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite2DUVAnimation_MoveFrame" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->MoveFrame(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DUVAnimation_RemoveFrame) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DUVAnimation_RemoveFrame(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DUVAnimation_RemoveFrame" "', argument " "1"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DUVAnimation_RemoveFrame" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->RemoveFrame(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSprite2DUVAnimation) {
  {
    iSprite2DUVAnimation *arg1 = (iSprite2DUVAnimation *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSprite2DUVAnimation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DUVAnimation, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSprite2DUVAnimation" "', argument " "1"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DUVAnimation * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DFactoryState_SetLighting) {
  {
    iSprite2DFactoryState *arg1 = (iSprite2DFactoryState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DFactoryState_SetLighting(self,l);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DFactoryState_SetLighting" "', argument " "1"" of type '" "iSprite2DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DFactoryState_SetLighting" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetLighting(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DFactoryState_HasLighting) {
  {
    iSprite2DFactoryState *arg1 = (iSprite2DFactoryState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DFactoryState_HasLighting(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DFactoryState_HasLighting" "', argument " "1"" of type '" "iSprite2DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DFactoryState * >(argp1);
    result = (bool)((iSprite2DFactoryState const *)arg1)->HasLighting();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DFactoryState_GetUVAnimationCount) {
  {
    iSprite2DFactoryState *arg1 = (iSprite2DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DFactoryState_GetUVAnimationCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DFactoryState_GetUVAnimationCount" "', argument " "1"" of type '" "iSprite2DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DFactoryState * >(argp1);
    result = (int)((iSprite2DFactoryState const *)arg1)->GetUVAnimationCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DFactoryState_CreateUVAnimation) {
  {
    iSprite2DFactoryState *arg1 = (iSprite2DFactoryState *) 0 ;
    iSprite2DUVAnimation *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DFactoryState_CreateUVAnimation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DFactoryState_CreateUVAnimation" "', argument " "1"" of type '" "iSprite2DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DFactoryState * >(argp1);
    result = (iSprite2DUVAnimation *)(arg1)->CreateUVAnimation();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimation, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DFactoryState_RemoveUVAnimation) {
  {
    iSprite2DFactoryState *arg1 = (iSprite2DFactoryState *) 0 ;
    iSprite2DUVAnimation *arg2 = (iSprite2DUVAnimation *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DFactoryState_RemoveUVAnimation(self,anim);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DFactoryState_RemoveUVAnimation" "', argument " "1"" of type '" "iSprite2DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSprite2DUVAnimation, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite2DFactoryState_RemoveUVAnimation" "', argument " "2"" of type '" "iSprite2DUVAnimation *""'"); 
    }
    arg2 = reinterpret_cast< iSprite2DUVAnimation * >(argp2);
    (arg1)->RemoveUVAnimation(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DFactoryState_GetUVAnimation__SWIG_0) {
  {
    iSprite2DFactoryState *arg1 = (iSprite2DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    iSprite2DUVAnimation *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DFactoryState_GetUVAnimation(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DFactoryState_GetUVAnimation" "', argument " "1"" of type '" "iSprite2DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite2DFactoryState_GetUVAnimation" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSprite2DUVAnimation *)((iSprite2DFactoryState const *)arg1)->GetUVAnimation((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimation, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DFactoryState_GetUVAnimation__SWIG_1) {
  {
    iSprite2DFactoryState *arg1 = (iSprite2DFactoryState *) 0 ;
    int arg2 ;
    iSprite2DUVAnimation *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DFactoryState_GetUVAnimation(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DFactoryState_GetUVAnimation" "', argument " "1"" of type '" "iSprite2DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DFactoryState_GetUVAnimation" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSprite2DUVAnimation *)((iSprite2DFactoryState const *)arg1)->GetUVAnimation(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimation, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DFactoryState_GetUVAnimation) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DFactoryState_GetUVAnimation__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DFactoryState_GetUVAnimation__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite2DFactoryState_GetUVAnimation'");
  XSRETURN(0);
}


XS(_wrap_delete_iSprite2DFactoryState) {
  {
    iSprite2DFactoryState *arg1 = (iSprite2DFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSprite2DFactoryState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DFactoryState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSprite2DFactoryState" "', argument " "1"" of type '" "iSprite2DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DFactoryState * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_CreateRegularVertices) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    int arg2 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite2DState_CreateRegularVertices(self,n,setuv);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_CreateRegularVertices" "', argument " "1"" of type '" "iSprite2DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DState_CreateRegularVertices" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite2DState_CreateRegularVertices" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->CreateRegularVertices(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_SetUVAnimation) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    bool arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite2DState_SetUVAnimation(self,name,style,loop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_SetUVAnimation" "', argument " "1"" of type '" "iSprite2DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite2DState_SetUVAnimation" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite2DState_SetUVAnimation" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSprite2DState_SetUVAnimation" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->SetUVAnimation((char const *)arg2,arg3,arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_GetUVAnimation__SWIG_0) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    char *arg2 = (char *) 0 ;
    iSprite2DUVAnimation *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DState_GetUVAnimation(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_GetUVAnimation" "', argument " "1"" of type '" "iSprite2DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite2DState_GetUVAnimation" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSprite2DUVAnimation *)((iSprite2DState const *)arg1)->GetUVAnimation((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimation, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_GetUVAnimation__SWIG_1) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    int arg2 ;
    iSprite2DUVAnimation *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DState_GetUVAnimation(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_GetUVAnimation" "', argument " "1"" of type '" "iSprite2DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DState_GetUVAnimation" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSprite2DUVAnimation *)((iSprite2DState const *)arg1)->GetUVAnimation(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimation, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_GetUVAnimation__SWIG_2) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    int arg2 ;
    int *arg3 = 0 ;
    bool *arg4 = 0 ;
    iSprite2DUVAnimation *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite2DState_GetUVAnimation(self,idx,style,loop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_GetUVAnimation" "', argument " "1"" of type '" "iSprite2DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DState_GetUVAnimation" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSprite2DState_GetUVAnimation" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSprite2DState_GetUVAnimation" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSprite2DState_GetUVAnimation" "', argument " "4"" of type '" "bool &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSprite2DState_GetUVAnimation" "', argument " "4"" of type '" "bool &""'"); 
    }
    arg4 = reinterpret_cast< bool * >(argp4);
    result = (iSprite2DUVAnimation *)((iSprite2DState const *)arg1)->GetUVAnimation(arg2,*arg3,*arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSprite2DUVAnimation, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_GetUVAnimation) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite2DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_bool, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DState_GetUVAnimation__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DState_GetUVAnimation__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite2DState_GetUVAnimation__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite2DState_GetUVAnimation'");
  XSRETURN(0);
}


XS(_wrap_iSprite2DState_StopUVAnimation) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DState_StopUVAnimation(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_StopUVAnimation" "', argument " "1"" of type '" "iSprite2DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DState_StopUVAnimation" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->StopUVAnimation(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_PlayUVAnimation) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite2DState_PlayUVAnimation(self,idx,style,loop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_PlayUVAnimation" "', argument " "1"" of type '" "iSprite2DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DState_PlayUVAnimation" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite2DState_PlayUVAnimation" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSprite2DState_PlayUVAnimation" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->PlayUVAnimation(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSprite2DState) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSprite2DState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSprite2DState" "', argument " "1"" of type '" "iSprite2DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    delete_iSprite2DState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSprite2DState_scfGetVersion();");
    }
    result = (int)iSprite2DState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_GetVertexByIndex) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    int arg2 ;
    csSprite2DVertex *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite2DState_GetVertexByIndex(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_GetVertexByIndex" "', argument " "1"" of type '" "iSprite2DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite2DState_GetVertexByIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csSprite2DVertex *)iSprite2DState_GetVertexByIndex(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSprite2DVertex, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite2DState_GetVertexCount) {
  {
    iSprite2DState *arg1 = (iSprite2DState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite2DState_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite2DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite2DState_GetVertexCount" "', argument " "1"" of type '" "iSprite2DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite2DState * >(argp1);
    result = (int)iSprite2DState_GetVertexCount(arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteFrame_SetName) {
  {
    iSpriteFrame *arg1 = (iSpriteFrame *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteFrame_SetName(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteFrame_SetName" "', argument " "1"" of type '" "iSpriteFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteFrame * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteFrame_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteFrame_GetName) {
  {
    iSpriteFrame *arg1 = (iSpriteFrame *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteFrame_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteFrame_GetName" "', argument " "1"" of type '" "iSpriteFrame const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteFrame * >(argp1);
    result = (char *)((iSpriteFrame const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteFrame_GetAnmIndex) {
  {
    iSpriteFrame *arg1 = (iSpriteFrame *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteFrame_GetAnmIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteFrame_GetAnmIndex" "', argument " "1"" of type '" "iSpriteFrame const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteFrame * >(argp1);
    result = (int)((iSpriteFrame const *)arg1)->GetAnmIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteFrame_GetTexIndex) {
  {
    iSpriteFrame *arg1 = (iSpriteFrame *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteFrame_GetTexIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteFrame, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteFrame_GetTexIndex" "', argument " "1"" of type '" "iSpriteFrame const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteFrame * >(argp1);
    result = (int)((iSpriteFrame const *)arg1)->GetTexIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSpriteFrame) {
  {
    iSpriteFrame *arg1 = (iSpriteFrame *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSpriteFrame(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteFrame, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSpriteFrame" "', argument " "1"" of type '" "iSpriteFrame *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteFrame * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteAction_SetName) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteAction_SetName(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteAction_SetName" "', argument " "1"" of type '" "iSpriteAction *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteAction_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteAction_GetName) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteAction_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteAction_GetName" "', argument " "1"" of type '" "iSpriteAction const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    result = (char *)((iSpriteAction const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteAction_GetFrameCount) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteAction_GetFrameCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteAction_GetFrameCount" "', argument " "1"" of type '" "iSpriteAction *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    result = (int)(arg1)->GetFrameCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteAction_GetFrame) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    int arg2 ;
    iSpriteFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteAction_GetFrame(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteAction_GetFrame" "', argument " "1"" of type '" "iSpriteAction *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteAction_GetFrame" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSpriteFrame *)(arg1)->GetFrame(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteAction_GetNextFrame) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    int arg2 ;
    iSpriteFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteAction_GetNextFrame(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteAction_GetNextFrame" "', argument " "1"" of type '" "iSpriteAction *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteAction_GetNextFrame" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSpriteFrame *)(arg1)->GetNextFrame(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteAction_GetFrameDelay) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    int arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteAction_GetFrameDelay(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteAction_GetFrameDelay" "', argument " "1"" of type '" "iSpriteAction *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteAction_GetFrameDelay" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (int)(arg1)->GetFrameDelay(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteAction_GetFrameDisplacement) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteAction_GetFrameDisplacement(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteAction_GetFrameDisplacement" "', argument " "1"" of type '" "iSpriteAction *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteAction_GetFrameDisplacement" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetFrameDisplacement(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteAction_AddFrame) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    iSpriteFrame *arg2 = (iSpriteFrame *) 0 ;
    int arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSpriteAction_AddFrame(self,frame,delay,displacement);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteAction_AddFrame" "', argument " "1"" of type '" "iSpriteAction *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSpriteFrame, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteAction_AddFrame" "', argument " "2"" of type '" "iSpriteFrame *""'"); 
    }
    arg2 = reinterpret_cast< iSpriteFrame * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteAction_AddFrame" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSpriteAction_AddFrame" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->AddFrame(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSpriteAction) {
  {
    iSpriteAction *arg1 = (iSpriteAction *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSpriteAction(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteAction, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSpriteAction" "', argument " "1"" of type '" "iSpriteAction *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteAction * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteSocket_SetName) {
  {
    iSpriteSocket *arg1 = (iSpriteSocket *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteSocket_SetName(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteSocket_SetName" "', argument " "1"" of type '" "iSpriteSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteSocket * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteSocket_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteSocket_GetName) {
  {
    iSpriteSocket *arg1 = (iSpriteSocket *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteSocket_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteSocket_GetName" "', argument " "1"" of type '" "iSpriteSocket const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteSocket * >(argp1);
    result = (char *)((iSpriteSocket const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteSocket_SetMeshWrapper) {
  {
    iSpriteSocket *arg1 = (iSpriteSocket *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteSocket_SetMeshWrapper(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteSocket_SetMeshWrapper" "', argument " "1"" of type '" "iSpriteSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteSocket * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteSocket_SetMeshWrapper" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->SetMeshWrapper(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteSocket_GetMeshWrapper) {
  {
    iSpriteSocket *arg1 = (iSpriteSocket *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteSocket_GetMeshWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteSocket_GetMeshWrapper" "', argument " "1"" of type '" "iSpriteSocket const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteSocket * >(argp1);
    result = (iMeshWrapper *)((iSpriteSocket const *)arg1)->GetMeshWrapper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteSocket_SetTriangleIndex) {
  {
    iSpriteSocket *arg1 = (iSpriteSocket *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteSocket_SetTriangleIndex(self,tri_index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteSocket_SetTriangleIndex" "', argument " "1"" of type '" "iSpriteSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteSocket * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteSocket_SetTriangleIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetTriangleIndex(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteSocket_GetTriangleIndex) {
  {
    iSpriteSocket *arg1 = (iSpriteSocket *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteSocket_GetTriangleIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteSocket_GetTriangleIndex" "', argument " "1"" of type '" "iSpriteSocket const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteSocket * >(argp1);
    result = (int)((iSpriteSocket const *)arg1)->GetTriangleIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSpriteSocket) {
  {
    iSpriteSocket *arg1 = (iSpriteSocket *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSpriteSocket(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteSocket, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSpriteSocket" "', argument " "1"" of type '" "iSpriteSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteSocket * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_AddVertices) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_AddVertices(self,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_AddVertices" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_AddVertices" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->AddVertices(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetVertexCount) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetVertexCount" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (int)((iSprite3DFactoryState const *)arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetVertex) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetVertex(self,frame,vertex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetVertex" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetVertex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_GetVertex" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    {
      csVector3 const &_result_ref = ((iSprite3DFactoryState const *)arg1)->GetVertex(arg2,arg3);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetVertex) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    csVector3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetVertex(self,frame,vertex,Value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetVertex" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_SetVertex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_SetVertex" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSprite3DFactoryState_SetVertex" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSprite3DFactoryState_SetVertex" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    (arg1)->SetVertex(arg2,arg3,(csVector3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetVertices) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetVertices(self,frame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetVertices" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetVertices" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csVector3 *)((iSprite3DFactoryState const *)arg1)->GetVertices(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetVertices) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetVertices(self,vert,frame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetVertices" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DFactoryState_SetVertices" "', argument " "2"" of type '" "csVector3 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_SetVertices" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetVertices((csVector3 const *)arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetTexel) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetTexel(self,frame,vertex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetTexel" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetTexel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_GetTexel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    {
      csVector2 const &_result_ref = ((iSprite3DFactoryState const *)arg1)->GetTexel(arg2,arg3);
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetTexel) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    csVector2 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetTexel(self,frame,vertex,Value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetTexel" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_SetTexel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_SetTexel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSprite3DFactoryState_SetTexel" "', argument " "4"" of type '" "csVector2 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSprite3DFactoryState_SetTexel" "', argument " "4"" of type '" "csVector2 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    (arg1)->SetTexel(arg2,arg3,(csVector2 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetTexels) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetTexels(self,frame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetTexels" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetTexels" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csVector2 *)((iSprite3DFactoryState const *)arg1)->GetTexels(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetTexels) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetTexels(self,tex,frame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetTexels" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DFactoryState_SetTexels" "', argument " "2"" of type '" "csVector2 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_SetTexels" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetTexels((csVector2 const *)arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetNormal) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetNormal(self,frame,vertex);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetNormal" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetNormal" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_GetNormal" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    {
      csVector3 const &_result_ref = ((iSprite3DFactoryState const *)arg1)->GetNormal(arg2,arg3);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetNormal) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    csVector3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetNormal(self,frame,vertex,Value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetNormal" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_SetNormal" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_SetNormal" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSprite3DFactoryState_SetNormal" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSprite3DFactoryState_SetNormal" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    (arg1)->SetNormal(arg2,arg3,(csVector3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetNormals) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetNormals(self,frame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetNormals" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetNormals" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csVector3 *)((iSprite3DFactoryState const *)arg1)->GetNormals(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetNormals) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetNormals(self,norms,frame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetNormals" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DFactoryState_SetNormals" "', argument " "2"" of type '" "csVector3 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_SetNormals" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetNormals((csVector3 const *)arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_AddTriangle) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite3DFactoryState_AddTriangle(self,a,b,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_AddTriangle" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_AddTriangle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_AddTriangle" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSprite3DFactoryState_AddTriangle" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->AddTriangle(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetTriangle) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    csTriangle result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetTriangle(self,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetTriangle" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetTriangle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = ((iSprite3DFactoryState const *)arg1)->GetTriangle(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csTriangle(static_cast< const csTriangle& >(result))), SWIGTYPE_p_csTriangle, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetTriangles) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    csTriangle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetTriangles(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetTriangles" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (csTriangle *)((iSprite3DFactoryState const *)arg1)->GetTriangles();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTriangle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetTriangleCount) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetTriangleCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetTriangleCount" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (int)((iSprite3DFactoryState const *)arg1)->GetTriangleCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetTriangleCount) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetTriangleCount(self,count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetTriangleCount" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_SetTriangleCount" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetTriangleCount(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetTriangles) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    csTriangle *arg2 = (csTriangle *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetTriangles(self,trigs,count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetTriangles" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csTriangle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DFactoryState_SetTriangles" "', argument " "2"" of type '" "csTriangle const *""'"); 
    }
    arg2 = reinterpret_cast< csTriangle * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_SetTriangles" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetTriangles((csTriangle const *)arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_AddFrame) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    iSpriteFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_AddFrame(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_AddFrame" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (iSpriteFrame *)(arg1)->AddFrame();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_FindFrame) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    iSpriteFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_FindFrame(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_FindFrame" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DFactoryState_FindFrame" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSpriteFrame *)((iSprite3DFactoryState const *)arg1)->FindFrame((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetFrameCount) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetFrameCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetFrameCount" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (int)((iSprite3DFactoryState const *)arg1)->GetFrameCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetFrame) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    iSpriteFrame *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetFrame(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetFrame" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetFrame" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSpriteFrame *)((iSprite3DFactoryState const *)arg1)->GetFrame(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteFrame, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_AddAction) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    iSpriteAction *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_AddAction(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_AddAction" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (iSpriteAction *)(arg1)->AddAction();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteAction, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_FindAction) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    iSpriteAction *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_FindAction(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_FindAction" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DFactoryState_FindAction" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSpriteAction *)((iSprite3DFactoryState const *)arg1)->FindAction((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteAction, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetFirstAction) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    iSpriteAction *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetFirstAction(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetFirstAction" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (iSpriteAction *)((iSprite3DFactoryState const *)arg1)->GetFirstAction();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteAction, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetActionCount) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetActionCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetActionCount" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (int)((iSprite3DFactoryState const *)arg1)->GetActionCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetAction) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    iSpriteAction *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetAction(self,No);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetAction" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetAction" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSpriteAction *)((iSprite3DFactoryState const *)arg1)->GetAction(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteAction, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_AddSocket) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    iSpriteSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_AddSocket(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_AddSocket" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (iSpriteSocket *)(arg1)->AddSocket();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_FindSocket__SWIG_0) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    iSpriteSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_FindSocket(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_FindSocket" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DFactoryState_FindSocket" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSpriteSocket *)((iSprite3DFactoryState const *)arg1)->FindSocket((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_FindSocket__SWIG_1) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    iSpriteSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_FindSocket(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_FindSocket" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DFactoryState_FindSocket" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (iSpriteSocket *)((iSprite3DFactoryState const *)arg1)->FindSocket(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_FindSocket) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DFactoryState_FindSocket__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DFactoryState_FindSocket__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite3DFactoryState_FindSocket'");
  XSRETURN(0);
}


XS(_wrap_iSprite3DFactoryState_GetSocketCount) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetSocketCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetSocketCount" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (int)((iSprite3DFactoryState const *)arg1)->GetSocketCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetSocket) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    iSpriteSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetSocket(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetSocket" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_GetSocket" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSpriteSocket *)((iSprite3DFactoryState const *)arg1)->GetSocket(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_EnableTweening) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_EnableTweening(self,en);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_EnableTweening" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_EnableTweening" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableTweening(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_IsTweeningEnabled) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_IsTweeningEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_IsTweeningEnabled" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (bool)((iSprite3DFactoryState const *)arg1)->IsTweeningEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetLightingQuality) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetLightingQuality(self,qual);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetLightingQuality" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_SetLightingQuality" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLightingQuality(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetLightingQuality) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetLightingQuality(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetLightingQuality" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (int)((iSprite3DFactoryState const *)arg1)->GetLightingQuality();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetLightingQualityConfig) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetLightingQualityConfig(self,qual);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetLightingQualityConfig" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_SetLightingQualityConfig" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLightingQualityConfig(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetLightingQualityConfig) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetLightingQualityConfig(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetLightingQualityConfig" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (int)((iSprite3DFactoryState const *)arg1)->GetLightingQualityConfig();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_SetLodLevelConfig) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_SetLodLevelConfig(self,config_flag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_SetLodLevelConfig" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_SetLodLevelConfig" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLodLevelConfig(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_GetLodLevelConfig) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_GetLodLevelConfig(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_GetLodLevelConfig" "', argument " "1"" of type '" "iSprite3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    result = (int)((iSprite3DFactoryState const *)arg1)->GetLodLevelConfig();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_MergeNormals__SWIG_0) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DFactoryState_MergeNormals(self,base,frame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_MergeNormals" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_MergeNormals" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DFactoryState_MergeNormals" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->MergeNormals(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_MergeNormals__SWIG_1) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DFactoryState_MergeNormals(self,base);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_MergeNormals" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DFactoryState_MergeNormals" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->MergeNormals(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_MergeNormals__SWIG_2) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DFactoryState_MergeNormals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DFactoryState_MergeNormals" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    (arg1)->MergeNormals();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DFactoryState_MergeNormals) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DFactoryState_MergeNormals__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DFactoryState_MergeNormals__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DFactoryState_MergeNormals__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite3DFactoryState_MergeNormals'");
  XSRETURN(0);
}


XS(_wrap_delete_iSprite3DFactoryState) {
  {
    iSprite3DFactoryState *arg1 = (iSprite3DFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSprite3DFactoryState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DFactoryState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSprite3DFactoryState" "', argument " "1"" of type '" "iSprite3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DFactoryState * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetMixMode) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetMixMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetMixMode" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetMixMode" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    (arg1)->SetMixMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_GetMixMode) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_GetMixMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_GetMixMode" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (uint)((iSprite3DState const *)arg1)->GetMixMode();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetLighting) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetLighting(self,l);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetLighting" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetLighting" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetLighting(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_IsLighting) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_IsLighting(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_IsLighting" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (bool)((iSprite3DState const *)arg1)->IsLighting();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetFrame) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetFrame(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetFrame" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetFrame" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetFrame(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_GetCurFrame) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_GetCurFrame(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_GetCurFrame" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (int)((iSprite3DState const *)arg1)->GetCurFrame();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_GetFrameCount) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_GetFrameCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_GetFrameCount" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (int)((iSprite3DState const *)arg1)->GetFrameCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetAction__SWIG_0) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite3DState_SetAction(self,name,loop,speed);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DState_SetAction" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DState_SetAction" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSprite3DState_SetAction" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->SetAction((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetAction__SWIG_1) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DState_SetAction(self,name,loop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DState_SetAction" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DState_SetAction" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->SetAction((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetAction__SWIG_2) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetAction(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DState_SetAction" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SetAction((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetAction__SWIG_3) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    bool arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSprite3DState_SetAction(self,index,loop,speed);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetAction" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DState_SetAction" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSprite3DState_SetAction" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->SetAction(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetAction__SWIG_4) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DState_SetAction(self,index,loop);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetAction" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DState_SetAction" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->SetAction(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetAction__SWIG_5) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetAction(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetAction" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->SetAction(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetAction) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetAction__SWIG_5); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetAction__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetAction__SWIG_4); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetAction__SWIG_1); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetAction__SWIG_3); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetAction__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite3DState_SetAction'");
  XSRETURN(0);
}


XS(_wrap_iSprite3DState_SetReverseAction) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetReverseAction(self,reverse);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetReverseAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetReverseAction" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetReverseAction(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetSingleStepAction) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetSingleStepAction(self,singlestep);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetSingleStepAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetSingleStepAction" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetSingleStepAction(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetOverrideAction__SWIG_0) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DState_SetOverrideAction(self,name,speed);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->SetOverrideAction((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetOverrideAction__SWIG_1) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetOverrideAction(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SetOverrideAction((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetOverrideAction__SWIG_2) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSprite3DState_SetOverrideAction(self,index,speed);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->SetOverrideAction(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetOverrideAction__SWIG_3) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetOverrideAction(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetOverrideAction" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->SetOverrideAction(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetOverrideAction) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetOverrideAction__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetOverrideAction__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetOverrideAction__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_SetOverrideAction__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite3DState_SetOverrideAction'");
  XSRETURN(0);
}


XS(_wrap_iSprite3DState_PropagateAction) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_PropagateAction(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_PropagateAction" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DState_PropagateAction" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->PropagateAction((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_GetCurAction) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    iSpriteAction *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_GetCurAction(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_GetCurAction" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (iSpriteAction *)((iSprite3DState const *)arg1)->GetCurAction();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteAction, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_GetReverseAction) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_GetReverseAction(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_GetReverseAction" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (bool)((iSprite3DState const *)arg1)->GetReverseAction();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_EnableTweening) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_EnableTweening(self,en);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_EnableTweening" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_EnableTweening" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableTweening(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_IsTweeningEnabled) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_IsTweeningEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_IsTweeningEnabled" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (bool)((iSprite3DState const *)arg1)->IsTweeningEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_UnsetTexture) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_UnsetTexture(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_UnsetTexture" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    (arg1)->UnsetTexture();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_GetLightingQuality) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_GetLightingQuality(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_GetLightingQuality" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (int)(arg1)->GetLightingQuality();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetLocalLightingQuality) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetLocalLightingQuality(self,lighting_quality);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetLocalLightingQuality" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetLocalLightingQuality" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLocalLightingQuality(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetLightingQualityConfig) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetLightingQualityConfig(self,config_flag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetLightingQualityConfig" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetLightingQualityConfig" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLightingQualityConfig(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_GetLightingQualityConfig) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_GetLightingQualityConfig(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_GetLightingQualityConfig" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (int)((iSprite3DState const *)arg1)->GetLightingQualityConfig();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_SetLodLevelConfig) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_SetLodLevelConfig(self,config_flag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_SetLodLevelConfig" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSprite3DState_SetLodLevelConfig" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLodLevelConfig(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_GetLodLevelConfig) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_GetLodLevelConfig(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_GetLodLevelConfig" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (int)((iSprite3DState const *)arg1)->GetLodLevelConfig();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_IsLodEnabled) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSprite3DState_IsLodEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_IsLodEnabled" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    result = (bool)((iSprite3DState const *)arg1)->IsLodEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_FindSocket__SWIG_0) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    iSpriteSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_FindSocket(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_FindSocket" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DState_FindSocket" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (iSpriteSocket *)((iSprite3DState const *)arg1)->FindSocket(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_FindSocket__SWIG_1) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    iSpriteSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSprite3DState_FindSocket(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSprite3DState_FindSocket" "', argument " "1"" of type '" "iSprite3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSprite3DState_FindSocket" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSpriteSocket *)((iSprite3DState const *)arg1)->FindSocket((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_FindSocket) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSprite3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_FindSocket__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSprite3DState_FindSocket__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSprite3DState_FindSocket'");
  XSRETURN(0);
}


XS(_wrap_delete_iSprite3DState) {
  {
    iSprite3DState *arg1 = (iSprite3DState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSprite3DState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSprite3DState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSprite3DState" "', argument " "1"" of type '" "iSprite3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSprite3DState * >(argp1);
    delete_iSprite3DState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSprite3DState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSprite3DState_scfGetVersion();");
    }
    result = (int)iSprite3DState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_SetSubmeshIndex) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_SetSubmeshIndex(self,subm_index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_SetSubmeshIndex" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DSocket_SetSubmeshIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetSubmeshIndex(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_GetSubmeshIndex) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_GetSubmeshIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_GetSubmeshIndex" "', argument " "1"" of type '" "iSpriteCal3DSocket const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    result = (int)((iSpriteCal3DSocket const *)arg1)->GetSubmeshIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_SetMeshIndex) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_SetMeshIndex(self,m_index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_SetMeshIndex" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DSocket_SetMeshIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetMeshIndex(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_GetMeshIndex) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_GetMeshIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_GetMeshIndex" "', argument " "1"" of type '" "iSpriteCal3DSocket const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    result = (int)((iSpriteCal3DSocket const *)arg1)->GetMeshIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_SetTransform) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_SetTransform(self,trans);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_SetTransform" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DSocket_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSpriteCal3DSocket_SetTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->SetTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_GetTransform) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    csReversibleTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_GetTransform" "', argument " "1"" of type '" "iSpriteCal3DSocket const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    result = ((iSpriteCal3DSocket const *)arg1)->GetTransform();
    ST(argvi) = SWIG_NewPointerObj((new csReversibleTransform(static_cast< const csReversibleTransform& >(result))), SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_GetSecondaryCount) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_GetSecondaryCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_GetSecondaryCount" "', argument " "1"" of type '" "iSpriteCal3DSocket const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    result = ((iSpriteCal3DSocket const *)arg1)->GetSecondaryCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_GetSecondaryMesh) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    size_t arg2 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_GetSecondaryMesh(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_GetSecondaryMesh" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DSocket_GetSecondaryMesh" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iMeshWrapper *)(arg1)->GetSecondaryMesh(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_GetSecondaryTransform) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    size_t arg2 ;
    csReversibleTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_GetSecondaryTransform(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_GetSecondaryTransform" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DSocket_GetSecondaryTransform" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (arg1)->GetSecondaryTransform(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csReversibleTransform(static_cast< const csReversibleTransform& >(result))), SWIGTYPE_p_csReversibleTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_SetSecondaryTransform) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    size_t arg2 ;
    csReversibleTransform arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_SetSecondaryTransform(self,index,csReversibleTransform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_SetSecondaryTransform" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DSocket_SetSecondaryTransform" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DSocket_SetSecondaryTransform" "', argument " "3"" of type '" "csReversibleTransform""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSpriteCal3DSocket_SetSecondaryTransform" "', argument " "3"" of type '" "csReversibleTransform""'");
      } else {
        arg3 = *(reinterpret_cast< csReversibleTransform * >(argp3));
      }
    }
    (arg1)->SetSecondaryTransform(arg2,arg3);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_AttachSecondary) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    csReversibleTransform arg3 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_AttachSecondary(self,iMeshWrapper *,csReversibleTransform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_AttachSecondary" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DSocket_AttachSecondary" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csReversibleTransform,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DSocket_AttachSecondary" "', argument " "3"" of type '" "csReversibleTransform""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSpriteCal3DSocket_AttachSecondary" "', argument " "3"" of type '" "csReversibleTransform""'");
      } else {
        arg3 = *(reinterpret_cast< csReversibleTransform * >(argp3));
      }
    }
    result = (arg1)->AttachSecondary(arg2,arg3);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_DetachSecondary__SWIG_0) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_DetachSecondary(self,mesh_name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_DetachSecondary" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DSocket_DetachSecondary" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->DetachSecondary((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_DetachSecondary__SWIG_1) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_DetachSecondary(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_DetachSecondary" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DSocket_DetachSecondary" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->DetachSecondary(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DSocket_DetachSecondary) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DSocket, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DSocket, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DSocket_DetachSecondary__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DSocket_DetachSecondary__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DSocket_DetachSecondary'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DSocket_FindSecondary) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DSocket_FindSecondary(self,mesh_name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DSocket_FindSecondary" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DSocket_FindSecondary" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->FindSecondary((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSpriteCal3DSocket) {
  {
    iSpriteCal3DSocket *arg1 = (iSpriteCal3DSocket *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSpriteCal3DSocket(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DSocket, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSpriteCal3DSocket" "', argument " "1"" of type '" "iSpriteCal3DSocket *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DSocket * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_Create) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_Create(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_Create" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_Create" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Create((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_ReportLastError) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_ReportLastError(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_ReportLastError" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    (arg1)->ReportLastError();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_SetLoadFlags) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_SetLoadFlags(self,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_SetLoadFlags" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DFactoryState_SetLoadFlags" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLoadFlags(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_SetBasePath) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_SetBasePath(self,path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_SetBasePath" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_SetBasePath" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetBasePath((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_LoadCoreSkeleton) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    iVFS *arg2 = (iVFS *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_LoadCoreSkeleton(self,vfs,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_LoadCoreSkeleton" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_LoadCoreSkeleton" "', argument " "2"" of type '" "iVFS *""'"); 
    }
    arg2 = reinterpret_cast< iVFS * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DFactoryState_LoadCoreSkeleton" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->LoadCoreSkeleton(arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_RescaleFactory) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_RescaleFactory(self,factor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_RescaleFactory" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DFactoryState_RescaleFactory" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->RescaleFactory(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_LoadCoreAnimation) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    iVFS *arg2 = (iVFS *) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    int arg5 ;
    float arg6 ;
    float arg7 ;
    float arg8 ;
    int arg9 ;
    int arg10 ;
    int arg11 ;
    bool arg12 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    float val8 ;
    int ecode8 = 0 ;
    int val9 ;
    int ecode9 = 0 ;
    int val10 ;
    int ecode10 = 0 ;
    int val11 ;
    int ecode11 = 0 ;
    bool val12 ;
    int ecode12 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 12) || (items > 12)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_LoadCoreAnimation(self,vfs,filename,name,type,base_velocity,min_velocity,max_velocity,min_interval,max_interval,idle_pct,lock);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "2"" of type '" "iVFS *""'"); 
    }
    arg2 = reinterpret_cast< iVFS * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    ecode8 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "8"" of type '" "float""'");
    } 
    arg8 = static_cast< float >(val8);
    ecode9 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "9"" of type '" "int""'");
    } 
    arg9 = static_cast< int >(val9);
    ecode10 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(9), &val10);
    if (!SWIG_IsOK(ecode10)) {
      SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "10"" of type '" "int""'");
    } 
    arg10 = static_cast< int >(val10);
    ecode11 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(10), &val11);
    if (!SWIG_IsOK(ecode11)) {
      SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "11"" of type '" "int""'");
    } 
    arg11 = static_cast< int >(val11);
    ecode12 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(11), &val12);
    if (!SWIG_IsOK(ecode12)) {
      SWIG_exception_fail(SWIG_ArgError(ecode12), "in method '" "iSpriteCal3DFactoryState_LoadCoreAnimation" "', argument " "12"" of type '" "bool""'");
    } 
    arg12 = static_cast< bool >(val12);
    result = (int)(arg1)->LoadCoreAnimation(arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_LoadCoreMesh) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    iVFS *arg2 = (iVFS *) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    bool arg5 ;
    iMaterialWrapper *arg6 = (iMaterialWrapper *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_LoadCoreMesh(self,vfs,filename,name,attach,defmat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_LoadCoreMesh" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_LoadCoreMesh" "', argument " "2"" of type '" "iVFS *""'"); 
    }
    arg2 = reinterpret_cast< iVFS * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DFactoryState_LoadCoreMesh" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSpriteCal3DFactoryState_LoadCoreMesh" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSpriteCal3DFactoryState_LoadCoreMesh" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iSpriteCal3DFactoryState_LoadCoreMesh" "', argument " "6"" of type '" "iMaterialWrapper *""'"); 
    }
    arg6 = reinterpret_cast< iMaterialWrapper * >(argp6);
    result = (int)(arg1)->LoadCoreMesh(arg2,(char const *)arg3,(char const *)arg4,arg5,arg6);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_LoadCoreMorphTarget) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    iVFS *arg2 = (iVFS *) 0 ;
    int arg3 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_LoadCoreMorphTarget(self,vfs,mesh_index,filename,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_LoadCoreMorphTarget" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_LoadCoreMorphTarget" "', argument " "2"" of type '" "iVFS *""'"); 
    }
    arg2 = reinterpret_cast< iVFS * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DFactoryState_LoadCoreMorphTarget" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSpriteCal3DFactoryState_LoadCoreMorphTarget" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSpriteCal3DFactoryState_LoadCoreMorphTarget" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    result = (int)(arg1)->LoadCoreMorphTarget(arg2,arg3,(char const *)arg4,(char const *)arg5);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_AddMorphAnimation) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_AddMorphAnimation(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_AddMorphAnimation" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_AddMorphAnimation" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)(arg1)->AddMorphAnimation((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_AddMorphTarget) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int arg2 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_AddMorphTarget(self,morphanimation_index,mesh_name,morphtarget_name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_AddMorphTarget" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DFactoryState_AddMorphTarget" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DFactoryState_AddMorphTarget" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSpriteCal3DFactoryState_AddMorphTarget" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = (bool)(arg1)->AddMorphTarget(arg2,(char const *)arg3,(char const *)arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_AddCoreMaterial) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_AddCoreMaterial(self,mat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_AddCoreMaterial" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_AddCoreMaterial" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    result = (bool)(arg1)->AddCoreMaterial(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_CalculateAllBoneBoundingBoxes) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_CalculateAllBoneBoundingBoxes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_CalculateAllBoneBoundingBoxes" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    (arg1)->CalculateAllBoneBoundingBoxes();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_BindMaterials) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_BindMaterials(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_BindMaterials" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    (arg1)->BindMaterials();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_GetMeshCount) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetMeshCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetMeshCount" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    result = (int)(arg1)->GetMeshCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_GetMorphAnimationCount) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetMorphAnimationCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetMorphAnimationCount" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    result = (int)(arg1)->GetMorphAnimationCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_GetMorphTargetCount) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetMorphTargetCount(self,mesh_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetMorphTargetCount" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DFactoryState_GetMorphTargetCount" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (int)(arg1)->GetMorphTargetCount(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_GetMeshName) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetMeshName(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetMeshName" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DFactoryState_GetMeshName" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (char *)(arg1)->GetMeshName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_FindMeshName) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_FindMeshName(self,meshName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_FindMeshName" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_FindMeshName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)(arg1)->FindMeshName((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_GetDefaultMaterial) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetDefaultMaterial(self,meshName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetDefaultMaterial" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_GetDefaultMaterial" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (char *)(arg1)->GetDefaultMaterial((char const *)arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_GetMorphAnimationName) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetMorphAnimationName(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetMorphAnimationName" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DFactoryState_GetMorphAnimationName" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (char *)(arg1)->GetMorphAnimationName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_FindMorphAnimationName) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_FindMorphAnimationName(self,meshName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_FindMorphAnimationName" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_FindMorphAnimationName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)(arg1)->FindMorphAnimationName((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_IsMeshDefault) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_IsMeshDefault(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_IsMeshDefault" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DFactoryState_IsMeshDefault" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->IsMeshDefault(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_AddSocket) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    iSpriteCal3DSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_AddSocket(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_AddSocket" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    result = (iSpriteCal3DSocket *)(arg1)->AddSocket();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteCal3DSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_FindSocket__SWIG_0) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    iSpriteCal3DSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_FindSocket(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_FindSocket" "', argument " "1"" of type '" "iSpriteCal3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_FindSocket" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSpriteCal3DSocket *)((iSpriteCal3DFactoryState const *)arg1)->FindSocket((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteCal3DSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_FindSocket__SWIG_1) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    iSpriteCal3DSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_FindSocket(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_FindSocket" "', argument " "1"" of type '" "iSpriteCal3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_FindSocket" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (iSpriteCal3DSocket *)((iSpriteCal3DFactoryState const *)arg1)->FindSocket(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteCal3DSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_FindSocket) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DFactoryState_FindSocket__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DFactoryState_FindSocket__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DFactoryState_FindSocket'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DFactoryState_GetSocketCount) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetSocketCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetSocketCount" "', argument " "1"" of type '" "iSpriteCal3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    result = (int)((iSpriteCal3DFactoryState const *)arg1)->GetSocketCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_GetSocket) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    int arg2 ;
    iSpriteCal3DSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetSocket(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetSocket" "', argument " "1"" of type '" "iSpriteCal3DFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DFactoryState_GetSocket" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSpriteCal3DSocket *)((iSpriteCal3DFactoryState const *)arg1)->GetSocket(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteCal3DSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_GetCal3DCoreModel) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    CalCoreModel *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_GetCal3DCoreModel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_GetCal3DCoreModel" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    result = (CalCoreModel *)(arg1)->GetCal3DCoreModel();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CalCoreModel, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_RegisterAnimCallback) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    CalAnimationCallback *arg3 = (CalAnimationCallback *) 0 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_RegisterAnimCallback(self,anim,callback,min_interval);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_RegisterAnimCallback" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_RegisterAnimCallback" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_CalAnimationCallback, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DFactoryState_RegisterAnimCallback" "', argument " "3"" of type '" "CalAnimationCallback *""'"); 
    }
    arg3 = reinterpret_cast< CalAnimationCallback * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSpriteCal3DFactoryState_RegisterAnimCallback" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->RegisterAnimCallback((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DFactoryState_RemoveAnimCallback) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    CalAnimationCallback *arg3 = (CalAnimationCallback *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DFactoryState_RemoveAnimCallback(self,anim,callback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DFactoryState_RemoveAnimCallback" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DFactoryState_RemoveAnimCallback" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_CalAnimationCallback, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DFactoryState_RemoveAnimCallback" "', argument " "3"" of type '" "CalAnimationCallback *""'"); 
    }
    arg3 = reinterpret_cast< CalAnimationCallback * >(argp3);
    result = (bool)(arg1)->RemoveAnimCallback((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSpriteCal3DFactoryState) {
  {
    iSpriteCal3DFactoryState *arg1 = (iSpriteCal3DFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSpriteCal3DFactoryState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DFactoryState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSpriteCal3DFactoryState" "', argument " "1"" of type '" "iSpriteCal3DFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DFactoryState * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iAnimTimeUpdateHandler_UpdatePosition) {
  {
    iAnimTimeUpdateHandler *arg1 = (iAnimTimeUpdateHandler *) 0 ;
    float arg2 ;
    CalModel *arg3 = (CalModel *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iAnimTimeUpdateHandler_UpdatePosition(self,delta,CalModel *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAnimTimeUpdateHandler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iAnimTimeUpdateHandler_UpdatePosition" "', argument " "1"" of type '" "iAnimTimeUpdateHandler *""'"); 
    }
    arg1 = reinterpret_cast< iAnimTimeUpdateHandler * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iAnimTimeUpdateHandler_UpdatePosition" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_CalModel, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iAnimTimeUpdateHandler_UpdatePosition" "', argument " "3"" of type '" "CalModel *""'"); 
    }
    arg3 = reinterpret_cast< CalModel * >(argp3);
    (arg1)->UpdatePosition(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iAnimTimeUpdateHandler) {
  {
    iAnimTimeUpdateHandler *arg1 = (iAnimTimeUpdateHandler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iAnimTimeUpdateHandler(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iAnimTimeUpdateHandler, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iAnimTimeUpdateHandler" "', argument " "1"" of type '" "iAnimTimeUpdateHandler *""'"); 
    }
    arg1 = reinterpret_cast< iAnimTimeUpdateHandler * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpriteCal3DActiveAnim_index_set) {
  {
    csSpriteCal3DActiveAnim *arg1 = (csSpriteCal3DActiveAnim *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpriteCal3DActiveAnim_index_set(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpriteCal3DActiveAnim, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpriteCal3DActiveAnim_index_set" "', argument " "1"" of type '" "csSpriteCal3DActiveAnim *""'"); 
    }
    arg1 = reinterpret_cast< csSpriteCal3DActiveAnim * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpriteCal3DActiveAnim_index_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->index = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpriteCal3DActiveAnim_index_get) {
  {
    csSpriteCal3DActiveAnim *arg1 = (csSpriteCal3DActiveAnim *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSpriteCal3DActiveAnim_index_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpriteCal3DActiveAnim, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpriteCal3DActiveAnim_index_get" "', argument " "1"" of type '" "csSpriteCal3DActiveAnim *""'"); 
    }
    arg1 = reinterpret_cast< csSpriteCal3DActiveAnim * >(argp1);
    result = (int) ((arg1)->index);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpriteCal3DActiveAnim_weight_set) {
  {
    csSpriteCal3DActiveAnim *arg1 = (csSpriteCal3DActiveAnim *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSpriteCal3DActiveAnim_weight_set(self,weight);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpriteCal3DActiveAnim, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpriteCal3DActiveAnim_weight_set" "', argument " "1"" of type '" "csSpriteCal3DActiveAnim *""'"); 
    }
    arg1 = reinterpret_cast< csSpriteCal3DActiveAnim * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSpriteCal3DActiveAnim_weight_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->weight = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSpriteCal3DActiveAnim_weight_get) {
  {
    csSpriteCal3DActiveAnim *arg1 = (csSpriteCal3DActiveAnim *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSpriteCal3DActiveAnim_weight_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpriteCal3DActiveAnim, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSpriteCal3DActiveAnim_weight_get" "', argument " "1"" of type '" "csSpriteCal3DActiveAnim *""'"); 
    }
    arg1 = reinterpret_cast< csSpriteCal3DActiveAnim * >(argp1);
    result = (float) ((arg1)->weight);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSpriteCal3DActiveAnim) {
  {
    csSpriteCal3DActiveAnim *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSpriteCal3DActiveAnim();");
    }
    result = (csSpriteCal3DActiveAnim *)new csSpriteCal3DActiveAnim();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSpriteCal3DActiveAnim, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSpriteCal3DActiveAnim) {
  {
    csSpriteCal3DActiveAnim *arg1 = (csSpriteCal3DActiveAnim *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSpriteCal3DActiveAnim(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSpriteCal3DActiveAnim, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSpriteCal3DActiveAnim" "', argument " "1"" of type '" "csSpriteCal3DActiveAnim *""'"); 
    }
    arg1 = reinterpret_cast< csSpriteCal3DActiveAnim * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetAnimCount) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetAnimCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetAnimCount" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    result = (int)(arg1)->GetAnimCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetAnimName) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetAnimName(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetAnimName" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_GetAnimName" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (char *)(arg1)->GetAnimName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetAnimType) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetAnimType(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetAnimType" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_GetAnimType" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (int)(arg1)->GetAnimType(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_FindAnim) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_FindAnim(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_FindAnim" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_FindAnim" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)(arg1)->FindAnim((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_ClearAllAnims) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DState_ClearAllAnims(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_ClearAllAnims" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    (arg1)->ClearAllAnims();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetAnimCycle__SWIG_0) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetAnimCycle(self,name,weight);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetAnimCycle" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_SetAnimCycle" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_SetAnimCycle" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->SetAnimCycle((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetAnimCycle__SWIG_1) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetAnimCycle(self,idx,weight);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetAnimCycle" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_SetAnimCycle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_SetAnimCycle" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->SetAnimCycle(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetAnimCycle) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_SetAnimCycle__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_SetAnimCycle__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DState_SetAnimCycle'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DState_AddAnimCycle__SWIG_0) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSpriteCal3DState_AddAnimCycle(self,name,weight,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_AddAnimCycle" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_AddAnimCycle" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_AddAnimCycle" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSpriteCal3DState_AddAnimCycle" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->AddAnimCycle((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_AddAnimCycle__SWIG_1) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSpriteCal3DState_AddAnimCycle(self,idx,weight,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_AddAnimCycle" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_AddAnimCycle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_AddAnimCycle" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSpriteCal3DState_AddAnimCycle" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->AddAnimCycle(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_AddAnimCycle) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_AddAnimCycle__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_AddAnimCycle__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DState_AddAnimCycle'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DState_ClearAnimCycle__SWIG_0) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_ClearAnimCycle(self,idx,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_ClearAnimCycle" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_ClearAnimCycle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_ClearAnimCycle" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->ClearAnimCycle(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_ClearAnimCycle__SWIG_1) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_ClearAnimCycle(self,name,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_ClearAnimCycle" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_ClearAnimCycle" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_ClearAnimCycle" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->ClearAnimCycle((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_ClearAnimCycle) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_ClearAnimCycle__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_ClearAnimCycle__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DState_ClearAnimCycle'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DState_GetActiveAnimCount) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetActiveAnimCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetActiveAnimCount" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    result = (arg1)->GetActiveAnimCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetActiveAnims) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    csSpriteCal3DActiveAnim *arg2 = (csSpriteCal3DActiveAnim *) 0 ;
    size_t arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetActiveAnims(self,buffer,max_length);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetActiveAnims" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSpriteCal3DActiveAnim, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_GetActiveAnims" "', argument " "2"" of type '" "csSpriteCal3DActiveAnim *""'"); 
    }
    arg2 = reinterpret_cast< csSpriteCal3DActiveAnim * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_GetActiveAnims" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (bool)(arg1)->GetActiveAnims(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetActiveAnims) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    csSpriteCal3DActiveAnim *arg2 = (csSpriteCal3DActiveAnim *) 0 ;
    size_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetActiveAnims(self,buffer,anim_count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetActiveAnims" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSpriteCal3DActiveAnim, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_SetActiveAnims" "', argument " "2"" of type '" "csSpriteCal3DActiveAnim const *""'"); 
    }
    arg2 = reinterpret_cast< csSpriteCal3DActiveAnim * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_SetActiveAnims" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    (arg1)->SetActiveAnims((csSpriteCal3DActiveAnim const *)arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetAnimAction__SWIG_0) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetAnimAction(self,name,delayIn,delayOut);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetAnimAction" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_SetAnimAction" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_SetAnimAction" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSpriteCal3DState_SetAnimAction" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->SetAnimAction((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetAnimAction__SWIG_1) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetAnimAction(self,idx,delayIn,delayOut);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetAnimAction" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_SetAnimAction" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_SetAnimAction" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSpriteCal3DState_SetAnimAction" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->SetAnimAction(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetAnimAction) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_SetAnimAction__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_SetAnimAction__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DState_SetAnimAction'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DState_SetVelocity__SWIG_0) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    float arg2 ;
    csRandomGen *arg3 = (csRandomGen *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetVelocity(self,vel,rng);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetVelocity" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_SetVelocity" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csRandomGen, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DState_SetVelocity" "', argument " "3"" of type '" "csRandomGen *""'"); 
    }
    arg3 = reinterpret_cast< csRandomGen * >(argp3);
    result = (bool)(arg1)->SetVelocity(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetVelocity__SWIG_1) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetVelocity(self,vel);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetVelocity" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_SetVelocity" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)(arg1)->SetVelocity(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetVelocity) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRandomGen, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_SetVelocity__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_SetVelocity__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DState_SetVelocity'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DState_SetDefaultIdleAnim) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetDefaultIdleAnim(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetDefaultIdleAnim" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_SetDefaultIdleAnim" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetDefaultIdleAnim((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetLOD) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetLOD(self,lod);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetLOD" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_SetLOD" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetLOD(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_AttachCoreMesh__SWIG_0) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_AttachCoreMesh(self,meshname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_AttachCoreMesh" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_AttachCoreMesh" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->AttachCoreMesh((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_DetachCoreMesh__SWIG_0) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_DetachCoreMesh(self,meshname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_DetachCoreMesh" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_DetachCoreMesh" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->DetachCoreMesh((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_AttachCoreMesh__SWIG_1) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    iMaterialWrapper *arg3 = (iMaterialWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_AttachCoreMesh(self,mesh_id,iMatWrap);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_AttachCoreMesh" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_AttachCoreMesh" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DState_AttachCoreMesh" "', argument " "3"" of type '" "iMaterialWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMaterialWrapper * >(argp3);
    result = (bool)(arg1)->AttachCoreMesh(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_AttachCoreMesh__SWIG_2) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_AttachCoreMesh(self,mesh_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_AttachCoreMesh" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_AttachCoreMesh" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->AttachCoreMesh(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_AttachCoreMesh) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iMaterialWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_AttachCoreMesh__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_AttachCoreMesh__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_AttachCoreMesh__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DState_AttachCoreMesh'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DState_DetachCoreMesh__SWIG_1) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_DetachCoreMesh(self,mesh_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_DetachCoreMesh" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_DetachCoreMesh" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->DetachCoreMesh(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_DetachCoreMesh) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_DetachCoreMesh__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_DetachCoreMesh__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DState_DetachCoreMesh'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DState_BlendMorphTarget) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSpriteCal3DState_BlendMorphTarget(self,morph_animation_id,weight,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_BlendMorphTarget" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_BlendMorphTarget" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_BlendMorphTarget" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSpriteCal3DState_BlendMorphTarget" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->BlendMorphTarget(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_ClearMorphTarget) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    int arg2 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_ClearMorphTarget(self,morph_animation_id,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_ClearMorphTarget" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_ClearMorphTarget" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSpriteCal3DState_ClearMorphTarget" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->ClearMorphTarget(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_FindSocket__SWIG_0) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    iSpriteCal3DSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_FindSocket(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_FindSocket" "', argument " "1"" of type '" "iSpriteCal3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_FindSocket" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (iSpriteCal3DSocket *)((iSpriteCal3DState const *)arg1)->FindSocket(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteCal3DSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_FindSocket__SWIG_1) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    iSpriteCal3DSocket *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_FindSocket(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_FindSocket" "', argument " "1"" of type '" "iSpriteCal3DState const *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_FindSocket" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSpriteCal3DSocket *)((iSpriteCal3DState const *)arg1)->FindSocket((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSpriteCal3DSocket, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_FindSocket) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSpriteCal3DState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_FindSocket__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSpriteCal3DState_FindSocket__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSpriteCal3DState_FindSocket'");
  XSRETURN(0);
}


XS(_wrap_iSpriteCal3DState_SetMaterial) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    iMaterialWrapper *arg3 = (iMaterialWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetMaterial(self,mesh_name,mat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetMaterial" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_SetMaterial" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSpriteCal3DState_SetMaterial" "', argument " "3"" of type '" "iMaterialWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMaterialWrapper * >(argp3);
    result = (bool)(arg1)->SetMaterial((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetTimeFactor) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetTimeFactor(self,timeFactor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetTimeFactor" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_SetTimeFactor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetTimeFactor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetTimeFactor) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetTimeFactor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetTimeFactor" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    result = (float)(arg1)->GetTimeFactor();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetAnimationTime) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetAnimationTime(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetAnimationTime" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    result = (float)(arg1)->GetAnimationTime();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetAnimationDuration) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetAnimationDuration(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetAnimationDuration" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    result = (float)(arg1)->GetAnimationDuration();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetAnimationTime) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetAnimationTime(self,animationTime);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetAnimationTime" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSpriteCal3DState_SetAnimationTime" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetAnimationTime(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetAnimTimeUpdateHandler) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    iAnimTimeUpdateHandler *arg2 = (iAnimTimeUpdateHandler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetAnimTimeUpdateHandler(self,iAnimTimeUpdateHandler *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetAnimTimeUpdateHandler" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iAnimTimeUpdateHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_SetAnimTimeUpdateHandler" "', argument " "2"" of type '" "iAnimTimeUpdateHandler *""'"); 
    }
    arg2 = reinterpret_cast< iAnimTimeUpdateHandler * >(argp2);
    (arg1)->SetAnimTimeUpdateHandler(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_SetUserData) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    void *arg2 = (void *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_SetUserData(self,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_SetUserData" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, 0);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_SetUserData" "', argument " "2"" of type '" "void *""'"); 
    }
    (arg1)->SetUserData(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetCoreMeshShaderVarContext) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    char *arg2 = (char *) 0 ;
    iShaderVariableContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetCoreMeshShaderVarContext(self,meshName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetCoreMeshShaderVarContext" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSpriteCal3DState_GetCoreMeshShaderVarContext" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iShaderVariableContext *)(arg1)->GetCoreMeshShaderVarContext((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShaderVariableContext, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_GetCal3DModel) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    CalModel *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSpriteCal3DState_GetCal3DModel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSpriteCal3DState_GetCal3DModel" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    result = (CalModel *)(arg1)->GetCal3DModel();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CalModel, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSpriteCal3DState) {
  {
    iSpriteCal3DState *arg1 = (iSpriteCal3DState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSpriteCal3DState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSpriteCal3DState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSpriteCal3DState" "', argument " "1"" of type '" "iSpriteCal3DState *""'"); 
    }
    arg1 = reinterpret_cast< iSpriteCal3DState * >(argp1);
    delete_iSpriteCal3DState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSpriteCal3DState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSpriteCal3DState_scfGetVersion();");
    }
    result = (int)iSpriteCal3DState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectDrawCallback_BeforeDrawing) {
  {
    iMeshObjectDrawCallback *arg1 = (iMeshObjectDrawCallback *) 0 ;
    iMeshObject *arg2 = (iMeshObject *) 0 ;
    iRenderView *arg3 = (iRenderView *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshObjectDrawCallback_BeforeDrawing(self,spr,rview);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectDrawCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectDrawCallback_BeforeDrawing" "', argument " "1"" of type '" "iMeshObjectDrawCallback *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectDrawCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObjectDrawCallback_BeforeDrawing" "', argument " "2"" of type '" "iMeshObject *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObject * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshObjectDrawCallback_BeforeDrawing" "', argument " "3"" of type '" "iRenderView *""'"); 
    }
    arg3 = reinterpret_cast< iRenderView * >(argp3);
    result = (bool)(arg1)->BeforeDrawing(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshObjectDrawCallback) {
  {
    iMeshObjectDrawCallback *arg1 = (iMeshObjectDrawCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshObjectDrawCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectDrawCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshObjectDrawCallback" "', argument " "1"" of type '" "iMeshObjectDrawCallback *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectDrawCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetFactory) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iMeshObjectFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_GetFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetFactory" "', argument " "1"" of type '" "iMeshObject const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    result = (iMeshObjectFactory *)((iMeshObject const *)arg1)->GetFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshObjectFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetFlags) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetFlags" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_Clone) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    SwigValueWrapper<csPtr<iMeshObject > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_Clone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_Clone" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    result = (arg1)->Clone();
    {
      csRef<iMeshObject> rf ((csPtr<iMeshObject>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshObject*)rf, SWIG_TypeQuery("cspace::""iMeshObject"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetRenderMeshes) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    int *arg2 = 0 ;
    iRenderView *arg3 = (iRenderView *) 0 ;
    iMovable *arg4 = (iMovable *) 0 ;
    uint32 arg5 ;
    csRenderMesh **result = 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 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iMeshObject_GetRenderMeshes(self,num,rview,movable,frustum_mask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetRenderMeshes" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_GetRenderMeshes" "', argument " "2"" of type '" "int &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_GetRenderMeshes" "', argument " "2"" of type '" "int &""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRenderView, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshObject_GetRenderMeshes" "', argument " "3"" of type '" "iRenderView *""'"); 
    }
    arg3 = reinterpret_cast< iRenderView * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iMeshObject_GetRenderMeshes" "', argument " "4"" of type '" "iMovable *""'"); 
    }
    arg4 = reinterpret_cast< iMovable * >(argp4);
    {
      res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res5)) {
        SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iMeshObject_GetRenderMeshes" "', argument " "5"" of type '" "uint32""'"); 
      }  
      if (!argp5) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_GetRenderMeshes" "', argument " "5"" of type '" "uint32""'");
      } else {
        arg5 = *(reinterpret_cast< uint32 * >(argp5));
      }
    }
    result = (csRenderMesh **)(arg1)->GetRenderMeshes(*arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_csRenderMesh, 0 | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_SetVisibleCallback) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iMeshObjectDrawCallback *arg2 = (iMeshObjectDrawCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObject_SetVisibleCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_SetVisibleCallback" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObjectDrawCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_SetVisibleCallback" "', argument " "2"" of type '" "iMeshObjectDrawCallback *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObjectDrawCallback * >(argp2);
    (arg1)->SetVisibleCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetVisibleCallback) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iMeshObjectDrawCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_GetVisibleCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetVisibleCallback" "', argument " "1"" of type '" "iMeshObject const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    result = (iMeshObjectDrawCallback *)((iMeshObject const *)arg1)->GetVisibleCallback();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshObjectDrawCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_NextFrame) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    csTicks arg2 ;
    csVector3 *arg3 = 0 ;
    uint arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iMeshObject_NextFrame(self,current_time,pos,currentFrame);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_NextFrame" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshObject_NextFrame" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshObject_NextFrame" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_NextFrame" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iMeshObject_NextFrame" "', argument " "4"" of type '" "uint""'");
    } 
    arg4 = static_cast< uint >(val4);
    (arg1)->NextFrame(arg2,(csVector3 const &)*arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_HardTransform) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObject_HardTransform(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_HardTransform" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->HardTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_SupportsHardTransform) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_SupportsHardTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_SupportsHardTransform" "', argument " "1"" of type '" "iMeshObject const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    result = (bool)((iMeshObject const *)arg1)->SupportsHardTransform();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_HitBeamOutline) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float *arg5 = (float *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iMeshObject_HitBeamOutline(self,start,end,isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_HitBeamOutline" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_HitBeamOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_HitBeamOutline" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshObject_HitBeamOutline" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_HitBeamOutline" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iMeshObject_HitBeamOutline" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_HitBeamOutline" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (bool)(arg1)->HitBeamOutline((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_HitBeamObject) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float *arg5 = (float *) 0 ;
    int *arg6 = (int *) 0 ;
    iMaterialWrapper **arg7 = (iMaterialWrapper **) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int temp6 ;
    int res6 = SWIG_TMPOBJ ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg5 = &temp5;
    arg6 = &temp6;
    if ((items < 4) || (items > 5)) {
      SWIG_croak("Usage: iMeshObject_HitBeamObject(self,start,end,isect,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_HitBeamObject" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_HitBeamObject" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_HitBeamObject" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMeshObject_HitBeamObject" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_HitBeamObject" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iMeshObject_HitBeamObject" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_HitBeamObject" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    if (items > 4) {
      res7 = SWIG_ConvertPtr(ST(4), &argp7,SWIGTYPE_p_p_iMaterialWrapper, 0 |  0 );
      if (!SWIG_IsOK(res7)) {
        SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iMeshObject_HitBeamObject" "', argument " "7"" of type '" "iMaterialWrapper **""'"); 
      }
      arg7 = reinterpret_cast< iMaterialWrapper ** >(argp7);
    }
    result = (bool)(arg1)->HitBeamObject((csVector3 const &)*arg2,(csVector3 const &)*arg3,*arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_SetMeshWrapper) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObject_SetMeshWrapper(self,logparent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_SetMeshWrapper" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_SetMeshWrapper" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->SetMeshWrapper(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetMeshWrapper) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_GetMeshWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetMeshWrapper" "', argument " "1"" of type '" "iMeshObject const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    result = (iMeshWrapper *)((iMeshObject const *)arg1)->GetMeshWrapper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetObjectModel) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iObjectModel *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_GetObjectModel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetObjectModel" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    result = (iObjectModel *)(arg1)->GetObjectModel();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObjectModel, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_SetColor) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    csColor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObject_SetColor(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_SetColor" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_SetColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_SetColor" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    result = (bool)(arg1)->SetColor((csColor const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetColor) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    csColor *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObject_GetColor(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetColor" "', argument " "1"" of type '" "iMeshObject const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_GetColor" "', argument " "2"" of type '" "csColor &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObject_GetColor" "', argument " "2"" of type '" "csColor &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    result = (bool)((iMeshObject const *)arg1)->GetColor(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_SetMaterialWrapper) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObject_SetMaterialWrapper(self,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_SetMaterialWrapper" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_SetMaterialWrapper" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    result = (bool)(arg1)->SetMaterialWrapper(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetMaterialWrapper) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_GetMaterialWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetMaterialWrapper" "', argument " "1"" of type '" "iMeshObject const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    result = (iMaterialWrapper *)((iMeshObject const *)arg1)->GetMaterialWrapper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_SetMixMode) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObject_SetMixMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_SetMixMode" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshObject_SetMixMode" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    (arg1)->SetMixMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_GetMixMode) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_GetMixMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_GetMixMode" "', argument " "1"" of type '" "iMeshObject const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    result = (uint)((iMeshObject const *)arg1)->GetMixMode();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_InvalidateMaterialHandles) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObject_InvalidateMaterialHandles(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_InvalidateMaterialHandles" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    (arg1)->InvalidateMaterialHandles();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_PositionChild) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    iMeshObject *arg2 = (iMeshObject *) 0 ;
    csTicks arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMeshObject_PositionChild(self,child,current_time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObject_PositionChild" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObject_PositionChild" "', argument " "2"" of type '" "iMeshObject *""'"); 
    }
    arg2 = reinterpret_cast< iMeshObject * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMeshObject_PositionChild" "', argument " "3"" of type '" "csTicks""'");
    } 
    arg3 = static_cast< csTicks >(val3);
    (arg1)->PositionChild(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshObject) {
  {
    iMeshObject *arg1 = (iMeshObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObject, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshObject" "', argument " "1"" of type '" "iMeshObject *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObject * >(argp1);
    delete_iMeshObject(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObject_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMeshObject_scfGetVersion();");
    }
    result = (int)iMeshObject_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_GetFlags) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_GetFlags" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    {
      csFlags &_result_ref = (arg1)->GetFlags();
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_NewInstance) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    SwigValueWrapper<csPtr<iMeshObject > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_NewInstance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_NewInstance" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    result = (arg1)->NewInstance();
    {
      csRef<iMeshObject> rf ((csPtr<iMeshObject>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshObject*)rf, SWIG_TypeQuery("cspace::""iMeshObject"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_Clone) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    SwigValueWrapper<csPtr<iMeshObjectFactory > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_Clone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_Clone" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    result = (arg1)->Clone();
    {
      csRef<iMeshObjectFactory> rf ((csPtr<iMeshObjectFactory>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshObjectFactory*)rf, SWIG_TypeQuery("cspace::""iMeshObjectFactory"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_HardTransform) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObjectFactory_HardTransform(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_HardTransform" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObjectFactory_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMeshObjectFactory_HardTransform" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->HardTransform((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_SupportsHardTransform) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_SupportsHardTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_SupportsHardTransform" "', argument " "1"" of type '" "iMeshObjectFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    result = (bool)((iMeshObjectFactory const *)arg1)->SupportsHardTransform();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_SetMeshFactoryWrapper) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    iMeshFactoryWrapper *arg2 = (iMeshFactoryWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObjectFactory_SetMeshFactoryWrapper(self,logparent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_SetMeshFactoryWrapper" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshFactoryWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObjectFactory_SetMeshFactoryWrapper" "', argument " "2"" of type '" "iMeshFactoryWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshFactoryWrapper * >(argp2);
    (arg1)->SetMeshFactoryWrapper(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_GetMeshFactoryWrapper) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_GetMeshFactoryWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_GetMeshFactoryWrapper" "', argument " "1"" of type '" "iMeshObjectFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    result = (iMeshFactoryWrapper *)((iMeshObjectFactory const *)arg1)->GetMeshFactoryWrapper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_GetMeshObjectType) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    iMeshObjectType *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_GetMeshObjectType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_GetMeshObjectType" "', argument " "1"" of type '" "iMeshObjectFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    result = (iMeshObjectType *)((iMeshObjectFactory const *)arg1)->GetMeshObjectType();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshObjectType, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_GetObjectModel) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    iObjectModel *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_GetObjectModel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_GetObjectModel" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    result = (iObjectModel *)(arg1)->GetObjectModel();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObjectModel, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_SetMaterialWrapper) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObjectFactory_SetMaterialWrapper(self,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_SetMaterialWrapper" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMeshObjectFactory_SetMaterialWrapper" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    result = (bool)(arg1)->SetMaterialWrapper(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_GetMaterialWrapper) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_GetMaterialWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_GetMaterialWrapper" "', argument " "1"" of type '" "iMeshObjectFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    result = (iMaterialWrapper *)((iMeshObjectFactory const *)arg1)->GetMaterialWrapper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_SetMixMode) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMeshObjectFactory_SetMixMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_SetMixMode" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMeshObjectFactory_SetMixMode" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    (arg1)->SetMixMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_GetMixMode) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectFactory_GetMixMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectFactory_GetMixMode" "', argument " "1"" of type '" "iMeshObjectFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    result = (uint)((iMeshObjectFactory const *)arg1)->GetMixMode();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshObjectFactory) {
  {
    iMeshObjectFactory *arg1 = (iMeshObjectFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshObjectFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshObjectFactory" "', argument " "1"" of type '" "iMeshObjectFactory *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectFactory * >(argp1);
    delete_iMeshObjectFactory(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectFactory_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMeshObjectFactory_scfGetVersion();");
    }
    result = (int)iMeshObjectFactory_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectType_NewFactory) {
  {
    iMeshObjectType *arg1 = (iMeshObjectType *) 0 ;
    SwigValueWrapper<csPtr<iMeshObjectFactory > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMeshObjectType_NewFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectType, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMeshObjectType_NewFactory" "', argument " "1"" of type '" "iMeshObjectType *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectType * >(argp1);
    result = (arg1)->NewFactory();
    {
      csRef<iMeshObjectFactory> rf ((csPtr<iMeshObjectFactory>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshObjectFactory*)rf, SWIG_TypeQuery("cspace::""iMeshObjectFactory"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMeshObjectType) {
  {
    iMeshObjectType *arg1 = (iMeshObjectType *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMeshObjectType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMeshObjectType, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMeshObjectType" "', argument " "1"" of type '" "iMeshObjectType *""'"); 
    }
    arg1 = reinterpret_cast< iMeshObjectType * >(argp1);
    delete_iMeshObjectType(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMeshObjectType_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMeshObjectType_scfGetVersion();");
    }
    result = (int)iMeshObjectType_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonRange_start_set) {
  {
    csPolygonRange *arg1 = (csPolygonRange *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPolygonRange_start_set(self,start);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonRange, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonRange_start_set" "', argument " "1"" of type '" "csPolygonRange *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonRange * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPolygonRange_start_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->start = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonRange_start_get) {
  {
    csPolygonRange *arg1 = (csPolygonRange *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonRange_start_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonRange, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonRange_start_get" "', argument " "1"" of type '" "csPolygonRange *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonRange * >(argp1);
    result = (int) ((arg1)->start);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonRange_end_set) {
  {
    csPolygonRange *arg1 = (csPolygonRange *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPolygonRange_end_set(self,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonRange, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonRange_end_set" "', argument " "1"" of type '" "csPolygonRange *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonRange * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPolygonRange_end_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->end = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonRange_end_get) {
  {
    csPolygonRange *arg1 = (csPolygonRange *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPolygonRange_end_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonRange, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonRange_end_get" "', argument " "1"" of type '" "csPolygonRange *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonRange * >(argp1);
    result = (int) ((arg1)->end);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPolygonRange) {
  {
    int arg1 ;
    int arg2 ;
    csPolygonRange *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csPolygonRange(start,end);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csPolygonRange" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csPolygonRange" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csPolygonRange *)new csPolygonRange(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPolygonRange, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonRange_Set__SWIG_0) {
  {
    csPolygonRange *arg1 = (csPolygonRange *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csPolygonRange_Set(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonRange, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonRange_Set" "', argument " "1"" of type '" "csPolygonRange *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonRange * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPolygonRange_Set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPolygonRange_Set" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->Set(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonRange_Set__SWIG_1) {
  {
    csPolygonRange *arg1 = (csPolygonRange *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPolygonRange_Set(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonRange, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPolygonRange_Set" "', argument " "1"" of type '" "csPolygonRange *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonRange * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPolygonRange_Set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->Set(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPolygonRange_Set) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPolygonRange_Set__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPolygonRange_Set__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csPolygonRange_Set'");
  XSRETURN(0);
}


XS(_wrap_delete_csPolygonRange) {
  {
    csPolygonRange *arg1 = (csPolygonRange *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPolygonRange(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPolygonRange, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPolygonRange" "', argument " "1"" of type '" "csPolygonRange *""'"); 
    }
    arg1 = reinterpret_cast< csPolygonRange * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonHandle_GetThingFactoryState) {
  {
    iPolygonHandle *arg1 = (iPolygonHandle *) 0 ;
    iThingFactoryState *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonHandle_GetThingFactoryState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonHandle_GetThingFactoryState" "', argument " "1"" of type '" "iPolygonHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonHandle * >(argp1);
    result = (iThingFactoryState *)((iPolygonHandle const *)arg1)->GetThingFactoryState();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iThingFactoryState, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonHandle_GetMeshObjectFactory) {
  {
    iPolygonHandle *arg1 = (iPolygonHandle *) 0 ;
    iMeshObjectFactory *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonHandle_GetMeshObjectFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonHandle_GetMeshObjectFactory" "', argument " "1"" of type '" "iPolygonHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonHandle * >(argp1);
    result = (iMeshObjectFactory *)((iPolygonHandle const *)arg1)->GetMeshObjectFactory();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshObjectFactory, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonHandle_GetThingState) {
  {
    iPolygonHandle *arg1 = (iPolygonHandle *) 0 ;
    iThingState *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonHandle_GetThingState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonHandle_GetThingState" "', argument " "1"" of type '" "iPolygonHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonHandle * >(argp1);
    result = (iThingState *)((iPolygonHandle const *)arg1)->GetThingState();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iThingState, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonHandle_GetMeshObject) {
  {
    iPolygonHandle *arg1 = (iPolygonHandle *) 0 ;
    iMeshObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonHandle_GetMeshObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonHandle_GetMeshObject" "', argument " "1"" of type '" "iPolygonHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonHandle * >(argp1);
    result = (iMeshObject *)((iPolygonHandle const *)arg1)->GetMeshObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPolygonHandle_GetIndex) {
  {
    iPolygonHandle *arg1 = (iPolygonHandle *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPolygonHandle_GetIndex(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPolygonHandle_GetIndex" "', argument " "1"" of type '" "iPolygonHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonHandle * >(argp1);
    result = (int)((iPolygonHandle const *)arg1)->GetIndex();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iPolygonHandle) {
  {
    iPolygonHandle *arg1 = (iPolygonHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iPolygonHandle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPolygonHandle, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iPolygonHandle" "', argument " "1"" of type '" "iPolygonHandle *""'"); 
    }
    arg1 = reinterpret_cast< iPolygonHandle * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_CompressVertices) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_CompressVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_CompressVertices" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    (arg1)->CompressVertices();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetPolygonCount) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonCount" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    result = (int)(arg1)->GetPolygonCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_RemovePolygon) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_RemovePolygon(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_RemovePolygon" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_RemovePolygon" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->RemovePolygon(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_RemovePolygons) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_RemovePolygons(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_RemovePolygons" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    (arg1)->RemovePolygons();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_FindPolygonByName) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_FindPolygonByName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_FindPolygonByName" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_FindPolygonByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)(arg1)->FindPolygonByName((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddEmptyPolygon) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_AddEmptyPolygon(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddEmptyPolygon" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    result = (int)(arg1)->AddEmptyPolygon();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddTriangle) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iThingFactoryState_AddTriangle(self,v1,v2,v3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddTriangle" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_AddTriangle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddTriangle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_AddTriangle" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddTriangle" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_AddTriangle" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddTriangle" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (int)(arg1)->AddTriangle((csVector3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddQuad) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iThingFactoryState_AddQuad(self,v1,v2,v3,v4);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddQuad" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_AddQuad" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddQuad" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_AddQuad" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddQuad" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_AddQuad" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddQuad" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iThingFactoryState_AddQuad" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddQuad" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (int)(arg1)->AddQuad((csVector3 const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,(csVector3 const &)*arg5);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddPolygon) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    int arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_AddPolygon(self,vertices,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddPolygon" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    {
      /*@SWIG:TYPEMAP_IN_ARRAY_BODY@*/
      AV *av = (AV *) SvRV (ST(1));
      if (SvTYPE (av) != SVt_PVAV)
      croak ("%s", "Argument must be an array reference");
      arg3 = av_len (av) + 1;
      arg2 = new csVector3 [arg3];
      for (int i = 0; i < arg3; i++)
      {
        SV *oref = av_shift (av);
        SV *o = SvRV (oref);
        SvREFCNT_dec (oref);
        if (! sv_isa (o,"csVector3"))
        {
          croak ("%s", "Array must contain ""csVector3" "'s");
          delete [] arg2;
          return;
        }
        csVector3 *p = (csVector3 *) SvIV (o);
        SvREFCNT_dec (o);
        arg2 [i] = * p;
      }
      /*@SWIG@*/
    }
    result = (int)(arg1)->AddPolygon(arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    {
      delete [] arg2;
    }
    XSRETURN(argvi);
  fail:
    
    {
      delete [] arg2;
    }
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddOutsideBox) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_AddOutsideBox(self,bmin,bmax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddOutsideBox" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_AddOutsideBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddOutsideBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_AddOutsideBox" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddOutsideBox" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (int)(arg1)->AddOutsideBox((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddInsideBox) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_AddInsideBox(self,bmin,bmax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddInsideBox" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_AddInsideBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddInsideBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_AddInsideBox" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddInsideBox" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (int)(arg1)->AddInsideBox((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonName) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonName(self,range,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonName" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonName" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonName" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonName" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->SetPolygonName((csPolygonRange const &)*arg2,(char const *)arg3);
    
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetPolygonName) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonName(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonName" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetPolygonName" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (char *)(arg1)->GetPolygonName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_CreatePolygonHandle) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    SwigValueWrapper<csPtr<iPolygonHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_CreatePolygonHandle(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_CreatePolygonHandle" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_CreatePolygonHandle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->CreatePolygonHandle(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iPolygonHandle >(static_cast< const csPtr<iPolygonHandle >& >(result))), SWIGTYPE_p_csPtrTiPolygonHandle_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonMaterial) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    iMaterialWrapper *arg3 = (iMaterialWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonMaterial(self,range,material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonMaterial" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonMaterial" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonMaterial" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonMaterial" "', argument " "3"" of type '" "iMaterialWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMaterialWrapper * >(argp3);
    (arg1)->SetPolygonMaterial((csPolygonRange const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetPolygonMaterial) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonMaterial(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonMaterial" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetPolygonMaterial" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iMaterialWrapper *)(arg1)->GetPolygonMaterial(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddPolygonVertex__SWIG_0) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_AddPolygonVertex(self,range,vt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->AddPolygonVertex((csPolygonRange const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddPolygonVertex__SWIG_1) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_AddPolygonVertex(self,range,vt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iThingFactoryState_AddPolygonVertex" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->AddPolygonVertex((csPolygonRange const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddPolygonVertex) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_AddPolygonVertex__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_AddPolygonVertex__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iThingFactoryState_AddPolygonVertex'");
  XSRETURN(0);
}


XS(_wrap_iThingFactoryState_SetPolygonVertexIndices) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    int arg3 ;
    int *arg4 = (int *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonVertexIndices(self,range,num,indices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonVertexIndices" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonVertexIndices" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonVertexIndices" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iThingFactoryState_SetPolygonVertexIndices" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_SetPolygonVertexIndices" "', argument " "4"" of type '" "int *""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    (arg1)->SetPolygonVertexIndices((csPolygonRange const &)*arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetPolygonVertexCount) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonVertexCount(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonVertexCount" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetPolygonVertexCount" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (int)(arg1)->GetPolygonVertexCount(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetPolygonVertex) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonVertex(self,polygon_idx,vertex_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonVertex" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetPolygonVertex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iThingFactoryState_GetPolygonVertex" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    {
      csVector3 const &_result_ref = (arg1)->GetPolygonVertex(arg2,arg3);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetPolygonVertexIndices) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    int *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonVertexIndices(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonVertexIndices" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetPolygonVertexIndices" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (int *)(arg1)->GetPolygonVertexIndices(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_0) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    csMatrix3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonTextureMapping(self,range,m,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csMatrix3 const &""'"); 
    }
    arg3 = reinterpret_cast< csMatrix3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    result = (bool)(arg1)->SetPolygonTextureMapping((csPolygonRange const &)*arg2,(csMatrix3 const &)*arg3,(csVector3 const &)*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_1) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    csVector2 *arg3 = 0 ;
    csVector2 *arg4 = 0 ;
    csVector2 *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonTextureMapping(self,range,uv1,uv2,uv3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csVector2 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector2 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector2 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "5"" of type '" "csVector2 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "5"" of type '" "csVector2 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector2 * >(argp5);
    result = (bool)(arg1)->SetPolygonTextureMapping((csPolygonRange const &)*arg2,(csVector2 const &)*arg3,(csVector2 const &)*arg4,(csVector2 const &)*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_2) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector2 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    csVector2 *arg6 = 0 ;
    csVector3 *arg7 = 0 ;
    csVector2 *arg8 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    void *argp6 ;
    int res6 = 0 ;
    void *argp7 ;
    int res7 = 0 ;
    void *argp8 ;
    int res8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonTextureMapping(self,range,p1,uv1,p2,uv2,p3,uv3);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector2 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector2 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector2 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "6"" of type '" "csVector2 const &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "6"" of type '" "csVector2 const &""'"); 
    }
    arg6 = reinterpret_cast< csVector2 * >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "7"" of type '" "csVector3 const &""'"); 
    }
    if (!argp7) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "7"" of type '" "csVector3 const &""'"); 
    }
    arg7 = reinterpret_cast< csVector3 * >(argp7);
    res8 = SWIG_ConvertPtr(ST(7), &argp8, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "8"" of type '" "csVector2 const &""'"); 
    }
    if (!argp8) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "8"" of type '" "csVector2 const &""'"); 
    }
    arg8 = reinterpret_cast< csVector2 * >(argp8);
    result = (bool)(arg1)->SetPolygonTextureMapping((csPolygonRange const &)*arg2,(csVector3 const &)*arg3,(csVector2 const &)*arg4,(csVector3 const &)*arg5,(csVector2 const &)*arg6,(csVector3 const &)*arg7,(csVector2 const &)*arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_3) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonTextureMapping(self,range,v_orig,v,len);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (bool)(arg1)->SetPolygonTextureMapping((csPolygonRange const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_4) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float arg5 ;
    csVector3 *arg6 = 0 ;
    float arg7 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    void *argp6 ;
    int res6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonTextureMapping(self,range,v_orig,v1,len1,v2,len2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "6"" of type '" "csVector3 const &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "6"" of type '" "csVector3 const &""'"); 
    }
    arg6 = reinterpret_cast< csVector3 * >(argp6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    result = (bool)(arg1)->SetPolygonTextureMapping((csPolygonRange const &)*arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,arg5,(csVector3 const &)*arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_5) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonTextureMapping(self,range,len);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iThingFactoryState_SetPolygonTextureMapping" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->SetPolygonTextureMapping((csPolygonRange const &)*arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonTextureMapping) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csMatrix3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(7), &vptr, SWIGTYPE_p_csVector2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_5); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_1); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_SetPolygonTextureMapping__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iThingFactoryState_SetPolygonTextureMapping'");
  XSRETURN(0);
}


XS(_wrap_iThingFactoryState_GetPolygonTextureMapping) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    csMatrix3 *arg3 = 0 ;
    csVector3 *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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonTextureMapping(self,polygon_idx,m,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonTextureMapping" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetPolygonTextureMapping" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_GetPolygonTextureMapping" "', argument " "3"" of type '" "csMatrix3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_GetPolygonTextureMapping" "', argument " "3"" of type '" "csMatrix3 &""'"); 
    }
    arg3 = reinterpret_cast< csMatrix3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_GetPolygonTextureMapping" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_GetPolygonTextureMapping" "', argument " "4"" of type '" "csVector3 &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    (arg1)->GetPolygonTextureMapping(arg2,*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonTextureMappingEnabled) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonTextureMappingEnabled(self,range,enabled);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonTextureMappingEnabled" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonTextureMappingEnabled" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonTextureMappingEnabled" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iThingFactoryState_SetPolygonTextureMappingEnabled" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->SetPolygonTextureMappingEnabled((csPolygonRange const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_IsPolygonTextureMappingEnabled) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_IsPolygonTextureMappingEnabled(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_IsPolygonTextureMappingEnabled" "', argument " "1"" of type '" "iThingFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_IsPolygonTextureMappingEnabled" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)((iThingFactoryState const *)arg1)->IsPolygonTextureMappingEnabled(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonFlags__SWIG_0) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    uint32 arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonFlags(self,range,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "3"" of type '" "uint32""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "3"" of type '" "uint32""'");
      } else {
        arg3 = *(reinterpret_cast< uint32 * >(argp3));
      }
    }
    (arg1)->SetPolygonFlags((csPolygonRange const &)*arg2,arg3);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonFlags__SWIG_1) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    uint32 arg3 ;
    uint32 arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iThingFactoryState_SetPolygonFlags(self,range,mask,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "3"" of type '" "uint32""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "3"" of type '" "uint32""'");
      } else {
        arg3 = *(reinterpret_cast< uint32 * >(argp3));
      }
    }
    {
      res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res4)) {
        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "4"" of type '" "uint32""'"); 
      }  
      if (!argp4) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetPolygonFlags" "', argument " "4"" of type '" "uint32""'");
      } else {
        arg4 = *(reinterpret_cast< uint32 * >(argp4));
      }
    }
    (arg1)->SetPolygonFlags((csPolygonRange const &)*arg2,arg3,arg4);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetPolygonFlags) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iThingFactoryState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPolygonRange, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_SetPolygonFlags__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iThingFactoryState_SetPolygonFlags__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iThingFactoryState_SetPolygonFlags'");
  XSRETURN(0);
}


XS(_wrap_iThingFactoryState_ResetPolygonFlags) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csPolygonRange *arg2 = 0 ;
    uint32 arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_ResetPolygonFlags(self,range,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_ResetPolygonFlags" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPolygonRange,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_ResetPolygonFlags" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_ResetPolygonFlags" "', argument " "2"" of type '" "csPolygonRange const &""'"); 
    }
    arg2 = reinterpret_cast< csPolygonRange * >(argp2);
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_ResetPolygonFlags" "', argument " "3"" of type '" "uint32""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_ResetPolygonFlags" "', argument " "3"" of type '" "uint32""'");
      } else {
        arg3 = *(reinterpret_cast< uint32 * >(argp3));
      }
    }
    (arg1)->ResetPolygonFlags((csPolygonRange const &)*arg2,arg3);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetPolygonFlags) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    csFlags *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonFlags(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonFlags" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetPolygonFlags" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    {
      csFlags &_result_ref = (arg1)->GetPolygonFlags(arg2);
      result = (csFlags *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFlags, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetPolygonObjectPlane) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_GetPolygonObjectPlane(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetPolygonObjectPlane" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetPolygonObjectPlane" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    {
      csPlane3 const &_result_ref = (arg1)->GetPolygonObjectPlane(arg2);
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_IsPolygonTransparent) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_IsPolygonTransparent(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_IsPolygonTransparent" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_IsPolygonTransparent" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->IsPolygonTransparent(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_PointOnPolygon) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_PointOnPolygon(self,polygon_idx,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_PointOnPolygon" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_PointOnPolygon" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_PointOnPolygon" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_PointOnPolygon" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    result = (bool)(arg1)->PointOnPolygon(arg2,(csVector3 const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetVertexCount) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_GetVertexCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetVertexCount" "', argument " "1"" of type '" "iThingFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    result = (int)((iThingFactoryState const *)arg1)->GetVertexCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetVertex) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_GetVertex(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetVertex" "', argument " "1"" of type '" "iThingFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetVertex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    {
      csVector3 const &_result_ref = ((iThingFactoryState const *)arg1)->GetVertex(arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetVertices) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_GetVertices(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetVertices" "', argument " "1"" of type '" "iThingFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    result = (csVector3 *)((iThingFactoryState const *)arg1)->GetVertices();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_CreateVertex) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csVector3 *arg2 = 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_CreateVertex(self,vt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_CreateVertex" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingFactoryState_CreateVertex" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_CreateVertex" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (int)(arg1)->CreateVertex((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetVertex) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_SetVertex(self,idx,vt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetVertex" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_SetVertex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_SetVertex" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_SetVertex" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetVertex(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_DeleteVertex) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_DeleteVertex(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_DeleteVertex" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_DeleteVertex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->DeleteVertex(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_DeleteVertices) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingFactoryState_DeleteVertices(self,from,to);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_DeleteVertices" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_DeleteVertices" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iThingFactoryState_DeleteVertices" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->DeleteVertices(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetSmoothingFlag) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_SetSmoothingFlag(self,smoothing);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetSmoothingFlag" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_SetSmoothingFlag" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetSmoothingFlag(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetSmoothingFlag) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_GetSmoothingFlag(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetSmoothingFlag" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    result = (bool)(arg1)->GetSmoothingFlag();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetNormals) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_GetNormals(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetNormals" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    result = (csVector3 *)(arg1)->GetNormals();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetCosinusFactor) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingFactoryState_GetCosinusFactor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetCosinusFactor" "', argument " "1"" of type '" "iThingFactoryState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    result = (float)((iThingFactoryState const *)arg1)->GetCosinusFactor();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_SetCosinusFactor) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingFactoryState_SetCosinusFactor(self,cosfact);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_SetCosinusFactor" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_SetCosinusFactor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetCosinusFactor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_AddPolygonRenderBuffer) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    char *arg3 = (char *) 0 ;
    iRenderBuffer *arg4 = (iRenderBuffer *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iThingFactoryState_AddPolygonRenderBuffer(self,polygon_idx,name,buffer);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_AddPolygonRenderBuffer" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_AddPolygonRenderBuffer" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_AddPolygonRenderBuffer" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRenderBuffer, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_AddPolygonRenderBuffer" "', argument " "4"" of type '" "iRenderBuffer *""'"); 
    }
    arg4 = reinterpret_cast< iRenderBuffer * >(argp4);
    result = (bool)(arg1)->AddPolygonRenderBuffer(arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_GetLightmapLayout) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    int arg2 ;
    size_t *arg3 = 0 ;
    csRect *arg4 = 0 ;
    float *arg5 = (float *) 0 ;
    bool result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iThingFactoryState_GetLightmapLayout(self,polygon_idx,slm,slmSubRect,slmCoord);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingFactoryState_GetLightmapLayout" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingFactoryState_GetLightmapLayout" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingFactoryState_GetLightmapLayout" "', argument " "3"" of type '" "size_t &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_GetLightmapLayout" "', argument " "3"" of type '" "size_t &""'"); 
    }
    arg3 = reinterpret_cast< size_t * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csRect,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingFactoryState_GetLightmapLayout" "', argument " "4"" of type '" "csRect &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingFactoryState_GetLightmapLayout" "', argument " "4"" of type '" "csRect &""'"); 
    }
    arg4 = reinterpret_cast< csRect * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iThingFactoryState_GetLightmapLayout" "', argument " "5"" of type '" "float *""'"); 
    }
    arg5 = reinterpret_cast< float * >(argp5);
    result = (bool)(arg1)->GetLightmapLayout(arg2,*arg3,*arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iThingFactoryState) {
  {
    iThingFactoryState *arg1 = (iThingFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iThingFactoryState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingFactoryState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iThingFactoryState" "', argument " "1"" of type '" "iThingFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iThingFactoryState * >(argp1);
    delete_iThingFactoryState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingFactoryState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iThingFactoryState_scfGetVersion();");
    }
    result = (int)iThingFactoryState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_GetVertexW) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    int arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingState_GetVertexW(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_GetVertexW" "', argument " "1"" of type '" "iThingState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingState_GetVertexW" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    {
      csVector3 const &_result_ref = ((iThingState const *)arg1)->GetVertexW(arg2);
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_GetVerticesW) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingState_GetVerticesW(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_GetVerticesW" "', argument " "1"" of type '" "iThingState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    result = (csVector3 *)((iThingState const *)arg1)->GetVerticesW();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_GetMovingOption) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingState_GetMovingOption(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_GetMovingOption" "', argument " "1"" of type '" "iThingState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    result = (int)((iThingState const *)arg1)->GetMovingOption();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_SetMovingOption) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingState_SetMovingOption(self,opt);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_SetMovingOption" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingState_SetMovingOption" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetMovingOption(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_Prepare) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingState_Prepare(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_Prepare" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    (arg1)->Prepare();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_Unprepare) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingState_Unprepare(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_Unprepare" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    (arg1)->Unprepare();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_ReplaceMaterial) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    iMaterialWrapper *arg3 = (iMaterialWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iThingState_ReplaceMaterial(self,oldmat,newmat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_ReplaceMaterial" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingState_ReplaceMaterial" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iThingState_ReplaceMaterial" "', argument " "3"" of type '" "iMaterialWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iMaterialWrapper * >(argp3);
    (arg1)->ReplaceMaterial(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_ClearReplacedMaterials) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingState_ClearReplacedMaterials(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_ClearReplacedMaterials" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    (arg1)->ClearReplacedMaterials();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_SetMixMode) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingState_SetMixMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_SetMixMode" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingState_SetMixMode" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    (arg1)->SetMixMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_GetMixMode) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingState_GetMixMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_GetMixMode" "', argument " "1"" of type '" "iThingState const *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    result = (uint)((iThingState const *)arg1)->GetMixMode();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_CreatePolygonHandle) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    int arg2 ;
    SwigValueWrapper<csPtr<iPolygonHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingState_CreatePolygonHandle(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_CreatePolygonHandle" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingState_CreatePolygonHandle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->CreatePolygonHandle(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iPolygonHandle >(static_cast< const csPtr<iPolygonHandle >& >(result))), SWIGTYPE_p_csPtrTiPolygonHandle_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_GetPolygonWorldPlane) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    int arg2 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingState_GetPolygonWorldPlane(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_GetPolygonWorldPlane" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingState_GetPolygonWorldPlane" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    {
      csPlane3 const &_result_ref = (arg1)->GetPolygonWorldPlane(arg2);
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_GetPolygonLightmap) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    int arg2 ;
    SwigValueWrapper<csPtr<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingState_GetPolygonLightmap(self,polygon_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_GetPolygonLightmap" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingState_GetPolygonLightmap" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->GetPolygonLightmap(arg2);
    {
      csRef<iImage> rf ((csPtr<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_GetPolygonPDLight) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    int arg2 ;
    size_t arg3 ;
    csRef<iImage > *arg4 = 0 ;
    iLight **arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iThingState_GetPolygonPDLight(self,polygon_idx,pdlight_index,map,light);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_GetPolygonPDLight" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingState_GetPolygonPDLight" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iThingState_GetPolygonPDLight" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csRefTiImage_t,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iThingState_GetPolygonPDLight" "', argument " "4"" of type '" "csRef<iImage > &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingState_GetPolygonPDLight" "', argument " "4"" of type '" "csRef<iImage > &""'"); 
    }
    arg4 = reinterpret_cast< csRef<iImage > * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_p_iLight,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iThingState_GetPolygonPDLight" "', argument " "5"" of type '" "iLight *&""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iThingState_GetPolygonPDLight" "', argument " "5"" of type '" "iLight *&""'"); 
    }
    arg5 = reinterpret_cast< iLight ** >(argp5);
    result = (bool)(arg1)->GetPolygonPDLight(arg2,arg3,*arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_GetReplacedMaterial) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    iMaterialWrapper *arg2 = (iMaterialWrapper *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingState_GetReplacedMaterial(self,oldMat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingState_GetReplacedMaterial" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMaterialWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iThingState_GetReplacedMaterial" "', argument " "2"" of type '" "iMaterialWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMaterialWrapper * >(argp2);
    result = (iMaterialWrapper *)(arg1)->GetReplacedMaterial(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iThingState) {
  {
    iThingState *arg1 = (iThingState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iThingState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iThingState" "', argument " "1"" of type '" "iThingState *""'"); 
    }
    arg1 = reinterpret_cast< iThingState * >(argp1);
    delete_iThingState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iThingState_scfGetVersion();");
    }
    result = (int)iThingState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iThingEnvironment_Clear) {
  {
    iThingEnvironment *arg1 = (iThingEnvironment *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingEnvironment_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingEnvironment, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingEnvironment_Clear" "', argument " "1"" of type '" "iThingEnvironment *""'"); 
    }
    arg1 = reinterpret_cast< iThingEnvironment * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingEnvironment_GetLightmapCellSize) {
  {
    iThingEnvironment *arg1 = (iThingEnvironment *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingEnvironment_GetLightmapCellSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingEnvironment, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingEnvironment_GetLightmapCellSize" "', argument " "1"" of type '" "iThingEnvironment const *""'"); 
    }
    arg1 = reinterpret_cast< iThingEnvironment * >(argp1);
    result = (int)((iThingEnvironment const *)arg1)->GetLightmapCellSize();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingEnvironment_SetLightmapCellSize) {
  {
    iThingEnvironment *arg1 = (iThingEnvironment *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iThingEnvironment_SetLightmapCellSize(self,Size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingEnvironment, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingEnvironment_SetLightmapCellSize" "', argument " "1"" of type '" "iThingEnvironment *""'"); 
    }
    arg1 = reinterpret_cast< iThingEnvironment * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iThingEnvironment_SetLightmapCellSize" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLightmapCellSize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iThingEnvironment_GetDefaultLightmapCellSize) {
  {
    iThingEnvironment *arg1 = (iThingEnvironment *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iThingEnvironment_GetDefaultLightmapCellSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingEnvironment, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iThingEnvironment_GetDefaultLightmapCellSize" "', argument " "1"" of type '" "iThingEnvironment const *""'"); 
    }
    arg1 = reinterpret_cast< iThingEnvironment * >(argp1);
    result = (int)((iThingEnvironment const *)arg1)->GetDefaultLightmapCellSize();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iThingEnvironment) {
  {
    iThingEnvironment *arg1 = (iThingEnvironment *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iThingEnvironment(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iThingEnvironment, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iThingEnvironment" "', argument " "1"" of type '" "iThingEnvironment *""'"); 
    }
    arg1 = reinterpret_cast< iThingEnvironment * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCharArrayArray__SWIG_0) {
  {
    size_t arg1 ;
    csArrayCapacityDefault *arg2 = 0 ;
    csArray<csArray<char > > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csCharArrayArray(in_capacity,ch);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csCharArrayArray" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayCapacityDefault,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csCharArrayArray" "', argument " "2"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csCharArrayArray" "', argument " "2"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    arg2 = reinterpret_cast< csArrayCapacityDefault * >(argp2);
    result = (csArray<csArray<char > > *)new csArray<csArray<char > >(arg1,(csArrayCapacityDefault const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCharArrayArray__SWIG_1) {
  {
    size_t arg1 ;
    csArray<csArray<char > > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csCharArrayArray(in_capacity);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csCharArrayArray" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csArray<csArray<char > > *)new csArray<csArray<char > >(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCharArrayArray__SWIG_2) {
  {
    csArray<csArray<char > > *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csCharArrayArray();");
    }
    result = (csArray<csArray<char > > *)new csArray<csArray<char > >();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCharArrayArray__SWIG_3) {
  {
    size_t arg1 ;
    CS::Memory::AllocatorMalloc *arg2 = 0 ;
    csArrayCapacityDefault *arg3 = 0 ;
    csArray<csArray<char > > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csCharArrayArray(in_capacity,alloc,ch);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csCharArrayArray" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_CS__Memory__AllocatorMalloc,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csCharArrayArray" "', argument " "2"" of type '" "CS::Memory::AllocatorMalloc const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csCharArrayArray" "', argument " "2"" of type '" "CS::Memory::AllocatorMalloc const &""'"); 
    }
    arg2 = reinterpret_cast< CS::Memory::AllocatorMalloc * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csArrayCapacityDefault,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csCharArrayArray" "', argument " "3"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csCharArrayArray" "', argument " "3"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    arg3 = reinterpret_cast< csArrayCapacityDefault * >(argp3);
    result = (csArray<csArray<char > > *)new csArray<csArray<char > >(arg1,(CS::Memory::AllocatorMalloc const &)*arg2,(csArrayCapacityDefault const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csCharArrayArray) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csCharArrayArray(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csCharArrayArray" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCharArrayArray__SWIG_4) {
  {
    csArray<csArray<char > > *arg1 = 0 ;
    csArray<csArray<char > > *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csCharArrayArray(source);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csCharArrayArray" "', argument " "1"" of type '" "csArray<csArray<char > > const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csCharArrayArray" "', argument " "1"" of type '" "csArray<csArray<char > > const &""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    result = (csArray<csArray<char > > *)new csArray<csArray<char > >((csArray<csArray<char > > const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCharArrayArray) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csArrayCapacityDefault, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_CS__Memory__AllocatorMalloc, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csArrayCapacityDefault, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csCharArrayArray__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csCharArrayArray__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csCharArrayArray__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csCharArrayArray__SWIG_0); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csCharArrayArray__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csCharArrayArray'");
  XSRETURN(0);
}


XS(_wrap_csCharArrayArray_GetSize) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCharArrayArray_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_GetSize" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    result = ((csArray<csArray<char > > const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Length) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCharArrayArray_Length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Length" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    result = ((csArray<csArray<char > > const *)arg1)->Length();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Get__SWIG_0) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Get" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > &_result_ref = (arg1)->Get(arg2);
      result = (csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Get__SWIG_1) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Get" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &_result_ref = ((csArray<csArray<char > > const *)arg1)->Get(arg2);
      result = (csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Get) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCharArrayArray_Get__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCharArrayArray_Get__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csCharArrayArray_Get'");
  XSRETURN(0);
}


XS(_wrap_csCharArrayArray_Put) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csCharArrayArray_Put(self,n,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Put" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_Put" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csCharArrayArray_Put" "', argument " "3"" of type '" "csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csCharArrayArray_Put" "', argument " "3"" of type '" "csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &""'"); 
    }
    arg3 = reinterpret_cast< csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > * >(argp3);
    (arg1)->Put(arg2,(csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Push) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray_Push(self,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Push" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCharArrayArray_Push" "', argument " "2"" of type '" "csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csCharArrayArray_Push" "', argument " "2"" of type '" "csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > * >(argp2);
    result = (arg1)->Push((csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Pop) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    SwigValueWrapper<csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCharArrayArray_Pop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Pop" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    result = (arg1)->Pop();
    ST(argvi) = SWIG_NewPointerObj((new csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault >(static_cast< const csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault >& >(result))), SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Top__SWIG_0) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCharArrayArray_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Top" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    {
      csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &_result_ref = ((csArray<csArray<char > > const *)arg1)->Top();
      result = (csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Top__SWIG_1) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCharArrayArray_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Top" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    {
      csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > &_result_ref = (arg1)->Top();
      result = (csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Top) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCharArrayArray_Top__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCharArrayArray_Top__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csCharArrayArray_Top'");
  XSRETURN(0);
}


XS(_wrap_csCharArrayArray_Insert) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csCharArrayArray_Insert(self,n,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Insert" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_Insert" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csCharArrayArray_Insert" "', argument " "3"" of type '" "csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csCharArrayArray_Insert" "', argument " "3"" of type '" "csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &""'"); 
    }
    arg3 = reinterpret_cast< csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > * >(argp3);
    result = (bool)(arg1)->Insert(arg2,(csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Contains) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray_Contains(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Contains" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCharArrayArray_Contains" "', argument " "2"" of type '" "csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csCharArrayArray_Contains" "', argument " "2"" of type '" "csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > * >(argp2);
    result = ((csArray<csArray<char > > const *)arg1)->Contains((csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Truncate) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray_Truncate(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Truncate" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_Truncate" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->Truncate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_Empty) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCharArrayArray_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_Empty" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_IsEmpty) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCharArrayArray_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_IsEmpty" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    result = (bool)((csArray<csArray<char > > const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_SetMinimalCapacity) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray_SetMinimalCapacity(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_SetMinimalCapacity" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_SetMinimalCapacity" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->SetMinimalCapacity(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_DeleteIndex) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray_DeleteIndex(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_DeleteIndex" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_DeleteIndex" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndex(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_DeleteIndexFast) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray_DeleteIndexFast(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_DeleteIndexFast" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_DeleteIndexFast" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndexFast(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_DeleteRange) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    size_t arg2 ;
    size_t arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csCharArrayArray_DeleteRange(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_DeleteRange" "', argument " "1"" of type '" "csArray<csArray<char > > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCharArrayArray_DeleteRange" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csCharArrayArray_DeleteRange" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (bool)(arg1)->DeleteRange(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray___eq__) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    csArray<csArray<char > > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray___eq__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray___eq__" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCharArrayArray___eq__" "', argument " "2"" of type '" "csArray<csArray<char > > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csCharArrayArray___eq__" "', argument " "2"" of type '" "csArray<csArray<char > > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<csArray<char > > * >(argp2);
    result = (bool)((csArray<csArray<char > > const *)arg1)->operator ==((csArray<csArray<char > > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray___ne__) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    csArray<csArray<char > > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCharArrayArray___ne__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray___ne__" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCharArrayArray___ne__" "', argument " "2"" of type '" "csArray<csArray<char > > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csCharArrayArray___ne__" "', argument " "2"" of type '" "csArray<csArray<char > > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<csArray<char > > * >(argp2);
    result = (bool)((csArray<csArray<char > > const *)arg1)->operator !=((csArray<csArray<char > > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCharArrayArray_GetAllocator) {
  {
    csArray<csArray<char > > *arg1 = (csArray<csArray<char > > *) 0 ;
    CS::Memory::AllocatorMalloc *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCharArrayArray_GetAllocator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCharArrayArray_GetAllocator" "', argument " "1"" of type '" "csArray<csArray<char > > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csArray<char > > * >(argp1);
    {
      CS::Memory::AllocatorMalloc const &_result_ref = ((csArray<csArray<char > > const *)arg1)->GetAllocator();
      result = (CS::Memory::AllocatorMalloc *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CS__Memory__AllocatorMalloc, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialPalette) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    csArray<iMaterialWrapper * > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetMaterialPalette(self,pal);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetMaterialPalette" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetMaterialPalette" "', argument " "2"" of type '" "csArray<iMaterialWrapper * > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerrainObjectState_SetMaterialPalette" "', argument " "2"" of type '" "csArray<iMaterialWrapper * > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<iMaterialWrapper * > * >(argp2);
    result = (bool)(arg1)->SetMaterialPalette((csArray<iMaterialWrapper * > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_GetMaterialPalette) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    csArray<iMaterialWrapper * > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerrainObjectState_GetMaterialPalette(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_GetMaterialPalette" "', argument " "1"" of type '" "iTerrainObjectState const *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    {
      csArray<iMaterialWrapper * > const &_result_ref = ((iTerrainObjectState const *)arg1)->GetMaterialPalette();
      result = (csArray<iMaterialWrapper * > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialMap__SWIG_0) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    csArray<char > *arg2 = 0 ;
    int arg3 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iTerrainObjectState_SetMaterialMap(self,data,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetMaterialMap" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetMaterialMap" "', argument " "2"" of type '" "csArray<char > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerrainObjectState_SetMaterialMap" "', argument " "2"" of type '" "csArray<char > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<char > * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerrainObjectState_SetMaterialMap" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerrainObjectState_SetMaterialMap" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->SetMaterialMap((csArray<char > const &)*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialMap__SWIG_1) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetMaterialMap(self,map);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetMaterialMap" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetMaterialMap" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    result = (bool)(arg1)->SetMaterialMap(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialMap) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTerrainObjectState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTerrainObjectState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTerrainObjectState_SetMaterialMap__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTerrainObjectState_SetMaterialMap__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iTerrainObjectState_SetMaterialMap'");
  XSRETURN(0);
}


XS(_wrap_iTerrainObjectState_SetMaterialAlphaMaps__SWIG_0) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    csArray<csArray<char > > *arg2 = 0 ;
    int arg3 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iTerrainObjectState_SetMaterialAlphaMaps(self,data,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetMaterialAlphaMaps" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetMaterialAlphaMaps" "', argument " "2"" of type '" "csArray<csArray<char > > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerrainObjectState_SetMaterialAlphaMaps" "', argument " "2"" of type '" "csArray<csArray<char > > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<csArray<char > > * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerrainObjectState_SetMaterialAlphaMaps" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerrainObjectState_SetMaterialAlphaMaps" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->SetMaterialAlphaMaps((csArray<csArray<char > > const &)*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialAlphaMaps__SWIG_1) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    csArray<iImage * > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetMaterialAlphaMaps(self,maps);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetMaterialAlphaMaps" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetMaterialAlphaMaps" "', argument " "2"" of type '" "csArray<iImage * > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerrainObjectState_SetMaterialAlphaMaps" "', argument " "2"" of type '" "csArray<iImage * > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<iImage * > * >(argp2);
    result = (bool)(arg1)->SetMaterialAlphaMaps((csArray<iImage * > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialAlphaMaps) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTerrainObjectState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTerrainObjectState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTerrainObjectState_SetMaterialAlphaMaps__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTerrainObjectState_SetMaterialAlphaMaps__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iTerrainObjectState_SetMaterialAlphaMaps'");
  XSRETURN(0);
}


XS(_wrap_iTerrainObjectState_SetLODValue) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iTerrainObjectState_SetLODValue(self,parameter,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetLODValue" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetLODValue" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerrainObjectState_SetLODValue" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->SetLODValue((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_GetLODValue) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    char *arg2 = (char *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_GetLODValue(self,parameter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_GetLODValue" "', argument " "1"" of type '" "iTerrainObjectState const *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_GetLODValue" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (float)((iTerrainObjectState const *)arg1)->GetLODValue((char const *)arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SaveState) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SaveState(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SaveState" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SaveState" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SaveState((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_RestoreState) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_RestoreState(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_RestoreState" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_RestoreState" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->RestoreState((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_CollisionDetect) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    iMovable *arg2 = (iMovable *) 0 ;
    csTransform *arg3 = (csTransform *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iTerrainObjectState_CollisionDetect(self,m,p);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_CollisionDetect" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMovable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_CollisionDetect" "', argument " "2"" of type '" "iMovable *""'"); 
    }
    arg2 = reinterpret_cast< iMovable * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iTerrainObjectState_CollisionDetect" "', argument " "3"" of type '" "csTransform *""'"); 
    }
    arg3 = reinterpret_cast< csTransform * >(argp3);
    result = (int)(arg1)->CollisionDetect(arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetStaticLighting) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetStaticLighting(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetStaticLighting" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerrainObjectState_SetStaticLighting" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetStaticLighting(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_GetStaticLighting) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerrainObjectState_GetStaticLighting(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_GetStaticLighting" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    result = (bool)(arg1)->GetStaticLighting();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetCastShadows) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetCastShadows(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetCastShadows" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerrainObjectState_SetCastShadows" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetCastShadows(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_GetCastShadows) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerrainObjectState_GetCastShadows(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_GetCastShadows" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    result = (bool)(arg1)->GetCastShadows();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialMapFile__SWIG_0) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    int arg4 ;
    bool arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iTerrainObjectState_SetMaterialMapFile(self,file,width,height,raw);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    (arg1)->SetMaterialMapFile((char const *)arg2,arg3,arg4,arg5);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialMapFile__SWIG_1) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    char *arg2 = (char *) 0 ;
    int 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iTerrainObjectState_SetMaterialMapFile(self,file,width,height);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerrainObjectState_SetMaterialMapFile" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->SetMaterialMapFile((char const *)arg2,arg3,arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetMaterialMapFile) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTerrainObjectState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTerrainObjectState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTerrainObjectState_SetMaterialMapFile__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTerrainObjectState_SetMaterialMapFile__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iTerrainObjectState_SetMaterialMapFile'");
  XSRETURN(0);
}


XS(_wrap_iTerrainObjectState_GetMaterialMapFile) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    bool *arg4 = 0 ;
    char *result = 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iTerrainObjectState_GetMaterialMapFile(self,width,height,raw);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_GetMaterialMapFile" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_GetMaterialMapFile" "', argument " "2"" of type '" "int &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerrainObjectState_GetMaterialMapFile" "', argument " "2"" of type '" "int &""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iTerrainObjectState_GetMaterialMapFile" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerrainObjectState_GetMaterialMapFile" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iTerrainObjectState_GetMaterialMapFile" "', argument " "4"" of type '" "bool &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerrainObjectState_GetMaterialMapFile" "', argument " "4"" of type '" "bool &""'"); 
    }
    arg4 = reinterpret_cast< bool * >(argp4);
    result = (char *)(arg1)->GetMaterialMapFile(*arg2,*arg3,*arg4);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetTopNeighbor) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    iTerrainObjectState *arg2 = (iTerrainObjectState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetTopNeighbor(self,top);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetTopNeighbor" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetTopNeighbor" "', argument " "2"" of type '" "iTerrainObjectState *""'"); 
    }
    arg2 = reinterpret_cast< iTerrainObjectState * >(argp2);
    (arg1)->SetTopNeighbor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetRightNeighbor) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    iTerrainObjectState *arg2 = (iTerrainObjectState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetRightNeighbor(self,right);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetRightNeighbor" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetRightNeighbor" "', argument " "2"" of type '" "iTerrainObjectState *""'"); 
    }
    arg2 = reinterpret_cast< iTerrainObjectState * >(argp2);
    (arg1)->SetRightNeighbor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetLeftNeighbor) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    iTerrainObjectState *arg2 = (iTerrainObjectState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetLeftNeighbor(self,left);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetLeftNeighbor" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetLeftNeighbor" "', argument " "2"" of type '" "iTerrainObjectState *""'"); 
    }
    arg2 = reinterpret_cast< iTerrainObjectState * >(argp2);
    (arg1)->SetLeftNeighbor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_SetBottomNeighbor) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    iTerrainObjectState *arg2 = (iTerrainObjectState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainObjectState_SetBottomNeighbor(self,bottom);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainObjectState_SetBottomNeighbor" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTerrainObjectState, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainObjectState_SetBottomNeighbor" "', argument " "2"" of type '" "iTerrainObjectState *""'"); 
    }
    arg2 = reinterpret_cast< iTerrainObjectState * >(argp2);
    (arg1)->SetBottomNeighbor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTerrainObjectState) {
  {
    iTerrainObjectState *arg1 = (iTerrainObjectState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTerrainObjectState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainObjectState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTerrainObjectState" "', argument " "1"" of type '" "iTerrainObjectState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainObjectState * >(argp1);
    delete_iTerrainObjectState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainObjectState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iTerrainObjectState_scfGetVersion();");
    }
    result = (int)iTerrainObjectState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainFactoryState_SetTerraFormer) {
  {
    iTerrainFactoryState *arg1 = (iTerrainFactoryState *) 0 ;
    iTerraFormer *arg2 = (iTerraFormer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainFactoryState_SetTerraFormer(self,form);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainFactoryState_SetTerraFormer" "', argument " "1"" of type '" "iTerrainFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainFactoryState_SetTerraFormer" "', argument " "2"" of type '" "iTerraFormer *""'"); 
    }
    arg2 = reinterpret_cast< iTerraFormer * >(argp2);
    (arg1)->SetTerraFormer(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainFactoryState_GetTerraFormer) {
  {
    iTerrainFactoryState *arg1 = (iTerrainFactoryState *) 0 ;
    iTerraFormer *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerrainFactoryState_GetTerraFormer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainFactoryState_GetTerraFormer" "', argument " "1"" of type '" "iTerrainFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainFactoryState * >(argp1);
    result = (iTerraFormer *)(arg1)->GetTerraFormer();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTerraFormer, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainFactoryState_SetSamplerRegion) {
  {
    iTerrainFactoryState *arg1 = (iTerrainFactoryState *) 0 ;
    csBox2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainFactoryState_SetSamplerRegion(self,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainFactoryState_SetSamplerRegion" "', argument " "1"" of type '" "iTerrainFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainFactoryState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainFactoryState_SetSamplerRegion" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerrainFactoryState_SetSamplerRegion" "', argument " "2"" of type '" "csBox2 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox2 * >(argp2);
    (arg1)->SetSamplerRegion((csBox2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainFactoryState_GetSamplerRegion) {
  {
    iTerrainFactoryState *arg1 = (iTerrainFactoryState *) 0 ;
    csBox2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerrainFactoryState_GetSamplerRegion(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainFactoryState_GetSamplerRegion" "', argument " "1"" of type '" "iTerrainFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainFactoryState * >(argp1);
    {
      csBox2 const &_result_ref = (arg1)->GetSamplerRegion();
      result = (csBox2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainFactoryState_SaveState) {
  {
    iTerrainFactoryState *arg1 = (iTerrainFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainFactoryState_SaveState(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainFactoryState_SaveState" "', argument " "1"" of type '" "iTerrainFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainFactoryState_SaveState" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SaveState((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainFactoryState_RestoreState) {
  {
    iTerrainFactoryState *arg1 = (iTerrainFactoryState *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerrainFactoryState_RestoreState(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainFactoryState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerrainFactoryState_RestoreState" "', argument " "1"" of type '" "iTerrainFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainFactoryState * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerrainFactoryState_RestoreState" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->RestoreState((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTerrainFactoryState) {
  {
    iTerrainFactoryState *arg1 = (iTerrainFactoryState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTerrainFactoryState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerrainFactoryState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTerrainFactoryState" "', argument " "1"" of type '" "iTerrainFactoryState *""'"); 
    }
    arg1 = reinterpret_cast< iTerrainFactoryState * >(argp1);
    delete_iTerrainFactoryState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerrainFactoryState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iTerrainFactoryState_scfGetVersion();");
    }
    result = (int)iTerrainFactoryState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_position_set) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticle_position_set(self,position);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_position_set" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticle_position_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->position = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_position_get) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticle_position_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_position_get" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    result = (csVector3 *)& ((arg1)->position);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_mass_set) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticle_mass_set(self,mass);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_mass_set" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csParticle_mass_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->mass = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_mass_get) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticle_mass_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_mass_get" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    result = (float) ((arg1)->mass);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_orientation_set) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    csQuaternion *arg2 = (csQuaternion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticle_orientation_set(self,orientation);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_orientation_set" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csQuaternion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticle_orientation_set" "', argument " "2"" of type '" "csQuaternion *""'"); 
    }
    arg2 = reinterpret_cast< csQuaternion * >(argp2);
    if (arg1) (arg1)->orientation = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_orientation_get) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    csQuaternion *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticle_orientation_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_orientation_get" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    result = (csQuaternion *)& ((arg1)->orientation);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csQuaternion, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_linearVelocity_set) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticle_linearVelocity_set(self,linearVelocity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_linearVelocity_set" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticle_linearVelocity_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->linearVelocity = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_linearVelocity_get) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticle_linearVelocity_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_linearVelocity_get" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    result = (csVector3 *)& ((arg1)->linearVelocity);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_timeToLive_set) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticle_timeToLive_set(self,timeToLive);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_timeToLive_set" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csParticle_timeToLive_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->timeToLive = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_timeToLive_get) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticle_timeToLive_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_timeToLive_get" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    result = (float) ((arg1)->timeToLive);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_angularVelocity_set) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticle_angularVelocity_set(self,angularVelocity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_angularVelocity_set" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticle_angularVelocity_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->angularVelocity = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_angularVelocity_get) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticle_angularVelocity_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_angularVelocity_get" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    result = (csVector3 *)& ((arg1)->angularVelocity);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_pad_set) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticle_pad_set(self,pad);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_pad_set" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csParticle_pad_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->pad = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticle_pad_get) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticle_pad_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticle_pad_get" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    result = (float) ((arg1)->pad);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csParticle) {
  {
    csParticle *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csParticle();");
    }
    result = (csParticle *)new csParticle();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csParticle, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csParticle) {
  {
    csParticle *arg1 = (csParticle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csParticle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticle, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csParticle" "', argument " "1"" of type '" "csParticle *""'"); 
    }
    arg1 = reinterpret_cast< csParticle * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleAux_color_set) {
  {
    csParticleAux *arg1 = (csParticleAux *) 0 ;
    csColor4 *arg2 = (csColor4 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticleAux_color_set(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleAux, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleAux_color_set" "', argument " "1"" of type '" "csParticleAux *""'"); 
    }
    arg1 = reinterpret_cast< csParticleAux * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csColor4, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticleAux_color_set" "', argument " "2"" of type '" "csColor4 *""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    if (arg1) (arg1)->color = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleAux_color_get) {
  {
    csParticleAux *arg1 = (csParticleAux *) 0 ;
    csColor4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticleAux_color_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleAux, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleAux_color_get" "', argument " "1"" of type '" "csParticleAux *""'"); 
    }
    arg1 = reinterpret_cast< csParticleAux * >(argp1);
    result = (csColor4 *)& ((arg1)->color);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColor4, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleAux_particleSize_set) {
  {
    csParticleAux *arg1 = (csParticleAux *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticleAux_particleSize_set(self,particleSize);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleAux, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleAux_particleSize_set" "', argument " "1"" of type '" "csParticleAux *""'"); 
    }
    arg1 = reinterpret_cast< csParticleAux * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticleAux_particleSize_set" "', argument " "2"" of type '" "csVector2 *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    if (arg1) (arg1)->particleSize = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleAux_particleSize_get) {
  {
    csParticleAux *arg1 = (csParticleAux *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticleAux_particleSize_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleAux, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleAux_particleSize_get" "', argument " "1"" of type '" "csParticleAux *""'"); 
    }
    arg1 = reinterpret_cast< csParticleAux * >(argp1);
    result = (csVector2 *)& ((arg1)->particleSize);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleAux_pad_set) {
  {
    csParticleAux *arg1 = (csParticleAux *) 0 ;
    float *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticleAux_pad_set(self,pad);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleAux, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleAux_pad_set" "', argument " "1"" of type '" "csParticleAux *""'"); 
    }
    arg1 = reinterpret_cast< csParticleAux * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticleAux_pad_set" "', argument " "2"" of type '" "float [2]""'"); 
    } 
    arg2 = reinterpret_cast< float * >(argp2);
    {
      if (arg2) {
        size_t ii = 0;
        for (; ii < (size_t)2; ++ii) arg1->pad[ii] = arg2[ii];
      } else {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""pad""' of type '""float [2]""'");
      }
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleAux_pad_get) {
  {
    csParticleAux *arg1 = (csParticleAux *) 0 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticleAux_pad_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleAux, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleAux_pad_get" "', argument " "1"" of type '" "csParticleAux *""'"); 
    }
    arg1 = reinterpret_cast< csParticleAux * >(argp1);
    result = (float *)(float *) ((arg1)->pad);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csParticleAux) {
  {
    csParticleAux *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csParticleAux();");
    }
    result = (csParticleAux *)new csParticleAux();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csParticleAux, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csParticleAux) {
  {
    csParticleAux *arg1 = (csParticleAux *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csParticleAux(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleAux, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csParticleAux" "', argument " "1"" of type '" "csParticleAux *""'"); 
    }
    arg1 = reinterpret_cast< csParticleAux * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleBuffer_particleData_set) {
  {
    csParticleBuffer *arg1 = (csParticleBuffer *) 0 ;
    csParticle *arg2 = (csParticle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticleBuffer_particleData_set(self,particleData);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleBuffer_particleData_set" "', argument " "1"" of type '" "csParticleBuffer *""'"); 
    }
    arg1 = reinterpret_cast< csParticleBuffer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csParticle, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticleBuffer_particleData_set" "', argument " "2"" of type '" "csParticle *""'"); 
    }
    arg2 = reinterpret_cast< csParticle * >(argp2);
    if (arg1) (arg1)->particleData = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleBuffer_particleData_get) {
  {
    csParticleBuffer *arg1 = (csParticleBuffer *) 0 ;
    csParticle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticleBuffer_particleData_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleBuffer_particleData_get" "', argument " "1"" of type '" "csParticleBuffer *""'"); 
    }
    arg1 = reinterpret_cast< csParticleBuffer * >(argp1);
    result = (csParticle *) ((arg1)->particleData);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csParticle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleBuffer_particleAuxData_set) {
  {
    csParticleBuffer *arg1 = (csParticleBuffer *) 0 ;
    csParticleAux *arg2 = (csParticleAux *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticleBuffer_particleAuxData_set(self,particleAuxData);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleBuffer_particleAuxData_set" "', argument " "1"" of type '" "csParticleBuffer *""'"); 
    }
    arg1 = reinterpret_cast< csParticleBuffer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csParticleAux, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csParticleBuffer_particleAuxData_set" "', argument " "2"" of type '" "csParticleAux *""'"); 
    }
    arg2 = reinterpret_cast< csParticleAux * >(argp2);
    if (arg1) (arg1)->particleAuxData = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleBuffer_particleAuxData_get) {
  {
    csParticleBuffer *arg1 = (csParticleBuffer *) 0 ;
    csParticleAux *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticleBuffer_particleAuxData_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleBuffer_particleAuxData_get" "', argument " "1"" of type '" "csParticleBuffer *""'"); 
    }
    arg1 = reinterpret_cast< csParticleBuffer * >(argp1);
    result = (csParticleAux *) ((arg1)->particleAuxData);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csParticleAux, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleBuffer_particleCount_set) {
  {
    csParticleBuffer *arg1 = (csParticleBuffer *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csParticleBuffer_particleCount_set(self,particleCount);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleBuffer_particleCount_set" "', argument " "1"" of type '" "csParticleBuffer *""'"); 
    }
    arg1 = reinterpret_cast< csParticleBuffer * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csParticleBuffer_particleCount_set" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    if (arg1) (arg1)->particleCount = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csParticleBuffer_particleCount_get) {
  {
    csParticleBuffer *arg1 = (csParticleBuffer *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csParticleBuffer_particleCount_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csParticleBuffer_particleCount_get" "', argument " "1"" of type '" "csParticleBuffer *""'"); 
    }
    arg1 = reinterpret_cast< csParticleBuffer * >(argp1);
    result =  ((arg1)->particleCount);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csParticleBuffer) {
  {
    csParticleBuffer *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csParticleBuffer();");
    }
    result = (csParticleBuffer *)new csParticleBuffer();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csParticleBuffer, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csParticleBuffer) {
  {
    csParticleBuffer *arg1 = (csParticleBuffer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csParticleBuffer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csParticleBuffer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csParticleBuffer" "', argument " "1"" of type '" "csParticleBuffer *""'"); 
    }
    arg1 = reinterpret_cast< csParticleBuffer * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_SetEnabled) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleEmitter_SetEnabled(self,enabled);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_SetEnabled" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleEmitter_SetEnabled" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetEnabled(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_GetEnabled) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleEmitter_GetEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_GetEnabled" "', argument " "1"" of type '" "iParticleEmitter const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    result = (bool)((iParticleEmitter const *)arg1)->GetEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_SetStartTime) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleEmitter_SetStartTime(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_SetStartTime" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleEmitter_SetStartTime" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetStartTime(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_GetStartTime) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleEmitter_GetStartTime(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_GetStartTime" "', argument " "1"" of type '" "iParticleEmitter const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    result = (float)((iParticleEmitter const *)arg1)->GetStartTime();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_SetDuration) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleEmitter_SetDuration(self,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_SetDuration" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleEmitter_SetDuration" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetDuration(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_GetDuration) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleEmitter_GetDuration(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_GetDuration" "', argument " "1"" of type '" "iParticleEmitter const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    result = (float)((iParticleEmitter const *)arg1)->GetDuration();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_SetEmissionRate) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleEmitter_SetEmissionRate(self,particlesPerSecond);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_SetEmissionRate" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleEmitter_SetEmissionRate" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetEmissionRate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_GetEmissionRate) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleEmitter_GetEmissionRate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_GetEmissionRate" "', argument " "1"" of type '" "iParticleEmitter const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    result = (float)((iParticleEmitter const *)arg1)->GetEmissionRate();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_SetInitialTTL) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iParticleEmitter_SetInitialTTL(self,min,max);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_SetInitialTTL" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleEmitter_SetInitialTTL" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iParticleEmitter_SetInitialTTL" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetInitialTTL(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_GetInitialTTL) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float temp2 ;
    int res2 = SWIG_TMPOBJ ;
    float temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleEmitter_GetInitialTTL(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_GetInitialTTL" "', argument " "1"" of type '" "iParticleEmitter const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    ((iParticleEmitter const *)arg1)->GetInitialTTL(*arg2,*arg3);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_SetInitialMass) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iParticleEmitter_SetInitialMass(self,min,max);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_SetInitialMass" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleEmitter_SetInitialMass" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iParticleEmitter_SetInitialMass" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetInitialMass(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_GetInitialMass) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float temp2 ;
    int res2 = SWIG_TMPOBJ ;
    float temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleEmitter_GetInitialMass(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_GetInitialMass" "', argument " "1"" of type '" "iParticleEmitter const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    ((iParticleEmitter const *)arg1)->GetInitialMass(*arg2,*arg3);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_Clone) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    SwigValueWrapper<csPtr<iParticleEmitter > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleEmitter_Clone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_Clone" "', argument " "1"" of type '" "iParticleEmitter const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    result = ((iParticleEmitter const *)arg1)->Clone();
    {
      csRef<iParticleEmitter> rf ((csPtr<iParticleEmitter>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iParticleEmitter*)rf, SWIG_TypeQuery("cspace::""iParticleEmitter"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_ParticlesToEmit) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    iParticleSystemBase *arg2 = (iParticleSystemBase *) 0 ;
    float arg3 ;
    float arg4 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iParticleEmitter_ParticlesToEmit(self,system,dt,totalTime);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_ParticlesToEmit" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleEmitter_ParticlesToEmit" "', argument " "2"" of type '" "iParticleSystemBase *""'"); 
    }
    arg2 = reinterpret_cast< iParticleSystemBase * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iParticleEmitter_ParticlesToEmit" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iParticleEmitter_ParticlesToEmit" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (arg1)->ParticlesToEmit(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_EmitParticles__SWIG_0) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    iParticleSystemBase *arg2 = (iParticleSystemBase *) 0 ;
    csParticleBuffer *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    csReversibleTransform *arg6 = (csReversibleTransform *) (csReversibleTransform *)0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iParticleEmitter_EmitParticles(self,system,particleBuffer,dt,totalTime,emitterToParticle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_EmitParticles" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleEmitter_EmitParticles" "', argument " "2"" of type '" "iParticleSystemBase *""'"); 
    }
    arg2 = reinterpret_cast< iParticleSystemBase * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csParticleBuffer,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iParticleEmitter_EmitParticles" "', argument " "3"" of type '" "csParticleBuffer const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleEmitter_EmitParticles" "', argument " "3"" of type '" "csParticleBuffer const &""'"); 
    }
    arg3 = reinterpret_cast< csParticleBuffer * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iParticleEmitter_EmitParticles" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iParticleEmitter_EmitParticles" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iParticleEmitter_EmitParticles" "', argument " "6"" of type '" "csReversibleTransform const *const""'"); 
    }
    arg6 = reinterpret_cast< csReversibleTransform * >(argp6);
    (arg1)->EmitParticles(arg2,(csParticleBuffer const &)*arg3,arg4,arg5,(csReversibleTransform const *)arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_EmitParticles__SWIG_1) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    iParticleSystemBase *arg2 = (iParticleSystemBase *) 0 ;
    csParticleBuffer *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iParticleEmitter_EmitParticles(self,system,particleBuffer,dt,totalTime);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEmitter_EmitParticles" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleEmitter_EmitParticles" "', argument " "2"" of type '" "iParticleSystemBase *""'"); 
    }
    arg2 = reinterpret_cast< iParticleSystemBase * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csParticleBuffer,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iParticleEmitter_EmitParticles" "', argument " "3"" of type '" "csParticleBuffer const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleEmitter_EmitParticles" "', argument " "3"" of type '" "csParticleBuffer const &""'"); 
    }
    arg3 = reinterpret_cast< csParticleBuffer * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iParticleEmitter_EmitParticles" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iParticleEmitter_EmitParticles" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->EmitParticles(arg2,(csParticleBuffer const &)*arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_EmitParticles) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iParticleEmitter, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iParticleSystemBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csParticleBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iParticleEmitter, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iParticleSystemBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csParticleBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iParticleEmitter_EmitParticles__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iParticleEmitter_EmitParticles__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iParticleEmitter_EmitParticles'");
  XSRETURN(0);
}


XS(_wrap_delete_iParticleEmitter) {
  {
    iParticleEmitter *arg1 = (iParticleEmitter *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleEmitter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEmitter, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleEmitter" "', argument " "1"" of type '" "iParticleEmitter *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEmitter * >(argp1);
    delete_iParticleEmitter(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEmitter_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleEmitter_scfGetVersion();");
    }
    result = (int)iParticleEmitter_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEffector_Clone) {
  {
    iParticleEffector *arg1 = (iParticleEffector *) 0 ;
    SwigValueWrapper<csPtr<iParticleEffector > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleEffector_Clone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEffector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEffector_Clone" "', argument " "1"" of type '" "iParticleEffector const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEffector * >(argp1);
    result = ((iParticleEffector const *)arg1)->Clone();
    {
      csRef<iParticleEffector> rf ((csPtr<iParticleEffector>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iParticleEffector*)rf, SWIG_TypeQuery("cspace::""iParticleEffector"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEffector_EffectParticles) {
  {
    iParticleEffector *arg1 = (iParticleEffector *) 0 ;
    iParticleSystemBase *arg2 = (iParticleSystemBase *) 0 ;
    csParticleBuffer *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iParticleEffector_EffectParticles(self,system,particleBuffer,dt,totalTime);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEffector, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleEffector_EffectParticles" "', argument " "1"" of type '" "iParticleEffector *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEffector * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleEffector_EffectParticles" "', argument " "2"" of type '" "iParticleSystemBase *""'"); 
    }
    arg2 = reinterpret_cast< iParticleSystemBase * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csParticleBuffer,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iParticleEffector_EffectParticles" "', argument " "3"" of type '" "csParticleBuffer const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleEffector_EffectParticles" "', argument " "3"" of type '" "csParticleBuffer const &""'"); 
    }
    arg3 = reinterpret_cast< csParticleBuffer * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iParticleEffector_EffectParticles" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iParticleEffector_EffectParticles" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->EffectParticles(arg2,(csParticleBuffer const &)*arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleEffector) {
  {
    iParticleEffector *arg1 = (iParticleEffector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleEffector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleEffector, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleEffector" "', argument " "1"" of type '" "iParticleEffector *""'"); 
    }
    arg1 = reinterpret_cast< iParticleEffector * >(argp1);
    delete_iParticleEffector(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleEffector_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleEffector_scfGetVersion();");
    }
    result = (int)iParticleEffector_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetParticleRenderOrientation) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleRenderOrientation arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetParticleRenderOrientation(self,o);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetParticleRenderOrientation" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_SetParticleRenderOrientation" "', argument " "2"" of type '" "csParticleRenderOrientation""'");
    } 
    arg2 = static_cast< csParticleRenderOrientation >(val2);
    (arg1)->SetParticleRenderOrientation(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetParticleRenderOrientation) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleRenderOrientation result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetParticleRenderOrientation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetParticleRenderOrientation" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    result = (csParticleRenderOrientation)((iParticleSystemBase const *)arg1)->GetParticleRenderOrientation();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetRotationMode) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleRotationMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetRotationMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetRotationMode" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_SetRotationMode" "', argument " "2"" of type '" "csParticleRotationMode""'");
    } 
    arg2 = static_cast< csParticleRotationMode >(val2);
    (arg1)->SetRotationMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetRotationMode) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleRotationMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetRotationMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetRotationMode" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    result = (csParticleRotationMode)((iParticleSystemBase const *)arg1)->GetRotationMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetSortMode) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleSortMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetSortMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetSortMode" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_SetSortMode" "', argument " "2"" of type '" "csParticleSortMode""'");
    } 
    arg2 = static_cast< csParticleSortMode >(val2);
    (arg1)->SetSortMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetSortMode) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleSortMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetSortMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetSortMode" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    result = (csParticleSortMode)((iParticleSystemBase const *)arg1)->GetSortMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetIntegrationMode) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleIntegrationMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetIntegrationMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetIntegrationMode" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_SetIntegrationMode" "', argument " "2"" of type '" "csParticleIntegrationMode""'");
    } 
    arg2 = static_cast< csParticleIntegrationMode >(val2);
    (arg1)->SetIntegrationMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetIntegrationMode) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleIntegrationMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetIntegrationMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetIntegrationMode" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    result = (csParticleIntegrationMode)(arg1)->GetIntegrationMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetCommonDirection) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetCommonDirection(self,direction);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetCommonDirection" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleSystemBase_SetCommonDirection" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleSystemBase_SetCommonDirection" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetCommonDirection((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetCommonDirection) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetCommonDirection(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetCommonDirection" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    {
      csVector3 const &_result_ref = ((iParticleSystemBase const *)arg1)->GetCommonDirection();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetTransformMode) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleTransformMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetTransformMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetTransformMode" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_SetTransformMode" "', argument " "2"" of type '" "csParticleTransformMode""'");
    } 
    arg2 = static_cast< csParticleTransformMode >(val2);
    (arg1)->SetTransformMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetTransformMode) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csParticleTransformMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetTransformMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetTransformMode" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    result = (csParticleTransformMode)((iParticleSystemBase const *)arg1)->GetTransformMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetUseIndividualSize) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetUseIndividualSize(self,individual);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetUseIndividualSize" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_SetUseIndividualSize" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetUseIndividualSize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetUseIndividualSize) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetUseIndividualSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetUseIndividualSize" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    result = (bool)((iParticleSystemBase const *)arg1)->GetUseIndividualSize();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetParticleSize) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csVector2 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetParticleSize(self,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetParticleSize" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleSystemBase_SetParticleSize" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleSystemBase_SetParticleSize" "', argument " "2"" of type '" "csVector2 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    (arg1)->SetParticleSize((csVector2 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetParticleSize) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetParticleSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetParticleSize" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    {
      csVector2 const &_result_ref = ((iParticleSystemBase const *)arg1)->GetParticleSize();
      result = (csVector2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_SetMinBoundingBox) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csBox3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_SetMinBoundingBox(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_SetMinBoundingBox" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleSystemBase_SetMinBoundingBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleSystemBase_SetMinBoundingBox" "', argument " "2"" of type '" "csBox3 const &""'"); 
    }
    arg2 = reinterpret_cast< csBox3 * >(argp2);
    (arg1)->SetMinBoundingBox((csBox3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetMinBoundingBox) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    csBox3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetMinBoundingBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetMinBoundingBox" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    {
      csBox3 const &_result_ref = ((iParticleSystemBase const *)arg1)->GetMinBoundingBox();
      result = (csBox3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_AddEmitter) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    iParticleEmitter *arg2 = (iParticleEmitter *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_AddEmitter(self,emitter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_AddEmitter" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iParticleEmitter, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleSystemBase_AddEmitter" "', argument " "2"" of type '" "iParticleEmitter *""'"); 
    }
    arg2 = reinterpret_cast< iParticleEmitter * >(argp2);
    (arg1)->AddEmitter(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetEmitter) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    size_t arg2 ;
    iParticleEmitter *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_GetEmitter(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetEmitter" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_GetEmitter" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iParticleEmitter *)((iParticleSystemBase const *)arg1)->GetEmitter(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iParticleEmitter, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_RemoveEmitter) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_RemoveEmitter(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_RemoveEmitter" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_RemoveEmitter" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->RemoveEmitter(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetEmitterCount) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetEmitterCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetEmitterCount" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    result = ((iParticleSystemBase const *)arg1)->GetEmitterCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_AddEffector) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    iParticleEffector *arg2 = (iParticleEffector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_AddEffector(self,effector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_AddEffector" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iParticleEffector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleSystemBase_AddEffector" "', argument " "2"" of type '" "iParticleEffector *""'"); 
    }
    arg2 = reinterpret_cast< iParticleEffector * >(argp2);
    (arg1)->AddEffector(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetEffector) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    size_t arg2 ;
    iParticleEffector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_GetEffector(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetEffector" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_GetEffector" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iParticleEffector *)((iParticleSystemBase const *)arg1)->GetEffector(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iParticleEffector, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_RemoveEffector) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemBase_RemoveEffector(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_RemoveEffector" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemBase_RemoveEffector" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->RemoveEffector(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_GetEffectorCount) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemBase_GetEffectorCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemBase_GetEffectorCount" "', argument " "1"" of type '" "iParticleSystemBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    result = ((iParticleSystemBase const *)arg1)->GetEffectorCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleSystemBase) {
  {
    iParticleSystemBase *arg1 = (iParticleSystemBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleSystemBase(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemBase, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleSystemBase" "', argument " "1"" of type '" "iParticleSystemBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemBase * >(argp1);
    delete_iParticleSystemBase(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemBase_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleSystemBase_scfGetVersion();");
    }
    result = (int)iParticleSystemBase_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemFactory_SetDeepCreation) {
  {
    iParticleSystemFactory *arg1 = (iParticleSystemFactory *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystemFactory_SetDeepCreation(self,deep);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemFactory_SetDeepCreation" "', argument " "1"" of type '" "iParticleSystemFactory *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemFactory * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystemFactory_SetDeepCreation" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetDeepCreation(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemFactory_GetDeepCreation) {
  {
    iParticleSystemFactory *arg1 = (iParticleSystemFactory *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystemFactory_GetDeepCreation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystemFactory_GetDeepCreation" "', argument " "1"" of type '" "iParticleSystemFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemFactory * >(argp1);
    result = (bool)((iParticleSystemFactory const *)arg1)->GetDeepCreation();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleSystemFactory) {
  {
    iParticleSystemFactory *arg1 = (iParticleSystemFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleSystemFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystemFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleSystemFactory" "', argument " "1"" of type '" "iParticleSystemFactory *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystemFactory * >(argp1);
    delete_iParticleSystemFactory(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystemFactory_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleSystemFactory_scfGetVersion();");
    }
    result = (int)iParticleSystemFactory_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystem_GetParticleCount) {
  {
    iParticleSystem *arg1 = (iParticleSystem *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleSystem_GetParticleCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystem_GetParticleCount" "', argument " "1"" of type '" "iParticleSystem const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystem * >(argp1);
    result = ((iParticleSystem const *)arg1)->GetParticleCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystem_GetParticle) {
  {
    iParticleSystem *arg1 = (iParticleSystem *) 0 ;
    size_t arg2 ;
    csParticle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystem_GetParticle(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystem_GetParticle" "', argument " "1"" of type '" "iParticleSystem *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystem * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystem_GetParticle" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (csParticle *)(arg1)->GetParticle(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csParticle, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystem_GetParticleAux) {
  {
    iParticleSystem *arg1 = (iParticleSystem *) 0 ;
    size_t arg2 ;
    csParticleAux *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystem_GetParticleAux(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystem_GetParticleAux" "', argument " "1"" of type '" "iParticleSystem *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystem * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystem_GetParticleAux" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (csParticleAux *)(arg1)->GetParticleAux(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csParticleAux, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystem_LockForExternalControl) {
  {
    iParticleSystem *arg1 = (iParticleSystem *) 0 ;
    size_t arg2 ;
    csParticleBuffer *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleSystem_LockForExternalControl(self,maxParticles);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleSystem_LockForExternalControl" "', argument " "1"" of type '" "iParticleSystem *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystem * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleSystem_LockForExternalControl" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (csParticleBuffer *)(arg1)->LockForExternalControl(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csParticleBuffer, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleSystem) {
  {
    iParticleSystem *arg1 = (iParticleSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleSystem(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleSystem, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleSystem" "', argument " "1"" of type '" "iParticleSystem *""'"); 
    }
    arg1 = reinterpret_cast< iParticleSystem * >(argp1);
    delete_iParticleSystem(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleSystem_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleSystem_scfGetVersion();");
    }
    result = (int)iParticleSystem_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_SetPosition) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_SetPosition(self,position);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBase_SetPosition" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEmitterBase_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEmitterBase_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetPosition((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_GetPosition) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_GetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBase_GetPosition" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    {
      csVector3 const &_result_ref = ((iParticleBuiltinEmitterBase const *)arg1)->GetPosition();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_SetParticlePlacement) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    csParticleBuiltinEmitterPlacement arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_SetParticlePlacement(self,place);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBase_SetParticlePlacement" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEmitterBase_SetParticlePlacement" "', argument " "2"" of type '" "csParticleBuiltinEmitterPlacement""'");
    } 
    arg2 = static_cast< csParticleBuiltinEmitterPlacement >(val2);
    (arg1)->SetParticlePlacement(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_GetParticlePlacement) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    csParticleBuiltinEmitterPlacement result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_GetParticlePlacement(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBase_GetParticlePlacement" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    result = (csParticleBuiltinEmitterPlacement)((iParticleBuiltinEmitterBase const *)arg1)->GetParticlePlacement();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_SetUniformVelocity) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_SetUniformVelocity(self,uniform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBase_SetUniformVelocity" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEmitterBase_SetUniformVelocity" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetUniformVelocity(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_GetUniformVelocity) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_GetUniformVelocity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBase_GetUniformVelocity" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    result = (bool)((iParticleBuiltinEmitterBase const *)arg1)->GetUniformVelocity();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_SetInitialVelocity) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_SetInitialVelocity(self,linear,angular);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBase_SetInitialVelocity" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEmitterBase_SetInitialVelocity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEmitterBase_SetInitialVelocity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iParticleBuiltinEmitterBase_SetInitialVelocity" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEmitterBase_SetInitialVelocity" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetInitialVelocity((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_GetInitialVelocity) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_GetInitialVelocity(self,linear,angular);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBase_GetInitialVelocity" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEmitterBase_GetInitialVelocity" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEmitterBase_GetInitialVelocity" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iParticleBuiltinEmitterBase_GetInitialVelocity" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEmitterBase_GetInitialVelocity" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ((iParticleBuiltinEmitterBase const *)arg1)->GetInitialVelocity(*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEmitterBase) {
  {
    iParticleBuiltinEmitterBase *arg1 = (iParticleBuiltinEmitterBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEmitterBase(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBase, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEmitterBase" "', argument " "1"" of type '" "iParticleBuiltinEmitterBase *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBase * >(argp1);
    delete_iParticleBuiltinEmitterBase(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBase_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBase_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEmitterBase_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterSphere_SetRadius) {
  {
    iParticleBuiltinEmitterSphere *arg1 = (iParticleBuiltinEmitterSphere *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterSphere_SetRadius(self,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterSphere_SetRadius" "', argument " "1"" of type '" "iParticleBuiltinEmitterSphere *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterSphere * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEmitterSphere_SetRadius" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetRadius(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterSphere_GetRadius) {
  {
    iParticleBuiltinEmitterSphere *arg1 = (iParticleBuiltinEmitterSphere *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterSphere_GetRadius(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterSphere, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterSphere_GetRadius" "', argument " "1"" of type '" "iParticleBuiltinEmitterSphere const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterSphere * >(argp1);
    result = (float)((iParticleBuiltinEmitterSphere const *)arg1)->GetRadius();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEmitterSphere) {
  {
    iParticleBuiltinEmitterSphere *arg1 = (iParticleBuiltinEmitterSphere *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEmitterSphere(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterSphere, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEmitterSphere" "', argument " "1"" of type '" "iParticleBuiltinEmitterSphere *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterSphere * >(argp1);
    delete_iParticleBuiltinEmitterSphere(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterSphere_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterSphere_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEmitterSphere_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCone_SetExtent) {
  {
    iParticleBuiltinEmitterCone *arg1 = (iParticleBuiltinEmitterCone *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCone_SetExtent(self,extent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterCone_SetExtent" "', argument " "1"" of type '" "iParticleBuiltinEmitterCone *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCone * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEmitterCone_SetExtent" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEmitterCone_SetExtent" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetExtent((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCone_GetExtent) {
  {
    iParticleBuiltinEmitterCone *arg1 = (iParticleBuiltinEmitterCone *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCone_GetExtent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterCone_GetExtent" "', argument " "1"" of type '" "iParticleBuiltinEmitterCone const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCone * >(argp1);
    {
      csVector3 const &_result_ref = ((iParticleBuiltinEmitterCone const *)arg1)->GetExtent();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCone_SetConeAngle) {
  {
    iParticleBuiltinEmitterCone *arg1 = (iParticleBuiltinEmitterCone *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCone_SetConeAngle(self,angle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterCone_SetConeAngle" "', argument " "1"" of type '" "iParticleBuiltinEmitterCone *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCone * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEmitterCone_SetConeAngle" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetConeAngle(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCone_GetConeAngle) {
  {
    iParticleBuiltinEmitterCone *arg1 = (iParticleBuiltinEmitterCone *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCone_GetConeAngle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCone, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterCone_GetConeAngle" "', argument " "1"" of type '" "iParticleBuiltinEmitterCone const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCone * >(argp1);
    result = (float)((iParticleBuiltinEmitterCone const *)arg1)->GetConeAngle();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEmitterCone) {
  {
    iParticleBuiltinEmitterCone *arg1 = (iParticleBuiltinEmitterCone *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEmitterCone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCone, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEmitterCone" "', argument " "1"" of type '" "iParticleBuiltinEmitterCone *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCone * >(argp1);
    delete_iParticleBuiltinEmitterCone(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCone_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCone_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEmitterCone_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBox_SetBox) {
  {
    iParticleBuiltinEmitterBox *arg1 = (iParticleBuiltinEmitterBox *) 0 ;
    csOBB *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBox_SetBox(self,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBox_SetBox" "', argument " "1"" of type '" "iParticleBuiltinEmitterBox *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBox * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csOBB,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEmitterBox_SetBox" "', argument " "2"" of type '" "csOBB const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEmitterBox_SetBox" "', argument " "2"" of type '" "csOBB const &""'"); 
    }
    arg2 = reinterpret_cast< csOBB * >(argp2);
    (arg1)->SetBox((csOBB const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBox_GetBox) {
  {
    iParticleBuiltinEmitterBox *arg1 = (iParticleBuiltinEmitterBox *) 0 ;
    csOBB *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBox_GetBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBox, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterBox_GetBox" "', argument " "1"" of type '" "iParticleBuiltinEmitterBox const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBox * >(argp1);
    {
      csOBB const &_result_ref = ((iParticleBuiltinEmitterBox const *)arg1)->GetBox();
      result = (csOBB *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csOBB, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEmitterBox) {
  {
    iParticleBuiltinEmitterBox *arg1 = (iParticleBuiltinEmitterBox *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEmitterBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterBox, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEmitterBox" "', argument " "1"" of type '" "iParticleBuiltinEmitterBox *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterBox * >(argp1);
    delete_iParticleBuiltinEmitterBox(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterBox_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterBox_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEmitterBox_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCylinder_SetRadius) {
  {
    iParticleBuiltinEmitterCylinder *arg1 = (iParticleBuiltinEmitterCylinder *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCylinder_SetRadius(self,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCylinder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterCylinder_SetRadius" "', argument " "1"" of type '" "iParticleBuiltinEmitterCylinder *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCylinder * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEmitterCylinder_SetRadius" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetRadius(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCylinder_GetRadius) {
  {
    iParticleBuiltinEmitterCylinder *arg1 = (iParticleBuiltinEmitterCylinder *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCylinder_GetRadius(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCylinder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterCylinder_GetRadius" "', argument " "1"" of type '" "iParticleBuiltinEmitterCylinder const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCylinder * >(argp1);
    result = (float)((iParticleBuiltinEmitterCylinder const *)arg1)->GetRadius();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCylinder_SetExtent) {
  {
    iParticleBuiltinEmitterCylinder *arg1 = (iParticleBuiltinEmitterCylinder *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCylinder_SetExtent(self,extent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCylinder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterCylinder_SetExtent" "', argument " "1"" of type '" "iParticleBuiltinEmitterCylinder *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCylinder * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEmitterCylinder_SetExtent" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEmitterCylinder_SetExtent" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetExtent((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCylinder_GetExtent) {
  {
    iParticleBuiltinEmitterCylinder *arg1 = (iParticleBuiltinEmitterCylinder *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCylinder_GetExtent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCylinder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterCylinder_GetExtent" "', argument " "1"" of type '" "iParticleBuiltinEmitterCylinder const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCylinder * >(argp1);
    {
      csVector3 const &_result_ref = ((iParticleBuiltinEmitterCylinder const *)arg1)->GetExtent();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEmitterCylinder) {
  {
    iParticleBuiltinEmitterCylinder *arg1 = (iParticleBuiltinEmitterCylinder *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEmitterCylinder(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterCylinder, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEmitterCylinder" "', argument " "1"" of type '" "iParticleBuiltinEmitterCylinder *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterCylinder * >(argp1);
    delete_iParticleBuiltinEmitterCylinder(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterCylinder_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterCylinder_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEmitterCylinder_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterFactory_CreateSphere) {
  {
    iParticleBuiltinEmitterFactory *arg1 = (iParticleBuiltinEmitterFactory *) 0 ;
    SwigValueWrapper<csPtr<iParticleBuiltinEmitterSphere > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterFactory_CreateSphere(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterFactory_CreateSphere" "', argument " "1"" of type '" "iParticleBuiltinEmitterFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterFactory * >(argp1);
    result = ((iParticleBuiltinEmitterFactory const *)arg1)->CreateSphere();
    {
      csRef<iParticleBuiltinEmitterSphere> rf ((csPtr<iParticleBuiltinEmitterSphere>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iParticleBuiltinEmitterSphere*)rf, SWIG_TypeQuery("cspace::""iParticleBuiltinEmitterSphere"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterFactory_CreateCone) {
  {
    iParticleBuiltinEmitterFactory *arg1 = (iParticleBuiltinEmitterFactory *) 0 ;
    SwigValueWrapper<csPtr<iParticleBuiltinEmitterCone > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterFactory_CreateCone(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterFactory_CreateCone" "', argument " "1"" of type '" "iParticleBuiltinEmitterFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterFactory * >(argp1);
    result = ((iParticleBuiltinEmitterFactory const *)arg1)->CreateCone();
    {
      csRef<iParticleBuiltinEmitterCone> rf ((csPtr<iParticleBuiltinEmitterCone>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iParticleBuiltinEmitterCone*)rf, SWIG_TypeQuery("cspace::""iParticleBuiltinEmitterCone"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterFactory_CreateBox) {
  {
    iParticleBuiltinEmitterFactory *arg1 = (iParticleBuiltinEmitterFactory *) 0 ;
    SwigValueWrapper<csPtr<iParticleBuiltinEmitterBox > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterFactory_CreateBox(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterFactory_CreateBox" "', argument " "1"" of type '" "iParticleBuiltinEmitterFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterFactory * >(argp1);
    result = ((iParticleBuiltinEmitterFactory const *)arg1)->CreateBox();
    {
      csRef<iParticleBuiltinEmitterBox> rf ((csPtr<iParticleBuiltinEmitterBox>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iParticleBuiltinEmitterBox*)rf, SWIG_TypeQuery("cspace::""iParticleBuiltinEmitterBox"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterFactory_CreateCylinder) {
  {
    iParticleBuiltinEmitterFactory *arg1 = (iParticleBuiltinEmitterFactory *) 0 ;
    SwigValueWrapper<csPtr<iParticleBuiltinEmitterCylinder > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterFactory_CreateCylinder(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEmitterFactory_CreateCylinder" "', argument " "1"" of type '" "iParticleBuiltinEmitterFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterFactory * >(argp1);
    result = ((iParticleBuiltinEmitterFactory const *)arg1)->CreateCylinder();
    {
      csRef<iParticleBuiltinEmitterCylinder> rf ((csPtr<iParticleBuiltinEmitterCylinder>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iParticleBuiltinEmitterCylinder*)rf, SWIG_TypeQuery("cspace::""iParticleBuiltinEmitterCylinder"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEmitterFactory) {
  {
    iParticleBuiltinEmitterFactory *arg1 = (iParticleBuiltinEmitterFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEmitterFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEmitterFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEmitterFactory" "', argument " "1"" of type '" "iParticleBuiltinEmitterFactory *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEmitterFactory * >(argp1);
    delete_iParticleBuiltinEmitterFactory(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEmitterFactory_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEmitterFactory_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEmitterFactory_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorForce_SetAcceleration) {
  {
    iParticleBuiltinEffectorForce *arg1 = (iParticleBuiltinEffectorForce *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorForce_SetAcceleration(self,acceleration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorForce, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorForce_SetAcceleration" "', argument " "1"" of type '" "iParticleBuiltinEffectorForce *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorForce * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEffectorForce_SetAcceleration" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEffectorForce_SetAcceleration" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetAcceleration((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorForce_GetAcceleration) {
  {
    iParticleBuiltinEffectorForce *arg1 = (iParticleBuiltinEffectorForce *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorForce_GetAcceleration(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorForce, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorForce_GetAcceleration" "', argument " "1"" of type '" "iParticleBuiltinEffectorForce const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorForce * >(argp1);
    {
      csVector3 const &_result_ref = ((iParticleBuiltinEffectorForce const *)arg1)->GetAcceleration();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorForce_SetForce) {
  {
    iParticleBuiltinEffectorForce *arg1 = (iParticleBuiltinEffectorForce *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorForce_SetForce(self,force);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorForce, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorForce_SetForce" "', argument " "1"" of type '" "iParticleBuiltinEffectorForce *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorForce * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEffectorForce_SetForce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEffectorForce_SetForce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetForce((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorForce_GetForce) {
  {
    iParticleBuiltinEffectorForce *arg1 = (iParticleBuiltinEffectorForce *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorForce_GetForce(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorForce, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorForce_GetForce" "', argument " "1"" of type '" "iParticleBuiltinEffectorForce const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorForce * >(argp1);
    {
      csVector3 const &_result_ref = ((iParticleBuiltinEffectorForce const *)arg1)->GetForce();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorForce_SetRandomAcceleration) {
  {
    iParticleBuiltinEffectorForce *arg1 = (iParticleBuiltinEffectorForce *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorForce_SetRandomAcceleration(self,magnitude);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorForce, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorForce_SetRandomAcceleration" "', argument " "1"" of type '" "iParticleBuiltinEffectorForce *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorForce * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEffectorForce_SetRandomAcceleration" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEffectorForce_SetRandomAcceleration" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetRandomAcceleration((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorForce_GetRandomAcceleration) {
  {
    iParticleBuiltinEffectorForce *arg1 = (iParticleBuiltinEffectorForce *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorForce_GetRandomAcceleration(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorForce, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorForce_GetRandomAcceleration" "', argument " "1"" of type '" "iParticleBuiltinEffectorForce const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorForce * >(argp1);
    {
      csVector3 const &_result_ref = ((iParticleBuiltinEffectorForce const *)arg1)->GetRandomAcceleration();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEffectorForce) {
  {
    iParticleBuiltinEffectorForce *arg1 = (iParticleBuiltinEffectorForce *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEffectorForce(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorForce, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEffectorForce" "', argument " "1"" of type '" "iParticleBuiltinEffectorForce *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorForce * >(argp1);
    delete_iParticleBuiltinEffectorForce(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorForce_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorForce_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEffectorForce_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorLinColor_AddColor) {
  {
    iParticleBuiltinEffectorLinColor *arg1 = (iParticleBuiltinEffectorLinColor *) 0 ;
    csColor4 *arg2 = 0 ;
    float arg3 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorLinColor_AddColor(self,color,endTTL);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorLinColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorLinColor_AddColor" "', argument " "1"" of type '" "iParticleBuiltinEffectorLinColor *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorLinColor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParticleBuiltinEffectorLinColor_AddColor" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEffectorLinColor_AddColor" "', argument " "2"" of type '" "csColor4 const &""'"); 
    }
    arg2 = reinterpret_cast< csColor4 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iParticleBuiltinEffectorLinColor_AddColor" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (arg1)->AddColor((csColor4 const &)*arg2,arg3);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorLinColor_SetColor) {
  {
    iParticleBuiltinEffectorLinColor *arg1 = (iParticleBuiltinEffectorLinColor *) 0 ;
    size_t arg2 ;
    csColor4 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorLinColor_SetColor(self,index,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorLinColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorLinColor_SetColor" "', argument " "1"" of type '" "iParticleBuiltinEffectorLinColor *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorLinColor * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEffectorLinColor_SetColor" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iParticleBuiltinEffectorLinColor_SetColor" "', argument " "3"" of type '" "csColor4 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEffectorLinColor_SetColor" "', argument " "3"" of type '" "csColor4 const &""'"); 
    }
    arg3 = reinterpret_cast< csColor4 * >(argp3);
    (arg1)->SetColor(arg2,(csColor4 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorLinColor_GetColor) {
  {
    iParticleBuiltinEffectorLinColor *arg1 = (iParticleBuiltinEffectorLinColor *) 0 ;
    size_t arg2 ;
    csColor4 *arg3 = 0 ;
    float *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorLinColor_GetColor(self,index,color,endTTL);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorLinColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorLinColor_GetColor" "', argument " "1"" of type '" "iParticleBuiltinEffectorLinColor const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorLinColor * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEffectorLinColor_GetColor" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csColor4,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iParticleBuiltinEffectorLinColor_GetColor" "', argument " "3"" of type '" "csColor4 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEffectorLinColor_GetColor" "', argument " "3"" of type '" "csColor4 &""'"); 
    }
    arg3 = reinterpret_cast< csColor4 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iParticleBuiltinEffectorLinColor_GetColor" "', argument " "4"" of type '" "float &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEffectorLinColor_GetColor" "', argument " "4"" of type '" "float &""'"); 
    }
    arg4 = reinterpret_cast< float * >(argp4);
    ((iParticleBuiltinEffectorLinColor const *)arg1)->GetColor(arg2,*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorLinColor_GetColorCount) {
  {
    iParticleBuiltinEffectorLinColor *arg1 = (iParticleBuiltinEffectorLinColor *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorLinColor_GetColorCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorLinColor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorLinColor_GetColorCount" "', argument " "1"" of type '" "iParticleBuiltinEffectorLinColor const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorLinColor * >(argp1);
    result = ((iParticleBuiltinEffectorLinColor const *)arg1)->GetColorCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEffectorLinColor) {
  {
    iParticleBuiltinEffectorLinColor *arg1 = (iParticleBuiltinEffectorLinColor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEffectorLinColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorLinColor, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEffectorLinColor" "', argument " "1"" of type '" "iParticleBuiltinEffectorLinColor *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorLinColor * >(argp1);
    delete_iParticleBuiltinEffectorLinColor(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorLinColor_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorLinColor_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEffectorLinColor_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorVelocityField_SetType) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    csParticleBuiltinEffectorVFType arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorVelocityField_SetType(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorVelocityField_SetType" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEffectorVelocityField_SetType" "', argument " "2"" of type '" "csParticleBuiltinEffectorVFType""'");
    } 
    arg2 = static_cast< csParticleBuiltinEffectorVFType >(val2);
    (arg1)->SetType(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorVelocityField_GetType) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    csParticleBuiltinEffectorVFType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorVelocityField_GetType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorVelocityField_GetType" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    result = (csParticleBuiltinEffectorVFType)((iParticleBuiltinEffectorVelocityField const *)arg1)->GetType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorVelocityField_SetFParameter) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    size_t arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorVelocityField_SetFParameter(self,parameterNumber,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorVelocityField_SetFParameter" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEffectorVelocityField_SetFParameter" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iParticleBuiltinEffectorVelocityField_SetFParameter" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetFParameter(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorVelocityField_GetFParameter) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    size_t arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorVelocityField_GetFParameter(self,parameterNumber);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorVelocityField_GetFParameter" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEffectorVelocityField_GetFParameter" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (float)((iParticleBuiltinEffectorVelocityField const *)arg1)->GetFParameter(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorVelocityField_GetFParameterCount) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorVelocityField_GetFParameterCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorVelocityField_GetFParameterCount" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    result = ((iParticleBuiltinEffectorVelocityField const *)arg1)->GetFParameterCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorVelocityField_SetVParameter) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    size_t arg2 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorVelocityField_SetVParameter(self,parameterNumber,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorVelocityField_SetVParameter" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEffectorVelocityField_SetVParameter" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iParticleBuiltinEffectorVelocityField_SetVParameter" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iParticleBuiltinEffectorVelocityField_SetVParameter" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetVParameter(arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorVelocityField_GetVParameter) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    size_t arg2 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorVelocityField_GetVParameter(self,parameterNumber);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorVelocityField_GetVParameter" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iParticleBuiltinEffectorVelocityField_GetVParameter" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = ((iParticleBuiltinEffectorVelocityField const *)arg1)->GetVParameter(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorVelocityField_GetVParameterCount) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorVelocityField_GetVParameterCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorVelocityField_GetVParameterCount" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    result = ((iParticleBuiltinEffectorVelocityField const *)arg1)->GetVParameterCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEffectorVelocityField) {
  {
    iParticleBuiltinEffectorVelocityField *arg1 = (iParticleBuiltinEffectorVelocityField *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEffectorVelocityField(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEffectorVelocityField" "', argument " "1"" of type '" "iParticleBuiltinEffectorVelocityField *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorVelocityField * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorFactory_CreateForce) {
  {
    iParticleBuiltinEffectorFactory *arg1 = (iParticleBuiltinEffectorFactory *) 0 ;
    SwigValueWrapper<csPtr<iParticleBuiltinEffectorForce > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorFactory_CreateForce(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorFactory_CreateForce" "', argument " "1"" of type '" "iParticleBuiltinEffectorFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorFactory * >(argp1);
    result = ((iParticleBuiltinEffectorFactory const *)arg1)->CreateForce();
    {
      csRef<iParticleBuiltinEffectorForce> rf ((csPtr<iParticleBuiltinEffectorForce>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iParticleBuiltinEffectorForce*)rf, SWIG_TypeQuery("cspace::""iParticleBuiltinEffectorForce"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorFactory_CreateLinColor) {
  {
    iParticleBuiltinEffectorFactory *arg1 = (iParticleBuiltinEffectorFactory *) 0 ;
    SwigValueWrapper<csPtr<iParticleBuiltinEffectorLinColor > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorFactory_CreateLinColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorFactory_CreateLinColor" "', argument " "1"" of type '" "iParticleBuiltinEffectorFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorFactory * >(argp1);
    result = ((iParticleBuiltinEffectorFactory const *)arg1)->CreateLinColor();
    {
      csRef<iParticleBuiltinEffectorLinColor> rf ((csPtr<iParticleBuiltinEffectorLinColor>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iParticleBuiltinEffectorLinColor*)rf, SWIG_TypeQuery("cspace::""iParticleBuiltinEffectorLinColor"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorFactory_CreateVelocityField) {
  {
    iParticleBuiltinEffectorFactory *arg1 = (iParticleBuiltinEffectorFactory *) 0 ;
    SwigValueWrapper<csPtr<iParticleBuiltinEffectorVelocityField > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorFactory_CreateVelocityField(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorFactory, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParticleBuiltinEffectorFactory_CreateVelocityField" "', argument " "1"" of type '" "iParticleBuiltinEffectorFactory const *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorFactory * >(argp1);
    result = ((iParticleBuiltinEffectorFactory const *)arg1)->CreateVelocityField();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iParticleBuiltinEffectorVelocityField >(static_cast< const csPtr<iParticleBuiltinEffectorVelocityField >& >(result))), SWIGTYPE_p_csPtrTiParticleBuiltinEffectorVelocityField_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParticleBuiltinEffectorFactory) {
  {
    iParticleBuiltinEffectorFactory *arg1 = (iParticleBuiltinEffectorFactory *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParticleBuiltinEffectorFactory(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParticleBuiltinEffectorFactory, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParticleBuiltinEffectorFactory" "', argument " "1"" of type '" "iParticleBuiltinEffectorFactory *""'"); 
    }
    arg1 = reinterpret_cast< iParticleBuiltinEffectorFactory * >(argp1);
    delete_iParticleBuiltinEffectorFactory(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParticleBuiltinEffectorFactory_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iParticleBuiltinEffectorFactory_scfGetVersion();");
    }
    result = (int)iParticleBuiltinEffectorFactory_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iLoaderStatus_IsReady) {
  {
    iLoaderStatus *arg1 = (iLoaderStatus *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLoaderStatus_IsReady(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoaderStatus, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoaderStatus_IsReady" "', argument " "1"" of type '" "iLoaderStatus *""'"); 
    }
    arg1 = reinterpret_cast< iLoaderStatus * >(argp1);
    result = (bool)(arg1)->IsReady();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoaderStatus_IsError) {
  {
    iLoaderStatus *arg1 = (iLoaderStatus *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLoaderStatus_IsError(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoaderStatus, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoaderStatus_IsError" "', argument " "1"" of type '" "iLoaderStatus *""'"); 
    }
    arg1 = reinterpret_cast< iLoaderStatus * >(argp1);
    result = (bool)(arg1)->IsError();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLoaderStatus) {
  {
    iLoaderStatus *arg1 = (iLoaderStatus *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLoaderStatus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoaderStatus, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLoaderStatus" "', argument " "1"" of type '" "iLoaderStatus *""'"); 
    }
    arg1 = reinterpret_cast< iLoaderStatus * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMissingLoaderData_MissingMaterial) {
  {
    iMissingLoaderData *arg1 = (iMissingLoaderData *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    iMaterialWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMissingLoaderData_MissingMaterial(self,name,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMissingLoaderData_MissingMaterial" "', argument " "1"" of type '" "iMissingLoaderData *""'"); 
    }
    arg1 = reinterpret_cast< iMissingLoaderData * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMissingLoaderData_MissingMaterial" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMissingLoaderData_MissingMaterial" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (iMaterialWrapper *)(arg1)->MissingMaterial((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMaterialWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iMissingLoaderData_MissingTexture) {
  {
    iMissingLoaderData *arg1 = (iMissingLoaderData *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMissingLoaderData_MissingTexture(self,name,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMissingLoaderData_MissingTexture" "', argument " "1"" of type '" "iMissingLoaderData *""'"); 
    }
    arg1 = reinterpret_cast< iMissingLoaderData * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMissingLoaderData_MissingTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMissingLoaderData_MissingTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (iTextureWrapper *)(arg1)->MissingTexture((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iMissingLoaderData_MissingShader) {
  {
    iMissingLoaderData *arg1 = (iMissingLoaderData *) 0 ;
    char *arg2 = (char *) 0 ;
    iShader *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMissingLoaderData_MissingShader(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMissingLoaderData_MissingShader" "', argument " "1"" of type '" "iMissingLoaderData *""'"); 
    }
    arg1 = reinterpret_cast< iMissingLoaderData * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMissingLoaderData_MissingShader" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iShader *)(arg1)->MissingShader((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShader, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iMissingLoaderData_MissingFactory) {
  {
    iMissingLoaderData *arg1 = (iMissingLoaderData *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshFactoryWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMissingLoaderData_MissingFactory(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMissingLoaderData_MissingFactory" "', argument " "1"" of type '" "iMissingLoaderData *""'"); 
    }
    arg1 = reinterpret_cast< iMissingLoaderData * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMissingLoaderData_MissingFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshFactoryWrapper *)(arg1)->MissingFactory((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshFactoryWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iMissingLoaderData_MissingMesh) {
  {
    iMissingLoaderData *arg1 = (iMissingLoaderData *) 0 ;
    char *arg2 = (char *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMissingLoaderData_MissingMesh(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMissingLoaderData_MissingMesh" "', argument " "1"" of type '" "iMissingLoaderData *""'"); 
    }
    arg1 = reinterpret_cast< iMissingLoaderData * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMissingLoaderData_MissingMesh" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iMeshWrapper *)(arg1)->MissingMesh((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iMissingLoaderData_MissingSector) {
  {
    iMissingLoaderData *arg1 = (iMissingLoaderData *) 0 ;
    char *arg2 = (char *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMissingLoaderData_MissingSector(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMissingLoaderData_MissingSector" "', argument " "1"" of type '" "iMissingLoaderData *""'"); 
    }
    arg1 = reinterpret_cast< iMissingLoaderData * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMissingLoaderData_MissingSector" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSector *)(arg1)->MissingSector((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iMissingLoaderData_MissingLight) {
  {
    iMissingLoaderData *arg1 = (iMissingLoaderData *) 0 ;
    char *arg2 = (char *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMissingLoaderData_MissingLight(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMissingLoaderData_MissingLight" "', argument " "1"" of type '" "iMissingLoaderData *""'"); 
    }
    arg1 = reinterpret_cast< iMissingLoaderData * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMissingLoaderData_MissingLight" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iLight *)(arg1)->MissingLight((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMissingLoaderData) {
  {
    iMissingLoaderData *arg1 = (iMissingLoaderData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMissingLoaderData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMissingLoaderData, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMissingLoaderData" "', argument " "1"" of type '" "iMissingLoaderData *""'"); 
    }
    arg1 = reinterpret_cast< iMissingLoaderData * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadImage__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadImage(self,Filename,Format);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadImage" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadImage" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadImage" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->LoadImage((char const *)arg2,arg3);
    {
      csRef<iImage> rf ((csPtr<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadImage__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadImage(self,Filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadImage" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadImage" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->LoadImage((char const *)arg2);
    {
      csRef<iImage> rf ((csPtr<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    iTextureManager *arg4 = (iTextureManager *) 0 ;
    csRef<iImage > *arg5 = (csRef<iImage > *) 0 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Filename,Flags,tm,image);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "iTextureManager *""'"); 
    }
    arg4 = reinterpret_cast< iTextureManager * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_csRefTiImage_t, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "csRef<iImage > *""'"); 
    }
    arg5 = reinterpret_cast< csRef<iImage > * >(argp5);
    result = (arg1)->LoadTexture((char const *)arg2,arg3,arg4,arg5);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    iTextureManager *arg4 = (iTextureManager *) 0 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Filename,Flags,tm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "iTextureManager *""'"); 
    }
    arg4 = reinterpret_cast< iTextureManager * >(argp4);
    result = (arg1)->LoadTexture((char const *)arg2,arg3,arg4);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_2) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Filename,Flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->LoadTexture((char const *)arg2,arg3);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_3) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->LoadTexture((char const *)arg2);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_4) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    bool arg6 ;
    bool arg7 ;
    bool arg8 ;
    iRegion *arg9 = (iRegion *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    bool val7 ;
    int ecode7 = 0 ;
    bool val8 ;
    int ecode8 = 0 ;
    void *argp9 = 0 ;
    int res9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 9) || (items > 9)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,FileName,Flags,tm,reg,create_material,free_image,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadTexture" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    ecode7 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iLoader_LoadTexture" "', argument " "7"" of type '" "bool""'");
    } 
    arg7 = static_cast< bool >(val7);
    ecode8 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iLoader_LoadTexture" "', argument " "8"" of type '" "bool""'");
    } 
    arg8 = static_cast< bool >(val8);
    res9 = SWIG_ConvertPtr(ST(8), &argp9,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res9)) {
      SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "iLoader_LoadTexture" "', argument " "9"" of type '" "iRegion *""'"); 
    }
    arg9 = reinterpret_cast< iRegion * >(argp9);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8,arg9);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_5) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    bool arg6 ;
    bool arg7 ;
    bool arg8 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    bool val7 ;
    int ecode7 = 0 ;
    bool val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,FileName,Flags,tm,reg,create_material,free_image);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadTexture" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    ecode7 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iLoader_LoadTexture" "', argument " "7"" of type '" "bool""'");
    } 
    arg7 = static_cast< bool >(val7);
    ecode8 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iLoader_LoadTexture" "', argument " "8"" of type '" "bool""'");
    } 
    arg8 = static_cast< bool >(val8);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_6) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    bool arg6 ;
    bool arg7 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    bool val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,FileName,Flags,tm,reg,create_material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadTexture" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    ecode7 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iLoader_LoadTexture" "', argument " "7"" of type '" "bool""'");
    } 
    arg7 = static_cast< bool >(val7);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_7) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    bool arg6 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,FileName,Flags,tm,reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadTexture" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,(char const *)arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_8) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,FileName,Flags,tm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,(char const *)arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_9) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,FileName,Flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_10) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,FileName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadImage__SWIG_2) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadImage(self,buf,Format);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadImage" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadImage" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadImage" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->LoadImage(arg2,arg3);
    {
      csRef<iImage> rf ((csPtr<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadImage__SWIG_3) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    SwigValueWrapper<csPtr<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadImage(self,buf);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadImage" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadImage" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    result = (arg1)->LoadImage(arg2);
    {
      csRef<iImage> rf ((csPtr<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadImage) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadImage__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadImage__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadImage__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadImage__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_LoadImage'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadTexture__SWIG_11) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    int arg3 ;
    iTextureManager *arg4 = (iTextureManager *) 0 ;
    csRef<iImage > *arg5 = (csRef<iImage > *) 0 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,buf,Flags,tm,image);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "iTextureManager *""'"); 
    }
    arg4 = reinterpret_cast< iTextureManager * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_csRefTiImage_t, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "csRef<iImage > *""'"); 
    }
    arg5 = reinterpret_cast< csRef<iImage > * >(argp5);
    result = (arg1)->LoadTexture(arg2,arg3,arg4,arg5);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_12) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    int arg3 ;
    iTextureManager *arg4 = (iTextureManager *) 0 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,buf,Flags,tm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "iTextureManager *""'"); 
    }
    arg4 = reinterpret_cast< iTextureManager * >(argp4);
    result = (arg1)->LoadTexture(arg2,arg3,arg4);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_13) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,buf,Flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->LoadTexture(arg2,arg3);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_14) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,buf);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    result = (arg1)->LoadTexture(arg2);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_15) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iDataBuffer *arg3 = (iDataBuffer *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    bool arg6 ;
    bool arg7 ;
    bool arg8 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    bool val7 ;
    int ecode7 = 0 ;
    bool val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,buf,Flags,tm,reg,create_material,free_image);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "iDataBuffer *""'"); 
    }
    arg3 = reinterpret_cast< iDataBuffer * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadTexture" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    ecode7 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iLoader_LoadTexture" "', argument " "7"" of type '" "bool""'");
    } 
    arg7 = static_cast< bool >(val7);
    ecode8 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iLoader_LoadTexture" "', argument " "8"" of type '" "bool""'");
    } 
    arg8 = static_cast< bool >(val8);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,arg3,arg4,arg5,arg6,arg7,arg8);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_16) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iDataBuffer *arg3 = (iDataBuffer *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    bool arg6 ;
    bool arg7 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    bool val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,buf,Flags,tm,reg,create_material);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "iDataBuffer *""'"); 
    }
    arg3 = reinterpret_cast< iDataBuffer * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadTexture" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    ecode7 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iLoader_LoadTexture" "', argument " "7"" of type '" "bool""'");
    } 
    arg7 = static_cast< bool >(val7);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_17) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iDataBuffer *arg3 = (iDataBuffer *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    bool arg6 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,buf,Flags,tm,reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "iDataBuffer *""'"); 
    }
    arg3 = reinterpret_cast< iDataBuffer * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadTexture" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_18) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iDataBuffer *arg3 = (iDataBuffer *) 0 ;
    int arg4 ;
    iTextureManager *arg5 = (iTextureManager *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,buf,Flags,tm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "iDataBuffer *""'"); 
    }
    arg3 = reinterpret_cast< iDataBuffer * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoader_LoadTexture" "', argument " "5"" of type '" "iTextureManager *""'"); 
    }
    arg5 = reinterpret_cast< iTextureManager * >(argp5);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_19) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iDataBuffer *arg3 = (iDataBuffer *) 0 ;
    int arg4 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,buf,Flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "iDataBuffer *""'"); 
    }
    arg3 = reinterpret_cast< iDataBuffer * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadTexture" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture__SWIG_20) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iDataBuffer *arg3 = (iDataBuffer *) 0 ;
    iTextureWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadTexture(self,Name,buf);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadTexture" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadTexture" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadTexture" "', argument " "3"" of type '" "iDataBuffer *""'"); 
    }
    arg3 = reinterpret_cast< iDataBuffer * >(argp3);
    result = (iTextureWrapper *)(arg1)->LoadTexture((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadTexture) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 10;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_10:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csRefTiImage_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 11;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_11:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 12;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_12:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csRefTiImage_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 13;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_13:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 14;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_14:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 15;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_15:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 16;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_16:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 17;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_17:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 18;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_18:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 19;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_19:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 20;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_20:
    
    if (items == 9) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iTextureManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(8), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 21;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_21:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_14); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_13); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_20); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_2); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_10); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_12); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_19); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_1); return;
    case 10:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_9); return;
    case 11:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_11); return;
    case 12:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_18); return;
    case 13:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_0); return;
    case 14:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_8); return;
    case 15:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_17); return;
    case 16:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_7); return;
    case 17:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_16); return;
    case 18:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_6); return;
    case 19:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_15); return;
    case 20:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_5); return;
    case 21:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadTexture__SWIG_4); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_LoadTexture'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadSoundSysData) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iSndSysData > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadSoundSysData(self,fname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadSoundSysData" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadSoundSysData" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->LoadSoundSysData((char const *)arg2);
    {
      csRef<iSndSysData> rf ((csPtr<iSndSysData>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSndSysData*)rf, SWIG_TypeQuery("cspace::""iSndSysData"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadSoundStream) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iSndSysStream > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadSoundStream(self,fname,mode3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadSoundStream" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadSoundStream" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadSoundStream" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->LoadSoundStream((char const *)arg2,arg3);
    {
      csRef<iSndSysStream> rf ((csPtr<iSndSysStream>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSndSysStream*)rf, SWIG_TypeQuery("cspace::""iSndSysStream"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadSoundWrapper) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    iSndSysWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadSoundWrapper(self,name,fname,mode3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadSoundWrapper" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadSoundWrapper" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadSoundWrapper" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadSoundWrapper" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (iSndSysWrapper *)(arg1)->LoadSoundWrapper((char const *)arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_ThreadedLoadMapFile__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool arg5 ;
    SwigValueWrapper<csPtr<iLoaderStatus > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_ThreadedLoadMapFile(self,filename,region,curRegOnly,checkDupes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (arg1)->ThreadedLoadMapFile((char const *)arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLoaderStatus >(static_cast< const csPtr<iLoaderStatus >& >(result))), SWIGTYPE_p_csPtrTiLoaderStatus_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_ThreadedLoadMapFile__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    SwigValueWrapper<csPtr<iLoaderStatus > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_ThreadedLoadMapFile(self,filename,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    result = (arg1)->ThreadedLoadMapFile((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLoaderStatus >(static_cast< const csPtr<iLoaderStatus >& >(result))), SWIGTYPE_p_csPtrTiLoaderStatus_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_ThreadedLoadMapFile__SWIG_2) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    SwigValueWrapper<csPtr<iLoaderStatus > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_ThreadedLoadMapFile(self,filename,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (arg1)->ThreadedLoadMapFile((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLoaderStatus >(static_cast< const csPtr<iLoaderStatus >& >(result))), SWIGTYPE_p_csPtrTiLoaderStatus_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_ThreadedLoadMapFile__SWIG_3) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iLoaderStatus > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_ThreadedLoadMapFile(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_ThreadedLoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->ThreadedLoadMapFile((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iLoaderStatus >(static_cast< const csPtr<iLoaderStatus >& >(result))), SWIGTYPE_p_csPtrTiLoaderStatus_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_ThreadedLoadMapFile) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_ThreadedLoadMapFile__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_ThreadedLoadMapFile__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_ThreadedLoadMapFile__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_ThreadedLoadMapFile__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_ThreadedLoadMapFile'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadMapFile__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    iMissingLoaderData *arg8 = (iMissingLoaderData *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    void *argp8 = 0 ;
    int res8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iLoader_LoadMapFile(self,filename,clearEngine,region,curRegOnly,checkDupes,ssource,missingdata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMapFile" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMapFile" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadMapFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadMapFile" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_LoadMapFile" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    res8 = SWIG_ConvertPtr(ST(7), &argp8,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iLoader_LoadMapFile" "', argument " "8"" of type '" "iMissingLoaderData *""'"); 
    }
    arg8 = reinterpret_cast< iMissingLoaderData * >(argp8);
    result = (bool)(arg1)->LoadMapFile((char const *)arg2,arg3,arg4,arg5,arg6,arg7,arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMapFile__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_LoadMapFile(self,filename,clearEngine,region,curRegOnly,checkDupes,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMapFile" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMapFile" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadMapFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadMapFile" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_LoadMapFile" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    result = (bool)(arg1)->LoadMapFile((char const *)arg2,arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMapFile__SWIG_2) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_LoadMapFile(self,filename,clearEngine,region,curRegOnly,checkDupes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMapFile" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMapFile" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadMapFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadMapFile" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    result = (bool)(arg1)->LoadMapFile((char const *)arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMapFile__SWIG_3) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_LoadMapFile(self,filename,clearEngine,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMapFile" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMapFile" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadMapFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (bool)(arg1)->LoadMapFile((char const *)arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMapFile__SWIG_4) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadMapFile(self,filename,clearEngine,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMapFile" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMapFile" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    result = (bool)(arg1)->LoadMapFile((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMapFile__SWIG_5) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadMapFile(self,filename,clearEngine);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMapFile" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->LoadMapFile((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMapFile__SWIG_6) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadMapFile(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMapFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->LoadMapFile((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMapFile) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(7), &vptr, SWIGTYPE_p_iMissingLoaderData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMapFile__SWIG_6); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMapFile__SWIG_5); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMapFile__SWIG_4); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMapFile__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMapFile__SWIG_2); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMapFile__SWIG_1); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMapFile__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_LoadMapFile'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadMap__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    iMissingLoaderData *arg8 = (iMissingLoaderData *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    void *argp8 = 0 ;
    int res8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iLoader_LoadMap(self,world_node,clearEngine,region,curRegOnly,checkDupes,ssource,missingdata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMap" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMap" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMap" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMap" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadMap" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadMap" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_LoadMap" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    res8 = SWIG_ConvertPtr(ST(7), &argp8,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iLoader_LoadMap" "', argument " "8"" of type '" "iMissingLoaderData *""'"); 
    }
    arg8 = reinterpret_cast< iMissingLoaderData * >(argp8);
    result = (bool)(arg1)->LoadMap(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMap__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_LoadMap(self,world_node,clearEngine,region,curRegOnly,checkDupes,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMap" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMap" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMap" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMap" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadMap" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadMap" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_LoadMap" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    result = (bool)(arg1)->LoadMap(arg2,arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMap__SWIG_2) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_LoadMap(self,world_node,clearEngine,region,curRegOnly,checkDupes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMap" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMap" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMap" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMap" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadMap" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_LoadMap" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    result = (bool)(arg1)->LoadMap(arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMap__SWIG_3) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_LoadMap(self,world_node,clearEngine,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMap" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMap" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMap" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMap" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadMap" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (bool)(arg1)->LoadMap(arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMap__SWIG_4) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool arg3 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadMap(self,world_node,clearEngine,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMap" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMap" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMap" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_LoadMap" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    result = (bool)(arg1)->LoadMap(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMap__SWIG_5) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadMap(self,world_node,clearEngine);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMap" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMap" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iLoader_LoadMap" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->LoadMap(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMap__SWIG_6) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadMap(self,world_node);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMap" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMap" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (bool)(arg1)->LoadMap(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMap) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(7), &vptr, SWIGTYPE_p_iMissingLoaderData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMap__SWIG_6); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMap__SWIG_5); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMap__SWIG_4); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMap__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMap__SWIG_2); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMap__SWIG_1); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMap__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_LoadMap'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadLibraryFile__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool arg5 ;
    iStreamSource *arg6 = (iStreamSource *) 0 ;
    iMissingLoaderData *arg7 = (iMissingLoaderData *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_LoadLibraryFile(self,filename,region,curRegOnly,checkDupes,ssource,missingdata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibraryFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibraryFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibraryFile" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadLibraryFile" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadLibraryFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iLoader_LoadLibraryFile" "', argument " "6"" of type '" "iStreamSource *""'"); 
    }
    arg6 = reinterpret_cast< iStreamSource * >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_LoadLibraryFile" "', argument " "7"" of type '" "iMissingLoaderData *""'"); 
    }
    arg7 = reinterpret_cast< iMissingLoaderData * >(argp7);
    result = (bool)(arg1)->LoadLibraryFile((char const *)arg2,arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibraryFile__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool arg5 ;
    iStreamSource *arg6 = (iStreamSource *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_LoadLibraryFile(self,filename,region,curRegOnly,checkDupes,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibraryFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibraryFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibraryFile" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadLibraryFile" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadLibraryFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iLoader_LoadLibraryFile" "', argument " "6"" of type '" "iStreamSource *""'"); 
    }
    arg6 = reinterpret_cast< iStreamSource * >(argp6);
    result = (bool)(arg1)->LoadLibraryFile((char const *)arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibraryFile__SWIG_2) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_LoadLibraryFile(self,filename,region,curRegOnly,checkDupes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibraryFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibraryFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibraryFile" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadLibraryFile" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadLibraryFile" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (bool)(arg1)->LoadLibraryFile((char const *)arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibraryFile__SWIG_3) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadLibraryFile(self,filename,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibraryFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibraryFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibraryFile" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadLibraryFile" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    result = (bool)(arg1)->LoadLibraryFile((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibraryFile__SWIG_4) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadLibraryFile(self,filename,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibraryFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibraryFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibraryFile" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (bool)(arg1)->LoadLibraryFile((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibraryFile__SWIG_5) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadLibraryFile(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibraryFile" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibraryFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->LoadLibraryFile((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibraryFile) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iMissingLoaderData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibraryFile__SWIG_5); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibraryFile__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibraryFile__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibraryFile__SWIG_2); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibraryFile__SWIG_1); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibraryFile__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_LoadLibraryFile'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadLibrary__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool arg5 ;
    iStreamSource *arg6 = (iStreamSource *) 0 ;
    iMissingLoaderData *arg7 = (iMissingLoaderData *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_LoadLibrary(self,lib_node,region,curRegOnly,checkDupes,ssource,missingdata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibrary" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibrary" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibrary" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadLibrary" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadLibrary" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iLoader_LoadLibrary" "', argument " "6"" of type '" "iStreamSource *""'"); 
    }
    arg6 = reinterpret_cast< iStreamSource * >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_LoadLibrary" "', argument " "7"" of type '" "iMissingLoaderData *""'"); 
    }
    arg7 = reinterpret_cast< iMissingLoaderData * >(argp7);
    result = (bool)(arg1)->LoadLibrary(arg2,arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibrary__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool arg5 ;
    iStreamSource *arg6 = (iStreamSource *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_LoadLibrary(self,lib_node,region,curRegOnly,checkDupes,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibrary" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibrary" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibrary" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadLibrary" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadLibrary" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iLoader_LoadLibrary" "', argument " "6"" of type '" "iStreamSource *""'"); 
    }
    arg6 = reinterpret_cast< iStreamSource * >(argp6);
    result = (bool)(arg1)->LoadLibrary(arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibrary__SWIG_2) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_LoadLibrary(self,lib_node,region,curRegOnly,checkDupes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibrary" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibrary" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibrary" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadLibrary" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_LoadLibrary" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (bool)(arg1)->LoadLibrary(arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibrary__SWIG_3) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_LoadLibrary(self,lib_node,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibrary" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibrary" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibrary" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iLoader_LoadLibrary" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    result = (bool)(arg1)->LoadLibrary(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibrary__SWIG_4) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadLibrary(self,lib_node,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibrary" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibrary" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadLibrary" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    result = (bool)(arg1)->LoadLibrary(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibrary__SWIG_5) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadLibrary(self,lib_node);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadLibrary" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadLibrary" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (bool)(arg1)->LoadLibrary(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadLibrary) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iMissingLoaderData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibrary__SWIG_5); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibrary__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibrary__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibrary__SWIG_2); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibrary__SWIG_1); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadLibrary__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_LoadLibrary'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadMeshObjectFactory__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iStreamSource *arg3 = (iStreamSource *) 0 ;
    SwigValueWrapper<csPtr<iMeshFactoryWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadMeshObjectFactory(self,fname,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMeshObjectFactory" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMeshObjectFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadMeshObjectFactory" "', argument " "3"" of type '" "iStreamSource *""'"); 
    }
    arg3 = reinterpret_cast< iStreamSource * >(argp3);
    result = (arg1)->LoadMeshObjectFactory((char const *)arg2,arg3);
    {
      csRef<iMeshFactoryWrapper> rf ((csPtr<iMeshFactoryWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshFactoryWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshFactoryWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMeshObjectFactory__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshFactoryWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadMeshObjectFactory(self,fname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMeshObjectFactory" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMeshObjectFactory" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->LoadMeshObjectFactory((char const *)arg2);
    {
      csRef<iMeshFactoryWrapper> rf ((csPtr<iMeshFactoryWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshFactoryWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshFactoryWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMeshObjectFactory) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMeshObjectFactory__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMeshObjectFactory__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_LoadMeshObjectFactory'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadMeshObject__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iStreamSource *arg3 = (iStreamSource *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_LoadMeshObject(self,fname,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMeshObject" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMeshObject" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_LoadMeshObject" "', argument " "3"" of type '" "iStreamSource *""'"); 
    }
    arg3 = reinterpret_cast< iStreamSource * >(argp3);
    result = (arg1)->LoadMeshObject((char const *)arg2,arg3);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMeshObject__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iMeshWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadMeshObject(self,fname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadMeshObject" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadMeshObject" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->LoadMeshObject((char const *)arg2);
    {
      csRef<iMeshWrapper> rf ((csPtr<iMeshWrapper>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iMeshWrapper*)rf, SWIG_TypeQuery("cspace::""iMeshWrapper"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_LoadMeshObject) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMeshObject__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_LoadMeshObject__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_LoadMeshObject'");
  XSRETURN(0);
}


XS(_wrap_iLoader_Load__SWIG_0) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    char *arg8 = (char *) 0 ;
    iMissingLoaderData *arg9 = (iMissingLoaderData *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int res8 ;
    char *buf8 = 0 ;
    int alloc8 = 0 ;
    void *argp9 = 0 ;
    int res9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 9) || (items > 9)) {
      SWIG_croak("Usage: iLoader_Load(self,fname,result,region,curRegOnly,checkDupes,ssource,override_name,missingdata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    res8 = SWIG_AsCharPtrAndSize(ST(7), &buf8, NULL, &alloc8);
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iLoader_Load" "', argument " "8"" of type '" "char const *""'");
    }
    arg8 = buf8;
    res9 = SWIG_ConvertPtr(ST(8), &argp9,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res9)) {
      SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "iLoader_Load" "', argument " "9"" of type '" "iMissingLoaderData *""'"); 
    }
    arg9 = reinterpret_cast< iMissingLoaderData * >(argp9);
    result = (bool)(arg1)->Load((char const *)arg2,*arg3,arg4,arg5,arg6,arg7,(char const *)arg8,arg9);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_1) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    char *arg8 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int res8 ;
    char *buf8 = 0 ;
    int alloc8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iLoader_Load(self,fname,result,region,curRegOnly,checkDupes,ssource,override_name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    res8 = SWIG_AsCharPtrAndSize(ST(7), &buf8, NULL, &alloc8);
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iLoader_Load" "', argument " "8"" of type '" "char const *""'");
    }
    arg8 = buf8;
    result = (bool)(arg1)->Load((char const *)arg2,*arg3,arg4,arg5,arg6,arg7,(char const *)arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_2) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_Load(self,fname,result,region,curRegOnly,checkDupes,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    result = (bool)(arg1)->Load((char const *)arg2,*arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_3) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_Load(self,fname,result,region,curRegOnly,checkDupes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    result = (bool)(arg1)->Load((char const *)arg2,*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_4) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_Load(self,fname,result,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (bool)(arg1)->Load((char const *)arg2,*arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_5) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_Load(self,fname,result,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    result = (bool)(arg1)->Load((char const *)arg2,*arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_6) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase **arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_Load(self,fname,result);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    result = (bool)(arg1)->Load((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_7) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    char *arg8 = (char *) 0 ;
    iMissingLoaderData *arg9 = (iMissingLoaderData *) 0 ;
    bool result;
    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 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int res8 ;
    char *buf8 = 0 ;
    int alloc8 = 0 ;
    void *argp9 = 0 ;
    int res9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 9) || (items > 9)) {
      SWIG_croak("Usage: iLoader_Load(self,buffer,result,region,curRegOnly,checkDupes,ssource,override_name,missingdata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    res8 = SWIG_AsCharPtrAndSize(ST(7), &buf8, NULL, &alloc8);
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iLoader_Load" "', argument " "8"" of type '" "char const *""'");
    }
    arg8 = buf8;
    res9 = SWIG_ConvertPtr(ST(8), &argp9,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res9)) {
      SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "iLoader_Load" "', argument " "9"" of type '" "iMissingLoaderData *""'"); 
    }
    arg9 = reinterpret_cast< iMissingLoaderData * >(argp9);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5,arg6,arg7,(char const *)arg8,arg9);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_8) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    char *arg8 = (char *) 0 ;
    bool result;
    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 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int res8 ;
    char *buf8 = 0 ;
    int alloc8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iLoader_Load(self,buffer,result,region,curRegOnly,checkDupes,ssource,override_name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    res8 = SWIG_AsCharPtrAndSize(ST(7), &buf8, NULL, &alloc8);
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iLoader_Load" "', argument " "8"" of type '" "char const *""'");
    }
    arg8 = buf8;
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5,arg6,arg7,(char const *)arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_9) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    bool result;
    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 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_Load(self,buffer,result,region,curRegOnly,checkDupes,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_10) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    bool result;
    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 ;
    bool val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_Load(self,buffer,result,region,curRegOnly,checkDupes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_11) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_Load(self,buffer,result,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_12) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_Load(self,buffer,result,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_13) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    iBase **arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_Load(self,buffer,result);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    result = (bool)(arg1)->Load(arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_14) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    char *arg8 = (char *) 0 ;
    iMissingLoaderData *arg9 = (iMissingLoaderData *) 0 ;
    bool result;
    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 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int res8 ;
    char *buf8 = 0 ;
    int alloc8 = 0 ;
    void *argp9 = 0 ;
    int res9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 9) || (items > 9)) {
      SWIG_croak("Usage: iLoader_Load(self,node,result,region,curRegOnly,checkDupes,ssource,override_name,missingdata);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    res8 = SWIG_AsCharPtrAndSize(ST(7), &buf8, NULL, &alloc8);
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iLoader_Load" "', argument " "8"" of type '" "char const *""'");
    }
    arg8 = buf8;
    res9 = SWIG_ConvertPtr(ST(8), &argp9,SWIGTYPE_p_iMissingLoaderData, 0 |  0 );
    if (!SWIG_IsOK(res9)) {
      SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "iLoader_Load" "', argument " "9"" of type '" "iMissingLoaderData *""'"); 
    }
    arg9 = reinterpret_cast< iMissingLoaderData * >(argp9);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5,arg6,arg7,(char const *)arg8,arg9);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_15) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    char *arg8 = (char *) 0 ;
    bool result;
    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 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int res8 ;
    char *buf8 = 0 ;
    int alloc8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iLoader_Load(self,node,result,region,curRegOnly,checkDupes,ssource,override_name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    res8 = SWIG_AsCharPtrAndSize(ST(7), &buf8, NULL, &alloc8);
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "iLoader_Load" "', argument " "8"" of type '" "char const *""'");
    }
    arg8 = buf8;
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5,arg6,arg7,(char const *)arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    if (alloc8 == SWIG_NEWOBJ) delete[] buf8;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_16) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    iStreamSource *arg7 = (iStreamSource *) 0 ;
    bool result;
    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 ;
    bool val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iLoader_Load(self,node,result,region,curRegOnly,checkDupes,ssource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iLoader_Load" "', argument " "7"" of type '" "iStreamSource *""'"); 
    }
    arg7 = reinterpret_cast< iStreamSource * >(argp7);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_17) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool arg6 ;
    bool result;
    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 ;
    bool val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iLoader_Load(self,node,result,region,curRegOnly,checkDupes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iLoader_Load" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_18) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool arg5 ;
    bool result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoader_Load(self,node,result,region,curRegOnly);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iLoader_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_19) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iBase **arg3 = 0 ;
    iRegion *arg4 = (iRegion *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iLoader_Load(self,node,result,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoader_Load" "', argument " "4"" of type '" "iRegion *""'"); 
    }
    arg4 = reinterpret_cast< iRegion * >(argp4);
    result = (bool)(arg1)->Load(arg2,*arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load__SWIG_20) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iBase **arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iLoader_Load(self,node,result);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_Load" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_Load" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_iBase,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iLoader_Load" "', argument " "3"" of type '" "iBase *&""'"); 
    }
    arg3 = reinterpret_cast< iBase ** >(argp3);
    result = (bool)(arg1)->Load(arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_Load) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_10;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 10;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_10:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_11;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 11;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_11:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_12;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 12;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_12:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_13;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 13;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_13:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_14;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 14;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_14:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_15;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 15;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_15:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(7), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_16;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 16;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_16:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(7), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_17;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 17;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_17:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(7), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_18;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 18;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_18:
    
    if (items == 9) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(7), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(8), &vptr, SWIGTYPE_p_iMissingLoaderData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_19;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 19;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_19:
    
    if (items == 9) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(7), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(8), &vptr, SWIGTYPE_p_iMissingLoaderData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_20;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 20;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_20:
    
    if (items == 9) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_iStreamSource, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(7), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(8), &vptr, SWIGTYPE_p_iMissingLoaderData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_21;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 21;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_21:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_13); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_20); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_6); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_19); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_12); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_5); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_18); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_11); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_4); return;
    case 10:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_10); return;
    case 11:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_17); return;
    case 12:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_3); return;
    case 13:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_9); return;
    case 14:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_16); return;
    case 15:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_2); return;
    case 16:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_15); return;
    case 17:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_8); return;
    case 18:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_1); return;
    case 19:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_7); return;
    case 20:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_14); return;
    case 21:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iLoader_Load__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iLoader_Load'");
  XSRETURN(0);
}


XS(_wrap_iLoader_LoadShader) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_LoadShader(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_LoadShader" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoader_LoadShader" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->LoadShader((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_SetAutoRegions) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iLoader_SetAutoRegions(self,autoRegions);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_SetAutoRegions" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iLoader_SetAutoRegions" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetAutoRegions(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_GetAutoRegions) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iLoader_GetAutoRegions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoader_GetAutoRegions" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    result = (bool)(arg1)->GetAutoRegions();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLoader) {
  {
    iLoader *arg1 = (iLoader *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLoader(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoader, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLoader" "', argument " "1"" of type '" "iLoader *""'"); 
    }
    arg1 = reinterpret_cast< iLoader * >(argp1);
    delete_iLoader(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoader_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iLoader_scfGetVersion();");
    }
    result = (int)iLoader_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iLoaderPlugin_Parse) {
  {
    iLoaderPlugin *arg1 = (iLoaderPlugin *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    iStreamSource *arg3 = (iStreamSource *) 0 ;
    iLoaderContext *arg4 = (iLoaderContext *) 0 ;
    iBase *arg5 = (iBase *) 0 ;
    SwigValueWrapper<csPtr<iBase > > result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iLoaderPlugin_Parse(self,node,ssource,ldr_context,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoaderPlugin, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iLoaderPlugin_Parse" "', argument " "1"" of type '" "iLoaderPlugin *""'"); 
    }
    arg1 = reinterpret_cast< iLoaderPlugin * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iLoaderPlugin_Parse" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iLoaderPlugin_Parse" "', argument " "3"" of type '" "iStreamSource *""'"); 
    }
    arg3 = reinterpret_cast< iStreamSource * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iLoaderContext, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iLoaderPlugin_Parse" "', argument " "4"" of type '" "iLoaderContext *""'"); 
    }
    arg4 = reinterpret_cast< iLoaderContext * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iLoaderPlugin_Parse" "', argument " "5"" of type '" "iBase *""'"); 
    }
    arg5 = reinterpret_cast< iBase * >(argp5);
    result = (arg1)->Parse(arg2,arg3,arg4,arg5);
    {
      csRef<iBase> rf ((csPtr<iBase>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iBase*)rf, SWIG_TypeQuery("cspace::""iBase"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iLoaderPlugin) {
  {
    iLoaderPlugin *arg1 = (iLoaderPlugin *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iLoaderPlugin(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iLoaderPlugin, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iLoaderPlugin" "', argument " "1"" of type '" "iLoaderPlugin *""'"); 
    }
    arg1 = reinterpret_cast< iLoaderPlugin * >(argp1);
    delete_iLoaderPlugin(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iLoaderPlugin_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iLoaderPlugin_scfGetVersion();");
    }
    result = (int)iLoaderPlugin_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iBinaryLoaderPlugin_Parse) {
  {
    iBinaryLoaderPlugin *arg1 = (iBinaryLoaderPlugin *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    iStreamSource *arg3 = (iStreamSource *) 0 ;
    iLoaderContext *arg4 = (iLoaderContext *) 0 ;
    iBase *arg5 = (iBase *) 0 ;
    SwigValueWrapper<csPtr<iBase > > result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iBinaryLoaderPlugin_Parse(self,data,ssource,ldr_context,context);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBinaryLoaderPlugin, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBinaryLoaderPlugin_Parse" "', argument " "1"" of type '" "iBinaryLoaderPlugin *""'"); 
    }
    arg1 = reinterpret_cast< iBinaryLoaderPlugin * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iBinaryLoaderPlugin_Parse" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iStreamSource, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iBinaryLoaderPlugin_Parse" "', argument " "3"" of type '" "iStreamSource *""'"); 
    }
    arg3 = reinterpret_cast< iStreamSource * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iLoaderContext, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iBinaryLoaderPlugin_Parse" "', argument " "4"" of type '" "iLoaderContext *""'"); 
    }
    arg4 = reinterpret_cast< iLoaderContext * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iBinaryLoaderPlugin_Parse" "', argument " "5"" of type '" "iBase *""'"); 
    }
    arg5 = reinterpret_cast< iBase * >(argp5);
    result = (arg1)->Parse(arg2,arg3,arg4,arg5);
    {
      csRef<iBase> rf ((csPtr<iBase>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iBase*)rf, SWIG_TypeQuery("cspace::""iBase"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iBinaryLoaderPlugin) {
  {
    iBinaryLoaderPlugin *arg1 = (iBinaryLoaderPlugin *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iBinaryLoaderPlugin(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBinaryLoaderPlugin, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iBinaryLoaderPlugin" "', argument " "1"" of type '" "iBinaryLoaderPlugin *""'"); 
    }
    arg1 = reinterpret_cast< iBinaryLoaderPlugin * >(argp1);
    delete_iBinaryLoaderPlugin(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBinaryLoaderPlugin_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iBinaryLoaderPlugin_scfGetVersion();");
    }
    result = (int)iBinaryLoaderPlugin_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSaver_SaveMapFile__SWIG_0) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSaver_SaveMapFile(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSaver_SaveMapFile" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSaver_SaveMapFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SaveMapFile((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSaver_SaveMapFile__SWIG_1) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    SwigValueWrapper<csRef<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSaver_SaveMapFile(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSaver_SaveMapFile" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    result = (arg1)->SaveMapFile();
    {
      csRef<iString> rf ((csRef<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSaver_SaveMapFile__SWIG_2) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    csRef<iDocumentNode > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSaver_SaveMapFile(self,root);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSaver_SaveMapFile" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiDocumentNode_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSaver_SaveMapFile" "', argument " "2"" of type '" "csRef<iDocumentNode > &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSaver_SaveMapFile" "', argument " "2"" of type '" "csRef<iDocumentNode > &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iDocumentNode > * >(argp2);
    result = (bool)(arg1)->SaveMapFile(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSaver_SaveMapFile) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSaver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSaver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRefTiDocumentNode_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSaver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSaver_SaveMapFile__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSaver_SaveMapFile__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSaver_SaveMapFile__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSaver_SaveMapFile'");
  XSRETURN(0);
}


XS(_wrap_iSaver_SaveAllRegions) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSaver_SaveAllRegions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSaver_SaveAllRegions" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    result = (bool)(arg1)->SaveAllRegions();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSaver_SaveRegionFile) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSaver_SaveRegionFile(self,region,filename,filetype);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSaver_SaveRegionFile" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSaver_SaveRegionFile" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSaver_SaveRegionFile" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSaver_SaveRegionFile" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->SaveRegionFile(arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSaver_SaveRegion__SWIG_0) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    int arg3 ;
    SwigValueWrapper<csRef<iString > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSaver_SaveRegion(self,region,filetype);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSaver_SaveRegion" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSaver_SaveRegion" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSaver_SaveRegion" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->SaveRegion(arg2,arg3);
    {
      csRef<iString> rf ((csRef<iString>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iString*)rf, SWIG_TypeQuery("cspace::""iString"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSaver_SaveRegion__SWIG_1) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    iRegion *arg2 = (iRegion *) 0 ;
    int arg3 ;
    csRef<iDocumentNode > *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSaver_SaveRegion(self,region,filetype,root);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSaver_SaveRegion" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSaver_SaveRegion" "', argument " "2"" of type '" "iRegion *""'"); 
    }
    arg2 = reinterpret_cast< iRegion * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSaver_SaveRegion" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csRefTiDocumentNode_t,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSaver_SaveRegion" "', argument " "4"" of type '" "csRef<iDocumentNode > &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSaver_SaveRegion" "', argument " "4"" of type '" "csRef<iDocumentNode > &""'"); 
    }
    arg4 = reinterpret_cast< csRef<iDocumentNode > * >(argp4);
    result = (bool)(arg1)->SaveRegion(arg2,arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSaver_SaveRegion) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSaver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSaver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csRefTiDocumentNode_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSaver_SaveRegion__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSaver_SaveRegion__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSaver_SaveRegion'");
  XSRETURN(0);
}


XS(_wrap_iSaver_SavePortal) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    iPortal *arg2 = (iPortal *) 0 ;
    iDocumentNode *arg3 = (iDocumentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSaver_SavePortal(self,portal,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSaver_SavePortal" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPortal, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSaver_SavePortal" "', argument " "2"" of type '" "iPortal *""'"); 
    }
    arg2 = reinterpret_cast< iPortal * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSaver_SavePortal" "', argument " "3"" of type '" "iDocumentNode *""'"); 
    }
    arg3 = reinterpret_cast< iDocumentNode * >(argp3);
    result = (bool)(arg1)->SavePortal(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSaver) {
  {
    iSaver *arg1 = (iSaver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSaver(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSaver, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSaver" "', argument " "1"" of type '" "iSaver *""'"); 
    }
    arg1 = reinterpret_cast< iSaver * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysData_GetFormat) {
  {
    iSndSysData *arg1 = (iSndSysData *) 0 ;
    csSndSysSoundFormat *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysData_GetFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysData_GetFormat" "', argument " "1"" of type '" "iSndSysData *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysData * >(argp1);
    result = (csSndSysSoundFormat *)(arg1)->GetFormat();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSndSysSoundFormat, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysData_GetFrameCount) {
  {
    iSndSysData *arg1 = (iSndSysData *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysData_GetFrameCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysData_GetFrameCount" "', argument " "1"" of type '" "iSndSysData *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysData * >(argp1);
    result = (arg1)->GetFrameCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysData_GetDataSize) {
  {
    iSndSysData *arg1 = (iSndSysData *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysData_GetDataSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysData_GetDataSize" "', argument " "1"" of type '" "iSndSysData *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysData * >(argp1);
    result = (arg1)->GetDataSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysData_CreateStream) {
  {
    iSndSysData *arg1 = (iSndSysData *) 0 ;
    csSndSysSoundFormat *arg2 = (csSndSysSoundFormat *) 0 ;
    int arg3 ;
    iSndSysStream *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysData_CreateStream(self,renderformat,mode3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysData_CreateStream" "', argument " "1"" of type '" "iSndSysData *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysData * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysData_CreateStream" "', argument " "2"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg2 = reinterpret_cast< csSndSysSoundFormat * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSndSysData_CreateStream" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (iSndSysStream *)(arg1)->CreateStream(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysStream, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysData_SetDescription) {
  {
    iSndSysData *arg1 = (iSndSysData *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysData_SetDescription(self,pDescription);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysData_SetDescription" "', argument " "1"" of type '" "iSndSysData *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysData * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysData_SetDescription" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetDescription((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysData_GetDescription) {
  {
    iSndSysData *arg1 = (iSndSysData *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysData_GetDescription(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysData_GetDescription" "', argument " "1"" of type '" "iSndSysData *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysData * >(argp1);
    result = (char *)(arg1)->GetDescription();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysData) {
  {
    iSndSysData *arg1 = (iSndSysData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysData, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysData" "', argument " "1"" of type '" "iSndSysData *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysData * >(argp1);
    delete_iSndSysData(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysData_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysData_scfGetVersion();");
    }
    result = (int)iSndSysData_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_clean_buffer_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csSoundSample *arg2 = (csSoundSample *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_clean_buffer_set(self,clean_buffer);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_clean_buffer_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int32_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3DProperties_clean_buffer_set" "', argument " "2"" of type '" "csSoundSample *""'"); 
    }
    arg2 = reinterpret_cast< csSoundSample * >(argp2);
    if (arg1) (arg1)->clean_buffer = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_clean_buffer_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csSoundSample *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_clean_buffer_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_clean_buffer_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result = (csSoundSample *) ((arg1)->clean_buffer);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int32_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_work_buffer_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csSoundSample *arg2 = (csSoundSample *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_work_buffer_set(self,work_buffer);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_work_buffer_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int32_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3DProperties_work_buffer_set" "', argument " "2"" of type '" "csSoundSample *""'"); 
    }
    arg2 = reinterpret_cast< csSoundSample * >(argp2);
    if (arg1) (arg1)->work_buffer = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_work_buffer_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csSoundSample *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_work_buffer_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_work_buffer_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result = (csSoundSample *) ((arg1)->work_buffer);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int32_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_buffer_samples_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_buffer_samples_set(self,buffer_samples);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_buffer_samples_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSoftwareFilter3DProperties_buffer_samples_set" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    if (arg1) (arg1)->buffer_samples = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_buffer_samples_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_buffer_samples_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_buffer_samples_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result =  ((arg1)->buffer_samples);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_source_parameters_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csSourceParameters3D *arg2 = (csSourceParameters3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_source_parameters_set(self,source_parameters);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_source_parameters_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSourceParameters3D, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3DProperties_source_parameters_set" "', argument " "2"" of type '" "csSourceParameters3D *""'"); 
    }
    arg2 = reinterpret_cast< csSourceParameters3D * >(argp2);
    if (arg1) (arg1)->source_parameters = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_source_parameters_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csSourceParameters3D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_source_parameters_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_source_parameters_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result = (csSourceParameters3D *) ((arg1)->source_parameters);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSourceParameters3D, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_listener_parameters_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csListenerProperties *arg2 = (csListenerProperties *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_listener_parameters_set(self,listener_parameters);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_listener_parameters_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csListenerProperties, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3DProperties_listener_parameters_set" "', argument " "2"" of type '" "csListenerProperties *""'"); 
    }
    arg2 = reinterpret_cast< csListenerProperties * >(argp2);
    if (arg1) (arg1)->listener_parameters = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_listener_parameters_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csListenerProperties *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_listener_parameters_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_listener_parameters_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result = (csListenerProperties *) ((arg1)->listener_parameters);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csListenerProperties, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_sound_format_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csSndSysSoundFormat *arg2 = (csSndSysSoundFormat *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_sound_format_set(self,sound_format);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_sound_format_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSndSysSoundFormat, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3DProperties_sound_format_set" "', argument " "2"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg2 = reinterpret_cast< csSndSysSoundFormat * >(argp2);
    if (arg1) (arg1)->sound_format = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_sound_format_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    csSndSysSoundFormat *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_sound_format_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_sound_format_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result = (csSndSysSoundFormat *) ((arg1)->sound_format);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSndSysSoundFormat, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_closest_speaker_distance_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_closest_speaker_distance_set(self,closest_speaker_distance);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_closest_speaker_distance_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSoftwareFilter3DProperties_closest_speaker_distance_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->closest_speaker_distance = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_closest_speaker_distance_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_closest_speaker_distance_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_closest_speaker_distance_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result = (float) ((arg1)->closest_speaker_distance);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_speaker_distance_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    float *arg2 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_speaker_distance_set(self,speaker_distance);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_speaker_distance_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3DProperties_speaker_distance_set" "', argument " "2"" of type '" "float *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    if (arg1) (arg1)->speaker_distance = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_speaker_distance_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_speaker_distance_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_speaker_distance_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result = (float *) ((arg1)->speaker_distance);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_speaker_direction_cos_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    float *arg2 = (float *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_speaker_direction_cos_set(self,speaker_direction_cos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_speaker_direction_cos_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3DProperties_speaker_direction_cos_set" "', argument " "2"" of type '" "float *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    if (arg1) (arg1)->speaker_direction_cos = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_speaker_direction_cos_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_speaker_direction_cos_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_speaker_direction_cos_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result = (float *) ((arg1)->speaker_direction_cos);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_channel_set) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_channel_set(self,channel);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_channel_set" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSoftwareFilter3DProperties_channel_set" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    if (arg1) (arg1)->channel = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3DProperties_channel_get) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3DProperties_channel_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3DProperties_channel_get" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    result =  ((arg1)->channel);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_iSndSysSoftwareFilter3DProperties) {
  {
    iSndSysSoftwareFilter3DProperties *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_iSndSysSoftwareFilter3DProperties();");
    }
    result = (iSndSysSoftwareFilter3DProperties *)new iSndSysSoftwareFilter3DProperties();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysSoftwareFilter3DProperties) {
  {
    iSndSysSoftwareFilter3DProperties *arg1 = (iSndSysSoftwareFilter3DProperties *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysSoftwareFilter3DProperties(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysSoftwareFilter3DProperties" "', argument " "1"" of type '" "iSndSysSoftwareFilter3DProperties *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3D_Apply) {
  {
    iSndSysSoftwareFilter3D *arg1 = (iSndSysSoftwareFilter3D *) 0 ;
    iSndSysSoftwareFilter3DProperties *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3D_Apply(self,properties);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3D_Apply" "', argument " "1"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iSndSysSoftwareFilter3DProperties,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3D_Apply" "', argument " "2"" of type '" "iSndSysSoftwareFilter3DProperties &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSndSysSoftwareFilter3D_Apply" "', argument " "2"" of type '" "iSndSysSoftwareFilter3DProperties &""'"); 
    }
    arg2 = reinterpret_cast< iSndSysSoftwareFilter3DProperties * >(argp2);
    (arg1)->Apply(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3D_AddSubFilter__SWIG_0) {
  {
    iSndSysSoftwareFilter3D *arg1 = (iSndSysSoftwareFilter3D *) 0 ;
    iSndSysSoftwareFilter3D *arg2 = (iSndSysSoftwareFilter3D *) 0 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3D_AddSubFilter(self,filter,chain_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3D_AddSubFilter" "', argument " "1"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3D_AddSubFilter" "', argument " "2"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSndSysSoftwareFilter3D_AddSubFilter" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)(arg1)->AddSubFilter(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3D_AddSubFilter__SWIG_1) {
  {
    iSndSysSoftwareFilter3D *arg1 = (iSndSysSoftwareFilter3D *) 0 ;
    iSndSysSoftwareFilter3D *arg2 = (iSndSysSoftwareFilter3D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3D_AddSubFilter(self,filter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3D_AddSubFilter" "', argument " "1"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareFilter3D_AddSubFilter" "', argument " "2"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp2);
    result = (bool)(arg1)->AddSubFilter(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3D_AddSubFilter) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSndSysSoftwareFilter3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSndSysSoftwareFilter3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSndSysSoftwareFilter3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSndSysSoftwareFilter3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSndSysSoftwareFilter3D_AddSubFilter__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSndSysSoftwareFilter3D_AddSubFilter__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSndSysSoftwareFilter3D_AddSubFilter'");
  XSRETURN(0);
}


XS(_wrap_iSndSysSoftwareFilter3D_GetSubFilter__SWIG_0) {
  {
    iSndSysSoftwareFilter3D *arg1 = (iSndSysSoftwareFilter3D *) 0 ;
    int arg2 ;
    iSndSysSoftwareFilter3D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3D_GetSubFilter(self,chain_idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3D_GetSubFilter" "', argument " "1"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSoftwareFilter3D_GetSubFilter" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (iSndSysSoftwareFilter3D *)(arg1)->GetSubFilter(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3D_GetSubFilter__SWIG_1) {
  {
    iSndSysSoftwareFilter3D *arg1 = (iSndSysSoftwareFilter3D *) 0 ;
    iSndSysSoftwareFilter3D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3D_GetSubFilter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3D_GetSubFilter" "', argument " "1"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp1);
    result = (iSndSysSoftwareFilter3D *)(arg1)->GetSubFilter();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3D_GetSubFilter) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSndSysSoftwareFilter3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSndSysSoftwareFilter3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSndSysSoftwareFilter3D_GetSubFilter__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSndSysSoftwareFilter3D_GetSubFilter__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSndSysSoftwareFilter3D_GetSubFilter'");
  XSRETURN(0);
}


XS(_wrap_iSndSysSoftwareFilter3D_GetPtr) {
  {
    iSndSysSoftwareFilter3D *arg1 = (iSndSysSoftwareFilter3D *) 0 ;
    iSndSysSoftwareFilter3D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3D_GetPtr(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareFilter3D_GetPtr" "', argument " "1"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp1);
    result = (iSndSysSoftwareFilter3D *)(arg1)->GetPtr();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysSoftwareFilter3D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysSoftwareFilter3D) {
  {
    iSndSysSoftwareFilter3D *arg1 = (iSndSysSoftwareFilter3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysSoftwareFilter3D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareFilter3D, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysSoftwareFilter3D" "', argument " "1"" of type '" "iSndSysSoftwareFilter3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareFilter3D * >(argp1);
    delete_iSndSysSoftwareFilter3D(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareFilter3D_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysSoftwareFilter3D_scfGetVersion();");
    }
    result = (int)iSndSysSoftwareFilter3D_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareOutputFilter_FormatNotify) {
  {
    iSndSysSoftwareOutputFilter *arg1 = (iSndSysSoftwareOutputFilter *) 0 ;
    csSndSysSoundFormat *arg2 = (csSndSysSoundFormat *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSoftwareOutputFilter_FormatNotify(self,pSoundFormat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareOutputFilter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareOutputFilter_FormatNotify" "', argument " "1"" of type '" "iSndSysSoftwareOutputFilter *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareOutputFilter * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareOutputFilter_FormatNotify" "', argument " "2"" of type '" "csSndSysSoundFormat const *""'"); 
    }
    arg2 = reinterpret_cast< csSndSysSoundFormat * >(argp2);
    result = (bool)(arg1)->FormatNotify((csSndSysSoundFormat const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareOutputFilter_DeliverData) {
  {
    iSndSysSoftwareOutputFilter *arg1 = (iSndSysSoftwareOutputFilter *) 0 ;
    csSoundSample *arg2 = (csSoundSample *) 0 ;
    size_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysSoftwareOutputFilter_DeliverData(self,SampleBuffer,Frames);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareOutputFilter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareOutputFilter_DeliverData" "', argument " "1"" of type '" "iSndSysSoftwareOutputFilter *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareOutputFilter * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareOutputFilter_DeliverData" "', argument " "2"" of type '" "csSoundSample const *""'"); 
    }
    arg2 = reinterpret_cast< csSoundSample * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSndSysSoftwareOutputFilter_DeliverData" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    (arg1)->DeliverData((csSoundSample const *)arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysSoftwareOutputFilter) {
  {
    iSndSysSoftwareOutputFilter *arg1 = (iSndSysSoftwareOutputFilter *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysSoftwareOutputFilter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareOutputFilter, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysSoftwareOutputFilter" "', argument " "1"" of type '" "iSndSysSoftwareOutputFilter *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareOutputFilter * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_SetDirection) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysListener_SetDirection(self,Front,Top);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysListener_SetDirection" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysListener_SetDirection" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSndSysListener_SetDirection" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSndSysListener_SetDirection" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSndSysListener_SetDirection" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->SetDirection((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_SetPosition) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysListener_SetPosition(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysListener_SetPosition" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysListener_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSndSysListener_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetPosition((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_SetDistanceFactor) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysListener_SetDistanceFactor(self,factor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysListener_SetDistanceFactor" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysListener_SetDistanceFactor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetDistanceFactor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_SetRollOffFactor) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysListener_SetRollOffFactor(self,factor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysListener_SetRollOffFactor" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysListener_SetRollOffFactor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetRollOffFactor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_GetDirection) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysListener_GetDirection(self,Front,Top);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysListener_GetDirection" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysListener_GetDirection" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSndSysListener_GetDirection" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSndSysListener_GetDirection" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSndSysListener_GetDirection" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->GetDirection(*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_GetPosition) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysListener_GetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysListener_GetPosition" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    {
      csVector3 const &_result_ref = (arg1)->GetPosition();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_GetDistanceFactor) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysListener_GetDistanceFactor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysListener_GetDistanceFactor" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    result = (float)(arg1)->GetDistanceFactor();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_GetRollOffFactor) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysListener_GetRollOffFactor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysListener_GetRollOffFactor" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    result = (float)(arg1)->GetRollOffFactor();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysListener) {
  {
    iSndSysListener *arg1 = (iSndSysListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysListener, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysListener" "', argument " "1"" of type '" "iSndSysListener *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysListener * >(argp1);
    delete_iSndSysListener(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysListener_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysListener_scfGetVersion();");
    }
    result = (int)iSndSysListener_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysLoader_LoadSound__SWIG_0) {
  {
    iSndSysLoader *arg1 = (iSndSysLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iSndSysData > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysLoader_LoadSound(self,buffer,pDescription);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysLoader_LoadSound" "', argument " "1"" of type '" "iSndSysLoader *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysLoader_LoadSound" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSndSysLoader_LoadSound" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->LoadSound(arg2,(char const *)arg3);
    {
      csRef<iSndSysData> rf ((csPtr<iSndSysData>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSndSysData*)rf, SWIG_TypeQuery("cspace::""iSndSysData"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysLoader_LoadSound__SWIG_1) {
  {
    iSndSysLoader *arg1 = (iSndSysLoader *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    SwigValueWrapper<csPtr<iSndSysData > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysLoader_LoadSound(self,buffer);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysLoader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysLoader_LoadSound" "', argument " "1"" of type '" "iSndSysLoader *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysLoader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysLoader_LoadSound" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    result = (arg1)->LoadSound(arg2);
    {
      csRef<iSndSysData> rf ((csPtr<iSndSysData>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSndSysData*)rf, SWIG_TypeQuery("cspace::""iSndSysData"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysLoader_LoadSound) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSndSysLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSndSysLoader, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSndSysLoader_LoadSound__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSndSysLoader_LoadSound__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSndSysLoader_LoadSound'");
  XSRETURN(0);
}


XS(_wrap_delete_iSndSysLoader) {
  {
    iSndSysLoader *arg1 = (iSndSysLoader *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysLoader(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysLoader, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysLoader" "', argument " "1"" of type '" "iSndSysLoader *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysLoader * >(argp1);
    delete_iSndSysLoader(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysLoader_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysLoader_scfGetVersion();");
    }
    result = (int)iSndSysLoader_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysWrapper_QueryObject) {
  {
    iSndSysWrapper *arg1 = (iSndSysWrapper *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysWrapper_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysWrapper_QueryObject" "', argument " "1"" of type '" "iSndSysWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysWrapper * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysWrapper_GetStream) {
  {
    iSndSysWrapper *arg1 = (iSndSysWrapper *) 0 ;
    iSndSysStream *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysWrapper_GetStream(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysWrapper_GetStream" "', argument " "1"" of type '" "iSndSysWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysWrapper * >(argp1);
    result = (iSndSysStream *)(arg1)->GetStream();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysStream, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysWrapper_SetStream) {
  {
    iSndSysWrapper *arg1 = (iSndSysWrapper *) 0 ;
    iSndSysStream *arg2 = (iSndSysStream *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysWrapper_SetStream(self,stream);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysWrapper_SetStream" "', argument " "1"" of type '" "iSndSysWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysWrapper_SetStream" "', argument " "2"" of type '" "iSndSysStream *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysStream * >(argp2);
    (arg1)->SetStream(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysWrapper) {
  {
    iSndSysWrapper *arg1 = (iSndSysWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysWrapper" "', argument " "1"" of type '" "iSndSysWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysWrapper * >(argp1);
    delete_iSndSysWrapper(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysWrapper_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysWrapper_scfGetVersion();");
    }
    result = (int)iSndSysWrapper_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysManager_CreateSound) {
  {
    iSndSysManager *arg1 = (iSndSysManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iSndSysWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysManager_CreateSound(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysManager_CreateSound" "', argument " "1"" of type '" "iSndSysManager *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysManager_CreateSound" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSndSysWrapper *)(arg1)->CreateSound((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysManager_RemoveSound__SWIG_0) {
  {
    iSndSysManager *arg1 = (iSndSysManager *) 0 ;
    iSndSysWrapper *arg2 = (iSndSysWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysManager_RemoveSound(self,snd);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysManager_RemoveSound" "', argument " "1"" of type '" "iSndSysManager *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysManager_RemoveSound" "', argument " "2"" of type '" "iSndSysWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysWrapper * >(argp2);
    (arg1)->RemoveSound(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysManager_RemoveSound__SWIG_1) {
  {
    iSndSysManager *arg1 = (iSndSysManager *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysManager_RemoveSound(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysManager_RemoveSound" "', argument " "1"" of type '" "iSndSysManager *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysManager * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysManager_RemoveSound" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->RemoveSound(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysManager_RemoveSound) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSndSysManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSndSysWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSndSysManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSndSysManager_RemoveSound__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSndSysManager_RemoveSound__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSndSysManager_RemoveSound'");
  XSRETURN(0);
}


XS(_wrap_iSndSysManager_RemoveSounds) {
  {
    iSndSysManager *arg1 = (iSndSysManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysManager_RemoveSounds(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysManager_RemoveSounds" "', argument " "1"" of type '" "iSndSysManager *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysManager * >(argp1);
    (arg1)->RemoveSounds();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysManager_GetSoundCount) {
  {
    iSndSysManager *arg1 = (iSndSysManager *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysManager_GetSoundCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysManager_GetSoundCount" "', argument " "1"" of type '" "iSndSysManager const *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysManager * >(argp1);
    result = ((iSndSysManager const *)arg1)->GetSoundCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysManager_GetSound) {
  {
    iSndSysManager *arg1 = (iSndSysManager *) 0 ;
    size_t arg2 ;
    iSndSysWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysManager_GetSound(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysManager_GetSound" "', argument " "1"" of type '" "iSndSysManager *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysManager * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysManager_GetSound" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSndSysWrapper *)(arg1)->GetSound(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysManager_FindSoundByName) {
  {
    iSndSysManager *arg1 = (iSndSysManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iSndSysWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysManager_FindSoundByName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysManager_FindSoundByName" "', argument " "1"" of type '" "iSndSysManager *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysManager_FindSoundByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSndSysWrapper *)(arg1)->FindSoundByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysManager) {
  {
    iSndSysManager *arg1 = (iSndSysManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysManager" "', argument " "1"" of type '" "iSndSysManager *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysManager * >(argp1);
    delete_iSndSysManager(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysManager_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysManager_scfGetVersion();");
    }
    result = (int)iSndSysManager_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSource_SetVolume) {
  {
    iSndSysSource *arg1 = (iSndSysSource *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSource_SetVolume(self,volume);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSource_SetVolume" "', argument " "1"" of type '" "iSndSysSource *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSource * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSource_SetVolume" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetVolume(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSource_GetVolume) {
  {
    iSndSysSource *arg1 = (iSndSysSource *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSource_GetVolume(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSource_GetVolume" "', argument " "1"" of type '" "iSndSysSource *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSource * >(argp1);
    result = (float)(arg1)->GetVolume();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSource_GetStream) {
  {
    iSndSysSource *arg1 = (iSndSysSource *) 0 ;
    SwigValueWrapper<csRef<iSndSysStream > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSource_GetStream(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSource_GetStream" "', argument " "1"" of type '" "iSndSysSource *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSource * >(argp1);
    result = (arg1)->GetStream();
    {
      csRef<iSndSysStream> rf ((csRef<iSndSysStream>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSndSysStream*)rf, SWIG_TypeQuery("cspace::""iSndSysStream"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSource_AddOutputFilter) {
  {
    iSndSysSource *arg1 = (iSndSysSource *) 0 ;
    SndSysFilterLocation arg2 ;
    iSndSysSoftwareOutputFilter *arg3 = (iSndSysSoftwareOutputFilter *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysSource_AddOutputFilter(self,Location,pFilter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSource_AddOutputFilter" "', argument " "1"" of type '" "iSndSysSource *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSource * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSource_AddOutputFilter" "', argument " "2"" of type '" "SndSysFilterLocation""'");
    } 
    arg2 = static_cast< SndSysFilterLocation >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSndSysSoftwareOutputFilter, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSndSysSource_AddOutputFilter" "', argument " "3"" of type '" "iSndSysSoftwareOutputFilter *""'"); 
    }
    arg3 = reinterpret_cast< iSndSysSoftwareOutputFilter * >(argp3);
    result = (bool)(arg1)->AddOutputFilter(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSource_RemoveOutputFilter) {
  {
    iSndSysSource *arg1 = (iSndSysSource *) 0 ;
    SndSysFilterLocation arg2 ;
    iSndSysSoftwareOutputFilter *arg3 = (iSndSysSoftwareOutputFilter *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysSource_RemoveOutputFilter(self,Location,pFilter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSource_RemoveOutputFilter" "', argument " "1"" of type '" "iSndSysSource *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSource * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSource_RemoveOutputFilter" "', argument " "2"" of type '" "SndSysFilterLocation""'");
    } 
    arg2 = static_cast< SndSysFilterLocation >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSndSysSoftwareOutputFilter, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSndSysSource_RemoveOutputFilter" "', argument " "3"" of type '" "iSndSysSoftwareOutputFilter *""'"); 
    }
    arg3 = reinterpret_cast< iSndSysSoftwareOutputFilter * >(argp3);
    result = (bool)(arg1)->RemoveOutputFilter(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSource_GetPtr) {
  {
    iSndSysSource *arg1 = (iSndSysSource *) 0 ;
    iSndSysSource *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSource_GetPtr(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSource_GetPtr" "', argument " "1"" of type '" "iSndSysSource *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSource * >(argp1);
    result = (iSndSysSource *)(arg1)->GetPtr();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSndSysSource, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysSource) {
  {
    iSndSysSource *arg1 = (iSndSysSource *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysSource(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSource, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysSource" "', argument " "1"" of type '" "iSndSysSource *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSource * >(argp1);
    delete_iSndSysSource(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSource_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysSource_scfGetVersion();");
    }
    result = (int)iSndSysSource_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware_MergeIntoBuffer) {
  {
    iSndSysSourceSoftware *arg1 = (iSndSysSourceSoftware *) 0 ;
    csSoundSample *arg2 = (csSoundSample *) 0 ;
    size_t arg3 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysSourceSoftware_MergeIntoBuffer(self,frame_buffer,frame_count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware_MergeIntoBuffer" "', argument " "1"" of type '" "iSndSysSourceSoftware *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSourceSoftware_MergeIntoBuffer" "', argument " "2"" of type '" "csSoundSample *""'"); 
    }
    arg2 = reinterpret_cast< csSoundSample * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSndSysSourceSoftware_MergeIntoBuffer" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (arg1)->MergeIntoBuffer(arg2,arg3);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware_ProcessOutputFilters) {
  {
    iSndSysSourceSoftware *arg1 = (iSndSysSourceSoftware *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSourceSoftware_ProcessOutputFilters(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware_ProcessOutputFilters" "', argument " "1"" of type '" "iSndSysSourceSoftware *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware * >(argp1);
    (arg1)->ProcessOutputFilters();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysSourceSoftware) {
  {
    iSndSysSourceSoftware *arg1 = (iSndSysSourceSoftware *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysSourceSoftware(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysSourceSoftware" "', argument " "1"" of type '" "iSndSysSourceSoftware *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_SetPosition) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    csVector3 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_SetPosition(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_SetPosition" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSourceSoftware3D_SetPosition" "', argument " "2"" of type '" "csVector3""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSndSysSourceSoftware3D_SetPosition" "', argument " "2"" of type '" "csVector3""'");
      } else {
        arg2 = *(reinterpret_cast< csVector3 * >(argp2));
      }
    }
    (arg1)->SetPosition(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_GetPosition) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_GetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_GetPosition" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    result = (arg1)->GetPosition();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_SetDirection) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    csVector3 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_SetDirection(self,dir);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_SetDirection" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSourceSoftware3D_SetDirection" "', argument " "2"" of type '" "csVector3""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSndSysSourceSoftware3D_SetDirection" "', argument " "2"" of type '" "csVector3""'");
      } else {
        arg2 = *(reinterpret_cast< csVector3 * >(argp2));
      }
    }
    (arg1)->SetDirection(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_GetDirection) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_GetDirection(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_GetDirection" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    result = (arg1)->GetDirection();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_SetDirectionalRadiation) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_SetDirectionalRadiation(self,rad);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_SetDirectionalRadiation" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSourceSoftware3D_SetDirectionalRadiation" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetDirectionalRadiation(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_GetDirectionalRadiation) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_GetDirectionalRadiation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_GetDirectionalRadiation" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    result = (float)(arg1)->GetDirectionalRadiation();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_SetMinimumDistance) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_SetMinimumDistance(self,distance);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_SetMinimumDistance" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSourceSoftware3D_SetMinimumDistance" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetMinimumDistance(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_SetMaximumDistance) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_SetMaximumDistance(self,distance);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_SetMaximumDistance" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysSourceSoftware3D_SetMaximumDistance" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetMaximumDistance(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_GetMinimumDistance) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_GetMinimumDistance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_GetMinimumDistance" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    result = (float)(arg1)->GetMinimumDistance();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSourceSoftware3D_GetMaximumDistance) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSourceSoftware3D_GetMaximumDistance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSourceSoftware3D_GetMaximumDistance" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    result = (float)(arg1)->GetMaximumDistance();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysSourceSoftware3D) {
  {
    iSndSysSourceSoftware3D *arg1 = (iSndSysSourceSoftware3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysSourceSoftware3D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSourceSoftware3D, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysSourceSoftware3D" "', argument " "1"" of type '" "iSndSysSourceSoftware3D *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSourceSoftware3D * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSndSysSoundFormat_Freq_set) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSndSysSoundFormat_Freq_set(self,Freq);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSndSysSoundFormat_Freq_set" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSndSysSoundFormat_Freq_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->Freq = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSndSysSoundFormat_Freq_get) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSndSysSoundFormat_Freq_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSndSysSoundFormat_Freq_get" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    result = (int) ((arg1)->Freq);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSndSysSoundFormat_Bits_set) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    uint8 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSndSysSoundFormat_Bits_set(self,Bits);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSndSysSoundFormat_Bits_set" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSndSysSoundFormat_Bits_set" "', argument " "2"" of type '" "uint8""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSndSysSoundFormat_Bits_set" "', argument " "2"" of type '" "uint8""'");
      } else {
        arg2 = *(reinterpret_cast< uint8 * >(argp2));
      }
    }
    if (arg1) (arg1)->Bits = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSndSysSoundFormat_Bits_get) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSndSysSoundFormat_Bits_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSndSysSoundFormat_Bits_get" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    result =  ((arg1)->Bits);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSndSysSoundFormat_Channels_set) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    uint8 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSndSysSoundFormat_Channels_set(self,Channels);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSndSysSoundFormat_Channels_set" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSndSysSoundFormat_Channels_set" "', argument " "2"" of type '" "uint8""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSndSysSoundFormat_Channels_set" "', argument " "2"" of type '" "uint8""'");
      } else {
        arg2 = *(reinterpret_cast< uint8 * >(argp2));
      }
    }
    if (arg1) (arg1)->Channels = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSndSysSoundFormat_Channels_get) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSndSysSoundFormat_Channels_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSndSysSoundFormat_Channels_get" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    result =  ((arg1)->Channels);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSndSysSoundFormat_Flags_set) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    uint8 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSndSysSoundFormat_Flags_set(self,Flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSndSysSoundFormat_Flags_set" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSndSysSoundFormat_Flags_set" "', argument " "2"" of type '" "uint8""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csSndSysSoundFormat_Flags_set" "', argument " "2"" of type '" "uint8""'");
      } else {
        arg2 = *(reinterpret_cast< uint8 * >(argp2));
      }
    }
    if (arg1) (arg1)->Flags = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSndSysSoundFormat_Flags_get) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    uint8 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSndSysSoundFormat_Flags_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSndSysSoundFormat_Flags_get" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    result =  ((arg1)->Flags);
    ST(argvi) = SWIG_NewPointerObj((new uint8(static_cast< const uint8& >(result))), SWIGTYPE_p_uint8_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSndSysSoundFormat) {
  {
    csSndSysSoundFormat *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSndSysSoundFormat();");
    }
    result = (csSndSysSoundFormat *)new csSndSysSoundFormat();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSndSysSoundFormat, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSndSysSoundFormat) {
  {
    csSndSysSoundFormat *arg1 = (csSndSysSoundFormat *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSndSysSoundFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSndSysSoundFormat, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSndSysSoundFormat" "', argument " "1"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg1 = reinterpret_cast< csSndSysSoundFormat * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetDescription) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetDescription(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetDescription" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (char *)(arg1)->GetDescription();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetRenderedFormat) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    csSndSysSoundFormat *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetRenderedFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetRenderedFormat" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (csSndSysSoundFormat *)(arg1)->GetRenderedFormat();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSndSysSoundFormat, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_Get3dMode) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_Get3dMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_Get3dMode" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (int)(arg1)->Get3dMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetFrameCount) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetFrameCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetFrameCount" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (arg1)->GetFrameCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetPosition) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetPosition" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (arg1)->GetPosition();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_ResetPosition) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_ResetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_ResetPosition" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (bool)(arg1)->ResetPosition();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_SetPosition) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_SetPosition(self,newposition);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_SetPosition" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysStream_SetPosition" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->SetPosition(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_Pause) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_Pause(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_Pause" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (bool)(arg1)->Pause();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_Unpause) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_Unpause(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_Unpause" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (bool)(arg1)->Unpause();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetPauseState) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetPauseState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetPauseState" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (int)(arg1)->GetPauseState();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_SetLoopState) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_SetLoopState(self,loopstate);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_SetLoopState" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysStream_SetLoopState" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->SetLoopState(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetLoopState) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetLoopState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetLoopState" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (int)(arg1)->GetLoopState();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_SetPlayRatePercent) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_SetPlayRatePercent(self,percent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_SetPlayRatePercent" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysStream_SetPlayRatePercent" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetPlayRatePercent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetPlayRatePercent) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetPlayRatePercent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetPlayRatePercent" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (int)(arg1)->GetPlayRatePercent();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_SetAutoUnregister) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_SetAutoUnregister(self,autounreg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_SetAutoUnregister" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysStream_SetAutoUnregister" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetAutoUnregister(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetAutoUnregister) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetAutoUnregister(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetAutoUnregister" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (bool)(arg1)->GetAutoUnregister();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetAutoUnregisterRequested) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_GetAutoUnregisterRequested(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetAutoUnregisterRequested" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    result = (bool)(arg1)->GetAutoUnregisterRequested();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_AdvancePosition) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_AdvancePosition(self,frame_delta);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_AdvancePosition" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysStream_AdvancePosition" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->AdvancePosition(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_GetDataPointers) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    size_t *arg2 = (size_t *) 0 ;
    size_t arg3 ;
    void **arg4 = (void **) 0 ;
    size_t *arg5 = (size_t *) 0 ;
    void **arg6 = (void **) 0 ;
    size_t *arg7 = (size_t *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iSndSysStream_GetDataPointers(self,position_marker,max_requested_frames,buffer1,buffer1_frames,buffer2,buffer2_frames);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_GetDataPointers" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_size_t, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysStream_GetDataPointers" "', argument " "2"" of type '" "size_t *""'"); 
    }
    arg2 = reinterpret_cast< size_t * >(argp2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSndSysStream_GetDataPointers" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_p_void, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSndSysStream_GetDataPointers" "', argument " "4"" of type '" "void **""'"); 
    }
    arg4 = reinterpret_cast< void ** >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_size_t, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSndSysStream_GetDataPointers" "', argument " "5"" of type '" "size_t *""'"); 
    }
    arg5 = reinterpret_cast< size_t * >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_p_void, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iSndSysStream_GetDataPointers" "', argument " "6"" of type '" "void **""'"); 
    }
    arg6 = reinterpret_cast< void ** >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_size_t, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iSndSysStream_GetDataPointers" "', argument " "7"" of type '" "size_t *""'"); 
    }
    arg7 = reinterpret_cast< size_t * >(argp7);
    (arg1)->GetDataPointers(arg2,arg3,arg4,arg5,arg6,arg7);
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_InitializeSourcePositionMarker) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    size_t *arg2 = (size_t *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_InitializeSourcePositionMarker(self,position_marker);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_InitializeSourcePositionMarker" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_size_t, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysStream_InitializeSourcePositionMarker" "', argument " "2"" of type '" "size_t *""'"); 
    }
    arg2 = reinterpret_cast< size_t * >(argp2);
    (arg1)->InitializeSourcePositionMarker(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_ProcessNotifications) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStream_ProcessNotifications(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_ProcessNotifications" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    (arg1)->ProcessNotifications();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_RegisterCallback) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    iSndSysStreamCallback *arg2 = (iSndSysStreamCallback *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_RegisterCallback(self,pCallback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_RegisterCallback" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysStreamCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysStream_RegisterCallback" "', argument " "2"" of type '" "iSndSysStreamCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysStreamCallback * >(argp2);
    result = (bool)(arg1)->RegisterCallback(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_UnregisterCallback) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    iSndSysStreamCallback *arg2 = (iSndSysStreamCallback *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_UnregisterCallback(self,pCallback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_UnregisterCallback" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysStreamCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysStream_UnregisterCallback" "', argument " "2"" of type '" "iSndSysStreamCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysStreamCallback * >(argp2);
    result = (bool)(arg1)->UnregisterCallback(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_RegisterFrameNotification) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStream_RegisterFrameNotification(self,frame_number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStream_RegisterFrameNotification" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysStream_RegisterFrameNotification" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->RegisterFrameNotification(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysStream) {
  {
    iSndSysStream *arg1 = (iSndSysStream *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysStream(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStream, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysStream" "', argument " "1"" of type '" "iSndSysStream *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStream * >(argp1);
    delete_iSndSysStream(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStream_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysStream_scfGetVersion();");
    }
    result = (int)iSndSysStream_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStreamCallback_StreamLoopNotification) {
  {
    iSndSysStreamCallback *arg1 = (iSndSysStreamCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStreamCallback_StreamLoopNotification(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStreamCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStreamCallback_StreamLoopNotification" "', argument " "1"" of type '" "iSndSysStreamCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStreamCallback * >(argp1);
    (arg1)->StreamLoopNotification();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStreamCallback_StreamPauseNotification) {
  {
    iSndSysStreamCallback *arg1 = (iSndSysStreamCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStreamCallback_StreamPauseNotification(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStreamCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStreamCallback_StreamPauseNotification" "', argument " "1"" of type '" "iSndSysStreamCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStreamCallback * >(argp1);
    (arg1)->StreamPauseNotification();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStreamCallback_StreamUnpauseNotification) {
  {
    iSndSysStreamCallback *arg1 = (iSndSysStreamCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysStreamCallback_StreamUnpauseNotification(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStreamCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStreamCallback_StreamUnpauseNotification" "', argument " "1"" of type '" "iSndSysStreamCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStreamCallback * >(argp1);
    (arg1)->StreamUnpauseNotification();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysStreamCallback_StreamFrameNotification) {
  {
    iSndSysStreamCallback *arg1 = (iSndSysStreamCallback *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysStreamCallback_StreamFrameNotification(self,frame_number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStreamCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysStreamCallback_StreamFrameNotification" "', argument " "1"" of type '" "iSndSysStreamCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStreamCallback * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysStreamCallback_StreamFrameNotification" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->StreamFrameNotification(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysStreamCallback) {
  {
    iSndSysStreamCallback *arg1 = (iSndSysStreamCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysStreamCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysStreamCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysStreamCallback" "', argument " "1"" of type '" "iSndSysStreamCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysStreamCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_SetVolume) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRenderer_SetVolume(self,vol);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_SetVolume" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysRenderer_SetVolume" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetVolume(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_GetVolume) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysRenderer_GetVolume(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_GetVolume" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    result = (float)(arg1)->GetVolume();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_CreateStream) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    iSndSysData *arg2 = (iSndSysData *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iSndSysStream > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysRenderer_CreateStream(self,data,mode3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_CreateStream" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysData, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRenderer_CreateStream" "', argument " "2"" of type '" "iSndSysData *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysData * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSndSysRenderer_CreateStream" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->CreateStream(arg2,arg3);
    {
      csRef<iSndSysStream> rf ((csPtr<iSndSysStream>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSndSysStream*)rf, SWIG_TypeQuery("cspace::""iSndSysStream"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_CreateSource) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    iSndSysStream *arg2 = (iSndSysStream *) 0 ;
    SwigValueWrapper<csPtr<iSndSysSource > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRenderer_CreateSource(self,stream);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_CreateSource" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRenderer_CreateSource" "', argument " "2"" of type '" "iSndSysStream *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysStream * >(argp2);
    result = (arg1)->CreateSource(arg2);
    {
      csRef<iSndSysSource> rf ((csPtr<iSndSysSource>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSndSysSource*)rf, SWIG_TypeQuery("cspace::""iSndSysSource"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_RemoveStream) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    iSndSysStream *arg2 = (iSndSysStream *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRenderer_RemoveStream(self,stream);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_RemoveStream" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRenderer_RemoveStream" "', argument " "2"" of type '" "iSndSysStream *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysStream * >(argp2);
    result = (bool)(arg1)->RemoveStream(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_RemoveSource) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    iSndSysSource *arg2 = (iSndSysSource *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRenderer_RemoveSource(self,source);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_RemoveSource" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRenderer_RemoveSource" "', argument " "2"" of type '" "iSndSysSource *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysSource * >(argp2);
    result = (bool)(arg1)->RemoveSource(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_GetListener) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    SwigValueWrapper<csRef<iSndSysListener > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysRenderer_GetListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_GetListener" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    result = (arg1)->GetListener();
    {
      csRef<iSndSysListener> rf ((csRef<iSndSysListener>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iSndSysListener*)rf, SWIG_TypeQuery("cspace::""iSndSysListener"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_RegisterCallback) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    iSndSysRendererCallback *arg2 = (iSndSysRendererCallback *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRenderer_RegisterCallback(self,pCallback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_RegisterCallback" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysRendererCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRenderer_RegisterCallback" "', argument " "2"" of type '" "iSndSysRendererCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysRendererCallback * >(argp2);
    result = (bool)(arg1)->RegisterCallback(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_UnregisterCallback) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    iSndSysRendererCallback *arg2 = (iSndSysRendererCallback *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRenderer_UnregisterCallback(self,pCallback);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRenderer_UnregisterCallback" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysRendererCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRenderer_UnregisterCallback" "', argument " "2"" of type '" "iSndSysRendererCallback *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysRendererCallback * >(argp2);
    result = (bool)(arg1)->UnregisterCallback(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysRenderer) {
  {
    iSndSysRenderer *arg1 = (iSndSysRenderer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysRenderer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRenderer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysRenderer" "', argument " "1"" of type '" "iSndSysRenderer *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRenderer * >(argp1);
    delete_iSndSysRenderer(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRenderer_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysRenderer_scfGetVersion();");
    }
    result = (int)iSndSysRenderer_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRendererCallback_StreamAddNotification) {
  {
    iSndSysRendererCallback *arg1 = (iSndSysRendererCallback *) 0 ;
    iSndSysStream *arg2 = (iSndSysStream *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRendererCallback_StreamAddNotification(self,pStream);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRendererCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRendererCallback_StreamAddNotification" "', argument " "1"" of type '" "iSndSysRendererCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRendererCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRendererCallback_StreamAddNotification" "', argument " "2"" of type '" "iSndSysStream *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysStream * >(argp2);
    (arg1)->StreamAddNotification(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRendererCallback_StreamRemoveNotification) {
  {
    iSndSysRendererCallback *arg1 = (iSndSysRendererCallback *) 0 ;
    iSndSysStream *arg2 = (iSndSysStream *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRendererCallback_StreamRemoveNotification(self,pStream);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRendererCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRendererCallback_StreamRemoveNotification" "', argument " "1"" of type '" "iSndSysRendererCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRendererCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysStream, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRendererCallback_StreamRemoveNotification" "', argument " "2"" of type '" "iSndSysStream *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysStream * >(argp2);
    (arg1)->StreamRemoveNotification(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRendererCallback_SourceAddNotification) {
  {
    iSndSysRendererCallback *arg1 = (iSndSysRendererCallback *) 0 ;
    iSndSysSource *arg2 = (iSndSysSource *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRendererCallback_SourceAddNotification(self,pSource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRendererCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRendererCallback_SourceAddNotification" "', argument " "1"" of type '" "iSndSysRendererCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRendererCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRendererCallback_SourceAddNotification" "', argument " "2"" of type '" "iSndSysSource *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysSource * >(argp2);
    (arg1)->SourceAddNotification(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRendererCallback_SourceRemoveNotification) {
  {
    iSndSysRendererCallback *arg1 = (iSndSysRendererCallback *) 0 ;
    iSndSysSource *arg2 = (iSndSysSource *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSndSysRendererCallback_SourceRemoveNotification(self,pSource);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRendererCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRendererCallback_SourceRemoveNotification" "', argument " "1"" of type '" "iSndSysRendererCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRendererCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSndSysSource, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysRendererCallback_SourceRemoveNotification" "', argument " "2"" of type '" "iSndSysSource *""'"); 
    }
    arg2 = reinterpret_cast< iSndSysSource * >(argp2);
    (arg1)->SourceRemoveNotification(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysRendererCallback) {
  {
    iSndSysRendererCallback *arg1 = (iSndSysRendererCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysRendererCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRendererCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysRendererCallback" "', argument " "1"" of type '" "iSndSysRendererCallback *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRendererCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRendererSoftware_AddOutputFilter) {
  {
    iSndSysRendererSoftware *arg1 = (iSndSysRendererSoftware *) 0 ;
    SndSysFilterLocation arg2 ;
    iSndSysSoftwareOutputFilter *arg3 = (iSndSysSoftwareOutputFilter *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysRendererSoftware_AddOutputFilter(self,Location,pFilter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRendererSoftware, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRendererSoftware_AddOutputFilter" "', argument " "1"" of type '" "iSndSysRendererSoftware *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRendererSoftware * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysRendererSoftware_AddOutputFilter" "', argument " "2"" of type '" "SndSysFilterLocation""'");
    } 
    arg2 = static_cast< SndSysFilterLocation >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSndSysSoftwareOutputFilter, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSndSysRendererSoftware_AddOutputFilter" "', argument " "3"" of type '" "iSndSysSoftwareOutputFilter *""'"); 
    }
    arg3 = reinterpret_cast< iSndSysSoftwareOutputFilter * >(argp3);
    result = (bool)(arg1)->AddOutputFilter(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysRendererSoftware_RemoveOutputFilter) {
  {
    iSndSysRendererSoftware *arg1 = (iSndSysRendererSoftware *) 0 ;
    SndSysFilterLocation arg2 ;
    iSndSysSoftwareOutputFilter *arg3 = (iSndSysSoftwareOutputFilter *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysRendererSoftware_RemoveOutputFilter(self,Location,pFilter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRendererSoftware, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysRendererSoftware_RemoveOutputFilter" "', argument " "1"" of type '" "iSndSysRendererSoftware *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRendererSoftware * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSndSysRendererSoftware_RemoveOutputFilter" "', argument " "2"" of type '" "SndSysFilterLocation""'");
    } 
    arg2 = static_cast< SndSysFilterLocation >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSndSysSoftwareOutputFilter, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSndSysRendererSoftware_RemoveOutputFilter" "', argument " "3"" of type '" "iSndSysSoftwareOutputFilter *""'"); 
    }
    arg3 = reinterpret_cast< iSndSysSoftwareOutputFilter * >(argp3);
    result = (bool)(arg1)->RemoveOutputFilter(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysRendererSoftware) {
  {
    iSndSysRendererSoftware *arg1 = (iSndSysRendererSoftware *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysRendererSoftware(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysRendererSoftware, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysRendererSoftware" "', argument " "1"" of type '" "iSndSysRendererSoftware *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysRendererSoftware * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareDriver_Open) {
  {
    iSndSysSoftwareDriver *arg1 = (iSndSysSoftwareDriver *) 0 ;
    csSndSysRendererSoftware *arg2 = (csSndSysRendererSoftware *) 0 ;
    csSndSysSoundFormat *arg3 = (csSndSysSoundFormat *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSndSysSoftwareDriver_Open(self,renderer,requested_format);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareDriver_Open" "', argument " "1"" of type '" "iSndSysSoftwareDriver *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareDriver * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csSndSysRendererSoftware, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSndSysSoftwareDriver_Open" "', argument " "2"" of type '" "csSndSysRendererSoftware *""'"); 
    }
    arg2 = reinterpret_cast< csSndSysRendererSoftware * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csSndSysSoundFormat, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSndSysSoftwareDriver_Open" "', argument " "3"" of type '" "csSndSysSoundFormat *""'"); 
    }
    arg3 = reinterpret_cast< csSndSysSoundFormat * >(argp3);
    result = (bool)(arg1)->Open(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareDriver_Close) {
  {
    iSndSysSoftwareDriver *arg1 = (iSndSysSoftwareDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareDriver_Close(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareDriver_Close" "', argument " "1"" of type '" "iSndSysSoftwareDriver *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareDriver * >(argp1);
    (arg1)->Close();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareDriver_StartThread) {
  {
    iSndSysSoftwareDriver *arg1 = (iSndSysSoftwareDriver *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareDriver_StartThread(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareDriver_StartThread" "', argument " "1"" of type '" "iSndSysSoftwareDriver *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareDriver * >(argp1);
    result = (bool)(arg1)->StartThread();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareDriver_StopThread) {
  {
    iSndSysSoftwareDriver *arg1 = (iSndSysSoftwareDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSndSysSoftwareDriver_StopThread(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSndSysSoftwareDriver_StopThread" "', argument " "1"" of type '" "iSndSysSoftwareDriver *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareDriver * >(argp1);
    (arg1)->StopThread();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSndSysSoftwareDriver) {
  {
    iSndSysSoftwareDriver *arg1 = (iSndSysSoftwareDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSndSysSoftwareDriver(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSndSysSoftwareDriver, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSndSysSoftwareDriver" "', argument " "1"" of type '" "iSndSysSoftwareDriver *""'"); 
    }
    arg1 = reinterpret_cast< iSndSysSoftwareDriver * >(argp1);
    delete_iSndSysSoftwareDriver(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSndSysSoftwareDriver_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSndSysSoftwareDriver_scfGetVersion();");
    }
    result = (int)iSndSysSoftwareDriver_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iComponent_Initialize) {
  {
    iComponent *arg1 = (iComponent *) 0 ;
    iObjectRegistry *arg2 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iComponent_Initialize(self,iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iComponent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iComponent_Initialize" "', argument " "1"" of type '" "iComponent *""'"); 
    }
    arg1 = reinterpret_cast< iComponent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iComponent_Initialize" "', argument " "2"" of type '" "iObjectRegistry *""'"); 
    }
    arg2 = reinterpret_cast< iObjectRegistry * >(argp2);
    result = (bool)(arg1)->Initialize(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iComponent) {
  {
    iComponent *arg1 = (iComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iComponent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iComponent, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iComponent" "', argument " "1"" of type '" "iComponent *""'"); 
    }
    arg1 = reinterpret_cast< iComponent * >(argp1);
    delete_iComponent(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iComponent_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iComponent_scfGetVersion();");
    }
    result = (int)iComponent_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_SetReadOnly) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCacheManager_SetReadOnly(self,ro);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_SetReadOnly" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCacheManager_SetReadOnly" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetReadOnly(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_IsReadOnly) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCacheManager_IsReadOnly(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_IsReadOnly" "', argument " "1"" of type '" "iCacheManager const *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    result = (bool)((iCacheManager const *)arg1)->IsReadOnly();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_SetCurrentType) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCacheManager_SetCurrentType(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_SetCurrentType" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCacheManager_SetCurrentType" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetCurrentType((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_GetCurrentType) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCacheManager_GetCurrentType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_GetCurrentType" "', argument " "1"" of type '" "iCacheManager const *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    result = (char *)((iCacheManager const *)arg1)->GetCurrentType();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_SetCurrentScope) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCacheManager_SetCurrentScope(self,scope);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_SetCurrentScope" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCacheManager_SetCurrentScope" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetCurrentScope((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_GetCurrentScope) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCacheManager_GetCurrentScope(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_GetCurrentScope" "', argument " "1"" of type '" "iCacheManager const *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    result = (char *)((iCacheManager const *)arg1)->GetCurrentScope();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_CacheData) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    void *arg2 = (void *) 0 ;
    size_t arg3 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    uint32 arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    void *argp6 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iCacheManager_CacheData(self,data,size,type,scope,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_CacheData" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, 0);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCacheManager_CacheData" "', argument " "2"" of type '" "void const *""'"); 
    }
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iCacheManager_CacheData" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iCacheManager_CacheData" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iCacheManager_CacheData" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    {
      res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res6)) {
        SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iCacheManager_CacheData" "', argument " "6"" of type '" "uint32""'"); 
      }  
      if (!argp6) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCacheManager_CacheData" "', argument " "6"" of type '" "uint32""'");
      } else {
        arg6 = *(reinterpret_cast< uint32 * >(argp6));
      }
    }
    result = (bool)(arg1)->CacheData((void const *)arg2,arg3,(char const *)arg4,(char const *)arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_ReadCache) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    uint32 arg4 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iCacheManager_ReadCache(self,type,scope,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_ReadCache" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCacheManager_ReadCache" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCacheManager_ReadCache" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    {
      res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res4)) {
        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iCacheManager_ReadCache" "', argument " "4"" of type '" "uint32""'"); 
      }  
      if (!argp4) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCacheManager_ReadCache" "', argument " "4"" of type '" "uint32""'");
      } else {
        arg4 = *(reinterpret_cast< uint32 * >(argp4));
      }
    }
    result = (arg1)->ReadCache((char const *)arg2,(char const *)arg3,arg4);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_ClearCache__SWIG_0) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    uint32 *arg4 = (uint32 *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iCacheManager_ClearCache(self,type,scope,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_ClearCache" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCacheManager_ClearCache" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCacheManager_ClearCache" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_uint32_t, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iCacheManager_ClearCache" "', argument " "4"" of type '" "uint32 const *""'"); 
    }
    arg4 = reinterpret_cast< uint32 * >(argp4);
    result = (bool)(arg1)->ClearCache((char const *)arg2,(char const *)arg3,(uint32 const *)arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_ClearCache__SWIG_1) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iCacheManager_ClearCache(self,type,scope);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_ClearCache" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCacheManager_ClearCache" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCacheManager_ClearCache" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->ClearCache((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_ClearCache__SWIG_2) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCacheManager_ClearCache(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_ClearCache" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCacheManager_ClearCache" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->ClearCache((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_ClearCache__SWIG_3) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCacheManager_ClearCache(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_ClearCache" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    result = (bool)(arg1)->ClearCache();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_ClearCache) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCacheManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCacheManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCacheManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCacheManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCacheManager_ClearCache__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCacheManager_ClearCache__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCacheManager_ClearCache__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCacheManager_ClearCache__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iCacheManager_ClearCache'");
  XSRETURN(0);
}


XS(_wrap_iCacheManager_Flush) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCacheManager_Flush(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCacheManager_Flush" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    (arg1)->Flush();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iCacheManager) {
  {
    iCacheManager *arg1 = (iCacheManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iCacheManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCacheManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iCacheManager" "', argument " "1"" of type '" "iCacheManager *""'"); 
    }
    arg1 = reinterpret_cast< iCacheManager * >(argp1);
    delete_iCacheManager(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCacheManager_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iCacheManager_scfGetVersion();");
    }
    result = (int)iCacheManager_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_sec_set) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFileTime_sec_set(self,sec);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_sec_set" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFileTime_sec_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->sec = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_sec_get) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFileTime_sec_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_sec_get" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    result = (int) ((arg1)->sec);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_min_set) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFileTime_min_set(self,min);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_min_set" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFileTime_min_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->min = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_min_get) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFileTime_min_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_min_get" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    result = (int) ((arg1)->min);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_hour_set) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFileTime_hour_set(self,hour);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_hour_set" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFileTime_hour_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->hour = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_hour_get) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFileTime_hour_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_hour_get" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    result = (int) ((arg1)->hour);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_day_set) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFileTime_day_set(self,day);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_day_set" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFileTime_day_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->day = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_day_get) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFileTime_day_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_day_get" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    result = (int) ((arg1)->day);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_mon_set) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFileTime_mon_set(self,mon);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_mon_set" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFileTime_mon_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->mon = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_mon_get) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFileTime_mon_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_mon_get" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    result = (int) ((arg1)->mon);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_year_set) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csFileTime_year_set(self,year);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_year_set" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csFileTime_year_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->year = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csFileTime_year_get) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csFileTime_year_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csFileTime_year_get" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    result = (int) ((arg1)->year);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csFileTime) {
  {
    csFileTime *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csFileTime();");
    }
    result = (csFileTime *)new csFileTime();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csFileTime, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csFileTime) {
  {
    csFileTime *arg1 = (csFileTime *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csFileTime(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csFileTime, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csFileTime" "', argument " "1"" of type '" "csFileTime *""'"); 
    }
    arg1 = reinterpret_cast< csFileTime * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_GetName) {
  {
    iFile *arg1 = (iFile *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFile_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_GetName" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    result = (char *)(arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_GetSize) {
  {
    iFile *arg1 = (iFile *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFile_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_GetSize" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    result = (arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_GetStatus) {
  {
    iFile *arg1 = (iFile *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFile_GetStatus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_GetStatus" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    result = (int)(arg1)->GetStatus();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_Read) {
  {
    iFile *arg1 = (iFile *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t arg3 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iFile_Read(self,Data,DataSize);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_Read" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFile_Read" "', argument " "2"" of type '" "char *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iFile_Read" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (arg1)->Read(arg2,arg3);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_Write) {
  {
    iFile *arg1 = (iFile *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t arg3 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iFile_Write(self,Data,DataSize);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_Write" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFile_Write" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iFile_Write" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (arg1)->Write((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_Flush) {
  {
    iFile *arg1 = (iFile *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFile_Flush(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_Flush" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    (arg1)->Flush();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_AtEOF) {
  {
    iFile *arg1 = (iFile *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFile_AtEOF(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_AtEOF" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    result = (bool)(arg1)->AtEOF();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_GetPos) {
  {
    iFile *arg1 = (iFile *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFile_GetPos(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_GetPos" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    result = (arg1)->GetPos();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_SetPos) {
  {
    iFile *arg1 = (iFile *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFile_SetPos(self,newpos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_SetPos" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFile_SetPos" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->SetPos(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_GetAllData__SWIG_0) {
  {
    iFile *arg1 = (iFile *) 0 ;
    bool arg2 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFile_GetAllData(self,nullterm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_GetAllData" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFile_GetAllData" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    result = (arg1)->GetAllData(arg2);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_GetAllData__SWIG_1) {
  {
    iFile *arg1 = (iFile *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFile_GetAllData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFile_GetAllData" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    result = (arg1)->GetAllData();
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_GetAllData) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iFile_GetAllData__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iFile_GetAllData__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iFile_GetAllData'");
  XSRETURN(0);
}


XS(_wrap_delete_iFile) {
  {
    iFile *arg1 = (iFile *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iFile(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFile, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iFile" "', argument " "1"" of type '" "iFile *""'"); 
    }
    arg1 = reinterpret_cast< iFile * >(argp1);
    delete_iFile(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFile_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iFile_scfGetVersion();");
    }
    result = (int)iFile_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ChDir) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_ChDir(self,Path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ChDir" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ChDir" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->ChDir((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_GetCwd) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVFS_GetCwd(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_GetCwd" "', argument " "1"" of type '" "iVFS const *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    result = (char *)((iVFS const *)arg1)->GetCwd();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_PushDir__SWIG_0) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_PushDir(self,Path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_PushDir" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_PushDir" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->PushDir((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_PushDir__SWIG_1) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVFS_PushDir(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_PushDir" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    (arg1)->PushDir();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_PushDir) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_PushDir__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_PushDir__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iVFS_PushDir'");
  XSRETURN(0);
}


XS(_wrap_iVFS_PopDir) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVFS_PopDir(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_PopDir" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    result = (bool)(arg1)->PopDir();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ExpandPath__SWIG_0) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_ExpandPath(self,Path,IsDir);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ExpandPath" "', argument " "1"" of type '" "iVFS const *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ExpandPath" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iVFS_ExpandPath" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = ((iVFS const *)arg1)->ExpandPath((char const *)arg2,arg3);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ExpandPath__SWIG_1) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_ExpandPath(self,Path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ExpandPath" "', argument " "1"" of type '" "iVFS const *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ExpandPath" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = ((iVFS const *)arg1)->ExpandPath((char const *)arg2);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ExpandPath) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_ExpandPath__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_ExpandPath__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iVFS_ExpandPath'");
  XSRETURN(0);
}


XS(_wrap_iVFS_Exists) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_Exists(self,Path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_Exists" "', argument " "1"" of type '" "iVFS const *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_Exists" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)((iVFS const *)arg1)->Exists((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_FindFiles) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iStringArray > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_FindFiles(self,Path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_FindFiles" "', argument " "1"" of type '" "iVFS const *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_FindFiles" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = ((iVFS const *)arg1)->FindFiles((char const *)arg2);
    {
      csRef<iStringArray> rf ((csPtr<iStringArray>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iStringArray*)rf, SWIG_TypeQuery("cspace::""iStringArray"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_Open) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iFile > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_Open(self,FileName,Mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_Open" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_Open" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iVFS_Open" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->Open((char const *)arg2,arg3);
    {
      csRef<iFile> rf ((csPtr<iFile>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iFile*)rf, SWIG_TypeQuery("cspace::""iFile"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ReadFile__SWIG_0) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_ReadFile(self,FileName,nullterm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ReadFile" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ReadFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iVFS_ReadFile" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (arg1)->ReadFile((char const *)arg2,arg3);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ReadFile__SWIG_1) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_ReadFile(self,FileName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ReadFile" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ReadFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->ReadFile((char const *)arg2);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ReadFile) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_ReadFile__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_ReadFile__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iVFS_ReadFile'");
  XSRETURN(0);
}


XS(_wrap_iVFS_WriteFile) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    size_t arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    size_t val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iVFS_WriteFile(self,Name,Data,Size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_WriteFile" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_WriteFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_WriteFile" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iVFS_WriteFile" "', argument " "4"" of type '" "size_t""'");
    } 
    arg4 = static_cast< size_t >(val4);
    result = (bool)(arg1)->WriteFile((char const *)arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_DeleteFile) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_DeleteFile(self,FileName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_DeleteFile" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_DeleteFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->DeleteFile((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_Sync) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVFS_Sync(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_Sync" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    result = (bool)(arg1)->Sync();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_SymbolicLink__SWIG_0) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iVFS_SymbolicLink(self,Target,Link,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_SymbolicLink" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_SymbolicLink" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_SymbolicLink" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iVFS_SymbolicLink" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->SymbolicLink((char const *)arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_SymbolicLink__SWIG_1) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_SymbolicLink(self,Target,Link);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_SymbolicLink" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_SymbolicLink" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_SymbolicLink" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->SymbolicLink((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_SymbolicLink__SWIG_2) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_SymbolicLink(self,Target);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_SymbolicLink" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_SymbolicLink" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SymbolicLink((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_SymbolicLink) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_SymbolicLink__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_SymbolicLink__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_SymbolicLink__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iVFS_SymbolicLink'");
  XSRETURN(0);
}


XS(_wrap_iVFS_Mount) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_Mount(self,VirtualPath,RealPath);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_Mount" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_Mount" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_Mount" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->Mount((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_Unmount) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_Unmount(self,VirtualPath,RealPath);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_Unmount" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_Unmount" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_Unmount" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->Unmount((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_MountRoot) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csRef<iStringArray > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_MountRoot(self,VirtualPath);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_MountRoot" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_MountRoot" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->MountRoot((char const *)arg2);
    {
      csRef<iStringArray> rf ((csRef<iStringArray>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iStringArray*)rf, SWIG_TypeQuery("cspace::""iStringArray"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_SaveMounts) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_SaveMounts(self,FileName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_SaveMounts" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_SaveMounts" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->SaveMounts((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_LoadMountsFromFile) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    iConfigFile *arg2 = (iConfigFile *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_LoadMountsFromFile(self,file);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_LoadMountsFromFile" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_LoadMountsFromFile" "', argument " "2"" of type '" "iConfigFile *""'"); 
    }
    arg2 = reinterpret_cast< iConfigFile * >(argp2);
    result = (bool)(arg1)->LoadMountsFromFile(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ChDirAuto__SWIG_0) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    csStringArray *arg3 = (csStringArray *) 0 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iVFS_ChDirAuto(self,path,paths,vfspath,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ChDirAuto" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ChDirAuto" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csStringArray, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_ChDirAuto" "', argument " "3"" of type '" "csStringArray const *""'"); 
    }
    arg3 = reinterpret_cast< csStringArray * >(argp3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iVFS_ChDirAuto" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iVFS_ChDirAuto" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    result = (bool)(arg1)->ChDirAuto((char const *)arg2,(csStringArray const *)arg3,(char const *)arg4,(char const *)arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ChDirAuto__SWIG_1) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    csStringArray *arg3 = (csStringArray *) 0 ;
    char *arg4 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iVFS_ChDirAuto(self,path,paths,vfspath);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ChDirAuto" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ChDirAuto" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csStringArray, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_ChDirAuto" "', argument " "3"" of type '" "csStringArray const *""'"); 
    }
    arg3 = reinterpret_cast< csStringArray * >(argp3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iVFS_ChDirAuto" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = (bool)(arg1)->ChDirAuto((char const *)arg2,(csStringArray const *)arg3,(char const *)arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ChDirAuto__SWIG_2) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    csStringArray *arg3 = (csStringArray *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_ChDirAuto(self,path,paths);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ChDirAuto" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ChDirAuto" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csStringArray, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_ChDirAuto" "', argument " "3"" of type '" "csStringArray const *""'"); 
    }
    arg3 = reinterpret_cast< csStringArray * >(argp3);
    result = (bool)(arg1)->ChDirAuto((char const *)arg2,(csStringArray const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ChDirAuto__SWIG_3) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_ChDirAuto(self,path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_ChDirAuto" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_ChDirAuto" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->ChDirAuto((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_ChDirAuto) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csStringArray, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csStringArray, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csStringArray, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(4), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_ChDirAuto__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_ChDirAuto__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_ChDirAuto__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iVFS_ChDirAuto__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iVFS_ChDirAuto'");
  XSRETURN(0);
}


XS(_wrap_iVFS_GetFileTime) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    csFileTime *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_GetFileTime(self,FileName,oTime);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_GetFileTime" "', argument " "1"" of type '" "iVFS const *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_GetFileTime" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csFileTime,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_GetFileTime" "', argument " "3"" of type '" "csFileTime &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVFS_GetFileTime" "', argument " "3"" of type '" "csFileTime &""'"); 
    }
    arg3 = reinterpret_cast< csFileTime * >(argp3);
    result = (bool)((iVFS const *)arg1)->GetFileTime((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_SetFileTime) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    csFileTime *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_SetFileTime(self,FileName,iTime);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_SetFileTime" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_SetFileTime" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csFileTime,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_SetFileTime" "', argument " "3"" of type '" "csFileTime const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVFS_SetFileTime" "', argument " "3"" of type '" "csFileTime const &""'"); 
    }
    arg3 = reinterpret_cast< csFileTime * >(argp3);
    result = (bool)(arg1)->SetFileTime((char const *)arg2,(csFileTime const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_GetFileSize) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iVFS_GetFileSize(self,FileName,oSize);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_GetFileSize" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_GetFileSize" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iVFS_GetFileSize" "', argument " "3"" of type '" "size_t &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iVFS_GetFileSize" "', argument " "3"" of type '" "size_t &""'"); 
    }
    arg3 = reinterpret_cast< size_t * >(argp3);
    result = (bool)(arg1)->GetFileSize((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_GetRealPath) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_GetRealPath(self,FileName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_GetRealPath" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_GetRealPath" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->GetRealPath((char const *)arg2);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_GetMounts) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    SwigValueWrapper<csRef<iStringArray > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVFS_GetMounts(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_GetMounts" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    result = (arg1)->GetMounts();
    {
      csRef<iStringArray> rf ((csRef<iStringArray>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iStringArray*)rf, SWIG_TypeQuery("cspace::""iStringArray"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_GetRealMountPaths) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csRef<iStringArray > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iVFS_GetRealMountPaths(self,VirtualPath);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVFS_GetRealMountPaths" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iVFS_GetRealMountPaths" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->GetRealMountPaths((char const *)arg2);
    {
      csRef<iStringArray> rf ((csRef<iStringArray>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iStringArray*)rf, SWIG_TypeQuery("cspace::""iStringArray"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iVFS) {
  {
    iVFS *arg1 = (iVFS *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iVFS(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVFS, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iVFS" "', argument " "1"" of type '" "iVFS *""'"); 
    }
    arg1 = reinterpret_cast< iVFS * >(argp1);
    delete_iVFS(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVFS_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iVFS_scfGetVersion();");
    }
    result = (int)iVFS_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectNameChangeListener_NameChanged) {
  {
    iObjectNameChangeListener *arg1 = (iObjectNameChangeListener *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iObjectNameChangeListener_NameChanged(self,obj,oldname,newname);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectNameChangeListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectNameChangeListener_NameChanged" "', argument " "1"" of type '" "iObjectNameChangeListener *""'"); 
    }
    arg1 = reinterpret_cast< iObjectNameChangeListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectNameChangeListener_NameChanged" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iObjectNameChangeListener_NameChanged" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iObjectNameChangeListener_NameChanged" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    (arg1)->NameChanged(arg2,(char const *)arg3,(char const *)arg4);
    
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iObjectNameChangeListener) {
  {
    iObjectNameChangeListener *arg1 = (iObjectNameChangeListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iObjectNameChangeListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectNameChangeListener, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iObjectNameChangeListener" "', argument " "1"" of type '" "iObjectNameChangeListener *""'"); 
    }
    arg1 = reinterpret_cast< iObjectNameChangeListener * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_SetName) {
  {
    iObject *arg1 = (iObject *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_SetName(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_SetName" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_GetName) {
  {
    iObject *arg1 = (iObject *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObject_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_GetName" "', argument " "1"" of type '" "iObject const *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    result = (char *)((iObject const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_GetID) {
  {
    iObject *arg1 = (iObject *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObject_GetID(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_GetID" "', argument " "1"" of type '" "iObject const *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    result = (uint)((iObject const *)arg1)->GetID();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_SetObjectParent) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_SetObjectParent(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_SetObjectParent" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_SetObjectParent" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->SetObjectParent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_GetObjectParent) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObject_GetObjectParent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_GetObjectParent" "', argument " "1"" of type '" "iObject const *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    result = (iObject *)((iObject const *)arg1)->GetObjectParent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_ObjAdd) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_ObjAdd(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_ObjAdd" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_ObjAdd" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->ObjAdd(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_ObjRemove) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_ObjRemove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_ObjRemove" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_ObjRemove" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->ObjRemove(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_ObjRemoveAll) {
  {
    iObject *arg1 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObject_ObjRemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_ObjRemoveAll" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    (arg1)->ObjRemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_ObjAddChildren) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_ObjAddChildren(self,Parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_ObjAddChildren" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_ObjAddChildren" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->ObjAddChildren(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_GetChild__SWIG_0) {
  {
    iObject *arg1 = (iObject *) 0 ;
    int arg2 ;
    int arg3 ;
    char *arg4 = (char *) 0 ;
    bool arg5 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iObject_GetChild(self,iInterfaceID,iVersion,Name,FirstName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_GetChild" "', argument " "1"" of type '" "iObject const *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iObject_GetChild" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iObject_GetChild" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iObject_GetChild" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iObject_GetChild" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (iObject *)((iObject const *)arg1)->GetChild(arg2,arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_GetChild__SWIG_1) {
  {
    iObject *arg1 = (iObject *) 0 ;
    int arg2 ;
    int arg3 ;
    char *arg4 = (char *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iObject_GetChild(self,iInterfaceID,iVersion,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_GetChild" "', argument " "1"" of type '" "iObject const *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iObject_GetChild" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iObject_GetChild" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iObject_GetChild" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = (iObject *)((iObject const *)arg1)->GetChild(arg2,arg3,(char const *)arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_GetChild__SWIG_2) {
  {
    iObject *arg1 = (iObject *) 0 ;
    int arg2 ;
    int arg3 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iObject_GetChild(self,iInterfaceID,iVersion);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_GetChild" "', argument " "1"" of type '" "iObject const *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iObject_GetChild" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iObject_GetChild" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (iObject *)((iObject const *)arg1)->GetChild(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_GetChild__SWIG_3) {
  {
    iObject *arg1 = (iObject *) 0 ;
    char *arg2 = (char *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_GetChild(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_GetChild" "', argument " "1"" of type '" "iObject const *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_GetChild" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iObject *)((iObject const *)arg1)->GetChild((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_GetChild) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObject_GetChild__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObject_GetChild__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObject_GetChild__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObject_GetChild__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iObject_GetChild'");
  XSRETURN(0);
}


XS(_wrap_iObject_GetIterator) {
  {
    iObject *arg1 = (iObject *) 0 ;
    SwigValueWrapper<csPtr<iObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObject_GetIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_GetIterator" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    result = (arg1)->GetIterator();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectIterator >(static_cast< const csPtr<iObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_ObjReleaseOld) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_ObjReleaseOld(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_ObjReleaseOld" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_ObjReleaseOld" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->ObjReleaseOld(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_AddNameChangeListener) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iObjectNameChangeListener *arg2 = (iObjectNameChangeListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_AddNameChangeListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_AddNameChangeListener" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectNameChangeListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_AddNameChangeListener" "', argument " "2"" of type '" "iObjectNameChangeListener *""'"); 
    }
    arg2 = reinterpret_cast< iObjectNameChangeListener * >(argp2);
    (arg1)->AddNameChangeListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_RemoveNameChangeListener) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iObjectNameChangeListener *arg2 = (iObjectNameChangeListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObject_RemoveNameChangeListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObject_RemoveNameChangeListener" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectNameChangeListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObject_RemoveNameChangeListener" "', argument " "2"" of type '" "iObjectNameChangeListener *""'"); 
    }
    arg2 = reinterpret_cast< iObjectNameChangeListener * >(argp2);
    (arg1)->RemoveNameChangeListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iObject) {
  {
    iObject *arg1 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iObject" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    delete_iObject(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObject_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iObject_scfGetVersion();");
    }
    result = (int)iObject_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectIterator_Next) {
  {
    iObjectIterator *arg1 = (iObjectIterator *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectIterator_Next" "', argument " "1"" of type '" "iObjectIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectIterator * >(argp1);
    result = (iObject *)(arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectIterator_Reset) {
  {
    iObjectIterator *arg1 = (iObjectIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectIterator_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectIterator_Reset" "', argument " "1"" of type '" "iObjectIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectIterator * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectIterator_GetParentObj) {
  {
    iObjectIterator *arg1 = (iObjectIterator *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectIterator_GetParentObj(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectIterator_GetParentObj" "', argument " "1"" of type '" "iObjectIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iObjectIterator * >(argp1);
    result = (iObject *)((iObjectIterator const *)arg1)->GetParentObj();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectIterator_HasNext) {
  {
    iObjectIterator *arg1 = (iObjectIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectIterator_HasNext" "', argument " "1"" of type '" "iObjectIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iObjectIterator * >(argp1);
    result = (bool)((iObjectIterator const *)arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectIterator_FindName) {
  {
    iObjectIterator *arg1 = (iObjectIterator *) 0 ;
    char *arg2 = (char *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectIterator_FindName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectIterator_FindName" "', argument " "1"" of type '" "iObjectIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectIterator * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectIterator_FindName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iObject *)(arg1)->FindName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iObjectIterator) {
  {
    iObjectIterator *arg1 = (iObjectIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iObjectIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iObjectIterator" "', argument " "1"" of type '" "iObjectIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_Request__SWIG_0) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    char *arg2 = (char *) 0 ;
    csStringID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringSet_Request(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_Request" "', argument " "1"" of type '" "iStringSet *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringSet_Request" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csStringID)(arg1)->Request((char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_Request__SWIG_1) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    csStringID arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringSet_Request(self,csStringID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_Request" "', argument " "1"" of type '" "iStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStringSet_Request" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (char *)((iStringSet const *)arg1)->Request(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_Request) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringSet_Request__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringSet_Request__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iStringSet_Request'");
  XSRETURN(0);
}


XS(_wrap_iStringSet_Contains__SWIG_0) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringSet_Contains(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_Contains" "', argument " "1"" of type '" "iStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringSet_Contains" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)((iStringSet const *)arg1)->Contains((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_Contains__SWIG_1) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    csStringID arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringSet_Contains(self,csStringID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_Contains" "', argument " "1"" of type '" "iStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStringSet_Contains" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (bool)((iStringSet const *)arg1)->Contains(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_Contains) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringSet_Contains__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringSet_Contains__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iStringSet_Contains'");
  XSRETURN(0);
}


XS(_wrap_iStringSet_Delete__SWIG_0) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringSet_Delete(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_Delete" "', argument " "1"" of type '" "iStringSet *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringSet_Delete" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Delete((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_Delete__SWIG_1) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    csStringID arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringSet_Delete(self,csStringID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_Delete" "', argument " "1"" of type '" "iStringSet *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStringSet_Delete" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (bool)(arg1)->Delete(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_Delete) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringSet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringSet_Delete__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringSet_Delete__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iStringSet_Delete'");
  XSRETURN(0);
}


XS(_wrap_iStringSet_Empty) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringSet_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_Empty" "', argument " "1"" of type '" "iStringSet *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_Clear) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringSet_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_Clear" "', argument " "1"" of type '" "iStringSet *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_GetSize) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringSet_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_GetSize" "', argument " "1"" of type '" "iStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    result = ((iStringSet const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_IsEmpty) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringSet_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringSet_IsEmpty" "', argument " "1"" of type '" "iStringSet const *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    result = (bool)((iStringSet const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iStringSet) {
  {
    iStringSet *arg1 = (iStringSet *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iStringSet(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringSet, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iStringSet" "', argument " "1"" of type '" "iStringSet *""'"); 
    }
    arg1 = reinterpret_cast< iStringSet * >(argp1);
    delete_iStringSet(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringSet_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iStringSet_scfGetVersion();");
    }
    result = (int)iStringSet_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Clear) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectRegistry_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Clear" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Register__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iObjectRegistry_Register(self,obj,tag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Register" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectRegistry_Register" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iObjectRegistry_Register" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->Register(arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Register__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectRegistry_Register(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Register" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectRegistry_Register" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    result = (bool)(arg1)->Register(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Register) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectRegistry_Register__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectRegistry_Register__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iObjectRegistry_Register'");
  XSRETURN(0);
}


XS(_wrap_iObjectRegistry_Unregister__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iObjectRegistry_Unregister(self,obj,tag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Unregister" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectRegistry_Unregister" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iObjectRegistry_Unregister" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->Unregister(arg2,(char const *)arg3);
    
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Unregister__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectRegistry_Unregister(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Unregister" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectRegistry_Unregister" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    (arg1)->Unregister(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Unregister) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectRegistry_Unregister__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectRegistry_Unregister__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iObjectRegistry_Unregister'");
  XSRETURN(0);
}


XS(_wrap_iObjectRegistry_Get__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iObjectRegistry_Get(self,tag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Get" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectRegistry_Get" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iBase *)(arg1)->Get((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Get__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    scfInterfaceID arg3 ;
    int arg4 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iObjectRegistry_Get(self,tag,id,version);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Get" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iObjectRegistry_Get" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iObjectRegistry_Get" "', argument " "3"" of type '" "scfInterfaceID""'");
    } 
    arg3 = static_cast< scfInterfaceID >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iObjectRegistry_Get" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (iBase *)(arg1)->Get((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Get__SWIG_2) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    scfInterfaceID arg2 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iObjectRegistryIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iObjectRegistry_Get(self,id,version);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Get" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iObjectRegistry_Get" "', argument " "2"" of type '" "scfInterfaceID""'");
    } 
    arg2 = static_cast< scfInterfaceID >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iObjectRegistry_Get" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->Get(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectRegistryIterator >(static_cast< const csPtr<iObjectRegistryIterator >& >(result))), SWIGTYPE_p_csPtrTiObjectRegistryIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Get__SWIG_3) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    SwigValueWrapper<csPtr<iObjectRegistryIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectRegistry_Get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistry_Get" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (arg1)->Get();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectRegistryIterator >(static_cast< const csPtr<iObjectRegistryIterator >& >(result))), SWIGTYPE_p_csPtrTiObjectRegistryIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_Get) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectRegistry_Get__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectRegistry_Get__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectRegistry_Get__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iObjectRegistry_Get__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iObjectRegistry_Get'");
  XSRETURN(0);
}


XS(_wrap_delete_iObjectRegistry) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iObjectRegistry(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iObjectRegistry" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    delete_iObjectRegistry(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistry_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iObjectRegistry_scfGetVersion();");
    }
    result = (int)iObjectRegistry_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistryIterator_Reset) {
  {
    iObjectRegistryIterator *arg1 = (iObjectRegistryIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectRegistryIterator_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistryIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistryIterator_Reset" "', argument " "1"" of type '" "iObjectRegistryIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistryIterator * >(argp1);
    result = (bool)(arg1)->Reset();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistryIterator_GetCurrentTag) {
  {
    iObjectRegistryIterator *arg1 = (iObjectRegistryIterator *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectRegistryIterator_GetCurrentTag(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistryIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistryIterator_GetCurrentTag" "', argument " "1"" of type '" "iObjectRegistryIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistryIterator * >(argp1);
    result = (char *)(arg1)->GetCurrentTag();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistryIterator_HasNext) {
  {
    iObjectRegistryIterator *arg1 = (iObjectRegistryIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectRegistryIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistryIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistryIterator_HasNext" "', argument " "1"" of type '" "iObjectRegistryIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistryIterator * >(argp1);
    result = (bool)(arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iObjectRegistryIterator_Next) {
  {
    iObjectRegistryIterator *arg1 = (iObjectRegistryIterator *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iObjectRegistryIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistryIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iObjectRegistryIterator_Next" "', argument " "1"" of type '" "iObjectRegistryIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistryIterator * >(argp1);
    result = (iBase *)(arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iObjectRegistryIterator) {
  {
    iObjectRegistryIterator *arg1 = (iObjectRegistryIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iObjectRegistryIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistryIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iObjectRegistryIterator" "', argument " "1"" of type '" "iObjectRegistryIterator *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistryIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csQueryRegistryTag) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iBase > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csQueryRegistryTag(Reg,Tag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csQueryRegistryTag" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csQueryRegistryTag" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = csQueryRegistryTag(arg1,(char const *)arg2);
    {
      csRef<iBase> rf ((csPtr<iBase>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iBase*)rf, SWIG_TypeQuery("cspace::""iBase"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iVirtualClock_Advance) {
  {
    iVirtualClock *arg1 = (iVirtualClock *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVirtualClock_Advance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVirtualClock, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVirtualClock_Advance" "', argument " "1"" of type '" "iVirtualClock *""'"); 
    }
    arg1 = reinterpret_cast< iVirtualClock * >(argp1);
    (arg1)->Advance();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVirtualClock_Suspend) {
  {
    iVirtualClock *arg1 = (iVirtualClock *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVirtualClock_Suspend(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVirtualClock, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVirtualClock_Suspend" "', argument " "1"" of type '" "iVirtualClock *""'"); 
    }
    arg1 = reinterpret_cast< iVirtualClock * >(argp1);
    (arg1)->Suspend();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVirtualClock_Resume) {
  {
    iVirtualClock *arg1 = (iVirtualClock *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVirtualClock_Resume(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVirtualClock, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVirtualClock_Resume" "', argument " "1"" of type '" "iVirtualClock *""'"); 
    }
    arg1 = reinterpret_cast< iVirtualClock * >(argp1);
    (arg1)->Resume();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVirtualClock_GetElapsedTicks) {
  {
    iVirtualClock *arg1 = (iVirtualClock *) 0 ;
    csTicks result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVirtualClock_GetElapsedTicks(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVirtualClock, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVirtualClock_GetElapsedTicks" "', argument " "1"" of type '" "iVirtualClock const *""'"); 
    }
    arg1 = reinterpret_cast< iVirtualClock * >(argp1);
    result = (csTicks)((iVirtualClock const *)arg1)->GetElapsedTicks();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVirtualClock_GetCurrentTicks) {
  {
    iVirtualClock *arg1 = (iVirtualClock *) 0 ;
    csTicks result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iVirtualClock_GetCurrentTicks(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVirtualClock, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iVirtualClock_GetCurrentTicks" "', argument " "1"" of type '" "iVirtualClock const *""'"); 
    }
    arg1 = reinterpret_cast< iVirtualClock * >(argp1);
    result = (csTicks)((iVirtualClock const *)arg1)->GetCurrentTicks();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iVirtualClock) {
  {
    iVirtualClock *arg1 = (iVirtualClock *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iVirtualClock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iVirtualClock, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iVirtualClock" "', argument " "1"" of type '" "iVirtualClock *""'"); 
    }
    arg1 = reinterpret_cast< iVirtualClock * >(argp1);
    delete_iVirtualClock(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iVirtualClock_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iVirtualClock_scfGetVersion();");
    }
    result = (int)iVirtualClock_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iEventAttributeIterator_HasNext) {
  {
    iEventAttributeIterator *arg1 = (iEventAttributeIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventAttributeIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventAttributeIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventAttributeIterator_HasNext" "', argument " "1"" of type '" "iEventAttributeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iEventAttributeIterator * >(argp1);
    result = (bool)(arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventAttributeIterator_Next) {
  {
    iEventAttributeIterator *arg1 = (iEventAttributeIterator *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventAttributeIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventAttributeIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventAttributeIterator_Next" "', argument " "1"" of type '" "iEventAttributeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iEventAttributeIterator * >(argp1);
    result = (char *)(arg1)->Next();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventAttributeIterator_Reset) {
  {
    iEventAttributeIterator *arg1 = (iEventAttributeIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventAttributeIterator_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventAttributeIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventAttributeIterator_Reset" "', argument " "1"" of type '" "iEventAttributeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iEventAttributeIterator * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEventAttributeIterator) {
  {
    iEventAttributeIterator *arg1 = (iEventAttributeIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEventAttributeIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventAttributeIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEventAttributeIterator" "', argument " "1"" of type '" "iEventAttributeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iEventAttributeIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_eventType_set) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    csKeyEventType arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventData_eventType_set(self,eventType);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_eventType_set" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csKeyEventData_eventType_set" "', argument " "2"" of type '" "csKeyEventType""'");
    } 
    arg2 = static_cast< csKeyEventType >(val2);
    if (arg1) (arg1)->eventType = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_eventType_get) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    csKeyEventType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventData_eventType_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_eventType_get" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    result = (csKeyEventType) ((arg1)->eventType);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_codeRaw_set) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    utf32_char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventData_codeRaw_set(self,codeRaw);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_codeRaw_set" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csKeyEventData_codeRaw_set" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    if (arg1) (arg1)->codeRaw = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_codeRaw_get) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    utf32_char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventData_codeRaw_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_codeRaw_get" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    result =  ((arg1)->codeRaw);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_codeCooked_set) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    utf32_char arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventData_codeCooked_set(self,codeCooked);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_codeCooked_set" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csKeyEventData_codeCooked_set" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    if (arg1) (arg1)->codeCooked = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_codeCooked_get) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    utf32_char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventData_codeCooked_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_codeCooked_get" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    result =  ((arg1)->codeCooked);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_modifiers_set) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    csKeyModifiers *arg2 = (csKeyModifiers *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventData_modifiers_set(self,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_modifiers_set" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p__csKeyModifiers, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csKeyEventData_modifiers_set" "', argument " "2"" of type '" "csKeyModifiers *""'"); 
    }
    arg2 = reinterpret_cast< csKeyModifiers * >(argp2);
    if (arg1) (arg1)->modifiers = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_modifiers_get) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    csKeyModifiers *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventData_modifiers_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_modifiers_get" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    result = (csKeyModifiers *)& ((arg1)->modifiers);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p__csKeyModifiers, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_autoRepeat_set) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventData_autoRepeat_set(self,autoRepeat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_autoRepeat_set" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csKeyEventData_autoRepeat_set" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    if (arg1) (arg1)->autoRepeat = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_autoRepeat_get) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventData_autoRepeat_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_autoRepeat_get" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    result = (bool) ((arg1)->autoRepeat);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_charType_set) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    csKeyCharType arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventData_charType_set(self,charType);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_charType_set" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csKeyEventData_charType_set" "', argument " "2"" of type '" "csKeyCharType""'");
    } 
    arg2 = static_cast< csKeyCharType >(val2);
    if (arg1) (arg1)->charType = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventData_charType_get) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    csKeyCharType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventData_charType_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventData_charType_get" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    result = (csKeyCharType) ((arg1)->charType);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csKeyEventData) {
  {
    csKeyEventData *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csKeyEventData();");
    }
    result = (csKeyEventData *)new csKeyEventData();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csKeyEventData, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csKeyEventData) {
  {
    csKeyEventData *arg1 = (csKeyEventData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csKeyEventData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventData, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csKeyEventData" "', argument " "1"" of type '" "csKeyEventData *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventData * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_x_set) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventData_x_set(self,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_x_set" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMouseEventData_x_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->x = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_x_get) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventData_x_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_x_get" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    result = (int) ((arg1)->x);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_y_set) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventData_y_set(self,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_y_set" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMouseEventData_y_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->y = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_y_get) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventData_y_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_y_get" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    result = (int) ((arg1)->y);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_axes_set) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    int32 *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventData_axes_set(self,axes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_axes_set" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMouseEventData_axes_set" "', argument " "2"" of type '" "int32 [8]""'"); 
    } 
    arg2 = reinterpret_cast< int32 * >(argp2);
    {
      if (arg2) {
        size_t ii = 0;
        for (; ii < (size_t)8; ++ii) arg1->axes[ii] = arg2[ii];
      } else {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""axes""' of type '""int32 [8]""'");
      }
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_axes_get) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    int32 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventData_axes_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_axes_get" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    result = (int32 *)(int32 *) ((arg1)->axes);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int32_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_numAxes_set) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventData_numAxes_set(self,numAxes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_numAxes_set" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMouseEventData_numAxes_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->numAxes = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_numAxes_get) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventData_numAxes_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_numAxes_get" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    result = (uint) ((arg1)->numAxes);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_Button_set) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventData_Button_set(self,Button);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_Button_set" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMouseEventData_Button_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->Button = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_Button_get) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventData_Button_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_Button_get" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    result = (uint) ((arg1)->Button);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_Modifiers_set) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventData_Modifiers_set(self,Modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_Modifiers_set" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMouseEventData_Modifiers_set" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventData_Modifiers_set" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    if (arg1) (arg1)->Modifiers = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventData_Modifiers_get) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventData_Modifiers_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventData_Modifiers_get" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    result =  ((arg1)->Modifiers);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMouseEventData) {
  {
    csMouseEventData *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csMouseEventData();");
    }
    result = (csMouseEventData *)new csMouseEventData();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMouseEventData, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csMouseEventData) {
  {
    csMouseEventData *arg1 = (csMouseEventData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csMouseEventData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventData, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csMouseEventData" "', argument " "1"" of type '" "csMouseEventData *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventData * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_number_set) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventData_number_set(self,number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_number_set" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csJoystickEventData_number_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->number = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_number_get) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventData_number_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_number_get" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    result = (uint) ((arg1)->number);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_axes_set) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    int32 *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventData_axes_set(self,axes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_axes_set" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csJoystickEventData_axes_set" "', argument " "2"" of type '" "int32 [8]""'"); 
    } 
    arg2 = reinterpret_cast< int32 * >(argp2);
    {
      if (arg2) {
        size_t ii = 0;
        for (; ii < (size_t)8; ++ii) arg1->axes[ii] = arg2[ii];
      } else {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""axes""' of type '""int32 [8]""'");
      }
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_axes_get) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    int32 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventData_axes_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_axes_get" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    result = (int32 *)(int32 *) ((arg1)->axes);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int32_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_numAxes_set) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventData_numAxes_set(self,numAxes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_numAxes_set" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csJoystickEventData_numAxes_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->numAxes = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_numAxes_get) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventData_numAxes_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_numAxes_get" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    result = (uint) ((arg1)->numAxes);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_axesChanged_set) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventData_axesChanged_set(self,axesChanged);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_axesChanged_set" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csJoystickEventData_axesChanged_set" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventData_axesChanged_set" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    if (arg1) (arg1)->axesChanged = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_axesChanged_get) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventData_axesChanged_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_axesChanged_get" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    result =  ((arg1)->axesChanged);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_Button_set) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventData_Button_set(self,Button);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_Button_set" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csJoystickEventData_Button_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->Button = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_Button_get) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventData_Button_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_Button_get" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    result = (uint) ((arg1)->Button);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_Modifiers_set) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventData_Modifiers_set(self,Modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_Modifiers_set" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csJoystickEventData_Modifiers_set" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventData_Modifiers_set" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    if (arg1) (arg1)->Modifiers = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventData_Modifiers_get) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventData_Modifiers_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventData_Modifiers_get" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    result =  ((arg1)->Modifiers);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csJoystickEventData) {
  {
    csJoystickEventData *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csJoystickEventData();");
    }
    result = (csJoystickEventData *)new csJoystickEventData();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csJoystickEventData, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csJoystickEventData) {
  {
    csJoystickEventData *arg1 = (csJoystickEventData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csJoystickEventData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventData, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csJoystickEventData" "', argument " "1"" of type '" "csJoystickEventData *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventData * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventData_Code_set) {
  {
    csCommandEventData *arg1 = (csCommandEventData *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCommandEventData_Code_set(self,Code);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCommandEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandEventData_Code_set" "', argument " "1"" of type '" "csCommandEventData *""'"); 
    }
    arg1 = reinterpret_cast< csCommandEventData * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCommandEventData_Code_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->Code = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventData_Code_get) {
  {
    csCommandEventData *arg1 = (csCommandEventData *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCommandEventData_Code_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCommandEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandEventData_Code_get" "', argument " "1"" of type '" "csCommandEventData *""'"); 
    }
    arg1 = reinterpret_cast< csCommandEventData * >(argp1);
    result = (uint) ((arg1)->Code);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventData_Info_set) {
  {
    csCommandEventData *arg1 = (csCommandEventData *) 0 ;
    intptr_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCommandEventData_Info_set(self,Info);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCommandEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandEventData_Info_set" "', argument " "1"" of type '" "csCommandEventData *""'"); 
    }
    arg1 = reinterpret_cast< csCommandEventData * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCommandEventData_Info_set" "', argument " "2"" of type '" "intptr_t""'");
    } 
    arg2 = static_cast< intptr_t >(val2);
    if (arg1) (arg1)->Info = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventData_Info_get) {
  {
    csCommandEventData *arg1 = (csCommandEventData *) 0 ;
    intptr_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCommandEventData_Info_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCommandEventData, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandEventData_Info_get" "', argument " "1"" of type '" "csCommandEventData *""'"); 
    }
    arg1 = reinterpret_cast< csCommandEventData * >(argp1);
    result = (intptr_t) ((arg1)->Info);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCommandEventData) {
  {
    csCommandEventData *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csCommandEventData();");
    }
    result = (csCommandEventData *)new csCommandEventData();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCommandEventData, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csCommandEventData) {
  {
    csCommandEventData *arg1 = (csCommandEventData *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csCommandEventData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCommandEventData, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csCommandEventData" "', argument " "1"" of type '" "csCommandEventData *""'"); 
    }
    arg1 = reinterpret_cast< csCommandEventData * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Name_set) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEvent_Name_set(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Name_set" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEvent_Name_set" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    if (arg1) (arg1)->Name = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Name_get) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_Name_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Name_get" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csEventID) ((arg1)->Name);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_GetName) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_GetName" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csEventID)(arg1)->GetName();
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Time_set) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csTicks arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEvent_Time_set(self,Time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Time_set" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEvent_Time_set" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    if (arg1) (arg1)->Time = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Time_get) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csTicks result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_Time_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Time_get" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csTicks) ((arg1)->Time);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Broadcast_set) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEvent_Broadcast_set(self,Broadcast);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Broadcast_set" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEvent_Broadcast_set" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    if (arg1) (arg1)->Broadcast = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Broadcast_get) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_Broadcast_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Broadcast_get" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (bool) ((arg1)->Broadcast);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddInt8) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    int8 arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddInt8(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddInt8" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddInt8" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      arg3 = SvIV (ST(2));
    }
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddUInt8) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    uint8 arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddUInt8(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddUInt8" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddUInt8" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_AddUInt8" "', argument " "3"" of type '" "uint8""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_AddUInt8" "', argument " "3"" of type '" "uint8""'");
      } else {
        arg3 = *(reinterpret_cast< uint8 * >(argp3));
      }
    }
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddInt16) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    int16 arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddInt16(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddInt16" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddInt16" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int16_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_AddInt16" "', argument " "3"" of type '" "int16""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_AddInt16" "', argument " "3"" of type '" "int16""'");
      } else {
        arg3 = *(reinterpret_cast< int16 * >(argp3));
      }
    }
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddUInt16) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    uint16 arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddUInt16(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddUInt16" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddUInt16" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint16_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_AddUInt16" "', argument " "3"" of type '" "uint16""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_AddUInt16" "', argument " "3"" of type '" "uint16""'");
      } else {
        arg3 = *(reinterpret_cast< uint16 * >(argp3));
      }
    }
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddInt32) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    int32 arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddInt32(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddInt32" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddInt32" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int32_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_AddInt32" "', argument " "3"" of type '" "int32""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_AddInt32" "', argument " "3"" of type '" "int32""'");
      } else {
        arg3 = *(reinterpret_cast< int32 * >(argp3));
      }
    }
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddUInt32) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    uint32 arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddUInt32(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddUInt32" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddUInt32" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_AddUInt32" "', argument " "3"" of type '" "uint32""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_AddUInt32" "', argument " "3"" of type '" "uint32""'");
      } else {
        arg3 = *(reinterpret_cast< uint32 * >(argp3));
      }
    }
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Add__SWIG_0) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    int64 arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Add(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Add" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Add" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int64_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Add" "', argument " "3"" of type '" "int64""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_Add" "', argument " "3"" of type '" "int64""'");
      } else {
        arg3 = *(reinterpret_cast< int64 * >(argp3));
      }
    }
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Add__SWIG_1) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    uint64 arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Add(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Add" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Add" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint64_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Add" "', argument " "3"" of type '" "uint64""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_Add" "', argument " "3"" of type '" "uint64""'");
      } else {
        arg3 = *(reinterpret_cast< uint64 * >(argp3));
      }
    }
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddFloat) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddFloat(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddFloat" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEvent_AddFloat" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddDouble) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    double arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    double val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddDouble(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddDouble" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddDouble" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEvent_AddDouble" "', argument " "3"" of type '" "double""'");
    } 
    arg3 = static_cast< double >(val3);
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Add__SWIG_2) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Add(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Add" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Add" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Add" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->Add((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Add__SWIG_3) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    void *arg3 = (void *) 0 ;
    size_t arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    size_t val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEvent_Add(self,name,v,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Add" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Add" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2),SWIG_as_voidptrptr(&arg3), 0, 0);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Add" "', argument " "3"" of type '" "void const *""'"); 
    }
    ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEvent_Add" "', argument " "4"" of type '" "size_t""'");
    } 
    arg4 = static_cast< size_t >(val4);
    result = (bool)(arg1)->Add((char const *)arg2,(void const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_AddBool) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_AddBool(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AddBool" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AddBool" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEvent_AddBool" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Add__SWIG_4) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    iEvent *arg3 = (iEvent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Add(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Add" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Add" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Add" "', argument " "3"" of type '" "iEvent *""'"); 
    }
    arg3 = reinterpret_cast< iEvent * >(argp3);
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Add__SWIG_5) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase *arg3 = (iBase *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Add(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Add" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Add" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Add" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    result = (bool)(arg1)->Add((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Add) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int64_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_uint64_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &ptr, 0, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Add__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Add__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Add__SWIG_4); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Add__SWIG_5); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Add__SWIG_2); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Add__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'iEvent_Add'");
  XSRETURN(0);
}


XS(_wrap_iEvent_RetrieveInt8) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    int8 *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveInt8(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveInt8" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveInt8" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int8_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveInt8" "', argument " "3"" of type '" "int8 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveInt8" "', argument " "3"" of type '" "int8 &""'"); 
    }
    arg3 = reinterpret_cast< int8 * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveUInt8) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    uint8 *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveUInt8(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveUInt8" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveUInt8" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint8_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveUInt8" "', argument " "3"" of type '" "uint8 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveUInt8" "', argument " "3"" of type '" "uint8 &""'"); 
    }
    arg3 = reinterpret_cast< uint8 * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveInt16) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    int16 *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveInt16(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveInt16" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveInt16" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int16_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveInt16" "', argument " "3"" of type '" "int16 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveInt16" "', argument " "3"" of type '" "int16 &""'"); 
    }
    arg3 = reinterpret_cast< int16 * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveUInt16) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    uint16 *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveUInt16(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveUInt16" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveUInt16" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint16_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveUInt16" "', argument " "3"" of type '" "uint16 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveUInt16" "', argument " "3"" of type '" "uint16 &""'"); 
    }
    arg3 = reinterpret_cast< uint16 * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveInt32) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    int32 *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveInt32(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveInt32" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveInt32" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int32_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveInt32" "', argument " "3"" of type '" "int32 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveInt32" "', argument " "3"" of type '" "int32 &""'"); 
    }
    arg3 = reinterpret_cast< int32 * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveUInt32) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    uint32 *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveUInt32(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveUInt32" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveUInt32" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint32_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveUInt32" "', argument " "3"" of type '" "uint32 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveUInt32" "', argument " "3"" of type '" "uint32 &""'"); 
    }
    arg3 = reinterpret_cast< uint32 * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Retrieve__SWIG_0) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    int64 *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Retrieve(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Retrieve" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int64_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "int64 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "int64 &""'"); 
    }
    arg3 = reinterpret_cast< int64 * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Retrieve__SWIG_1) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    uint64 *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Retrieve(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Retrieve" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint64_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "uint64 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "uint64 &""'"); 
    }
    arg3 = reinterpret_cast< uint64 * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveFloat) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    float *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveFloat(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveFloat" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveFloat" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveFloat" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveDouble) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    double *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveDouble(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveDouble" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveDouble" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_double,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveDouble" "', argument " "3"" of type '" "double &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveDouble" "', argument " "3"" of type '" "double &""'"); 
    }
    arg3 = reinterpret_cast< double * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Retrieve__SWIG_2) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    void **arg3 = 0 ;
    size_t *arg4 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEvent_Retrieve(self,name,v,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Retrieve" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_void,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "void const *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "void const *&""'"); 
    }
    arg3 = reinterpret_cast< void ** >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_size_t,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEvent_Retrieve" "', argument " "4"" of type '" "size_t &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_Retrieve" "', argument " "4"" of type '" "size_t &""'"); 
    }
    arg4 = reinterpret_cast< size_t * >(argp4);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,(void const *&)*arg3,*arg4);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveBool) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    bool *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveBool(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveBool" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveBool" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveBool" "', argument " "3"" of type '" "bool &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveBool" "', argument " "3"" of type '" "bool &""'"); 
    }
    arg3 = reinterpret_cast< bool * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Retrieve__SWIG_3) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iEvent > *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Retrieve(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Retrieve" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiEvent_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "csRef<iEvent > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "csRef<iEvent > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iEvent > * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Retrieve__SWIG_4) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iBase > *arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_Retrieve(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Retrieve" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiBase_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "csRef<iBase > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_Retrieve" "', argument " "3"" of type '" "csRef<iBase > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iBase > * >(argp3);
    result = (csEventError)((iEvent const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Retrieve) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int64_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_uint64_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiEvent_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiBase_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_void, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_size_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Retrieve__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Retrieve__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Retrieve__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Retrieve__SWIG_4); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEvent_Retrieve__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iEvent_Retrieve'");
  XSRETURN(0);
}


XS(_wrap_iEvent_AttributeExists) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEvent_AttributeExists(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_AttributeExists" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_AttributeExists" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->AttributeExists((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_GetAttributeType) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    csEventAttributeType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEvent_GetAttributeType(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_GetAttributeType" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_GetAttributeType" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csEventAttributeType)(arg1)->GetAttributeType((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Remove) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEvent_Remove(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Remove" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_Remove" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Remove((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RemoveAll) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_RemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RemoveAll" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (bool)(arg1)->RemoveAll();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_GetAttributeIterator) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    SwigValueWrapper<csRef<iEventAttributeIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_GetAttributeIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_GetAttributeIterator" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (arg1)->GetAttributeIterator();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iEventAttributeIterator >(static_cast< const csRef<iEventAttributeIterator >& >(result))), SWIGTYPE_p_csRefTiEventAttributeIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_RetrieveString) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    char *arg2 = (char *) 0 ;
    char **arg3 = 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEvent_RetrieveString(self,name,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_RetrieveString" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEvent_RetrieveString" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_char,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEvent_RetrieveString" "', argument " "3"" of type '" "char *&""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEvent_RetrieveString" "', argument " "3"" of type '" "char *&""'"); 
    }
    arg3 = reinterpret_cast< char ** >(argp3);
    result = (csEventError)iEvent_RetrieveString(arg1,(char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEvent) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEvent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEvent" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    delete_iEvent(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iEvent_scfGetVersion();");
    }
    result = (int)iEvent_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Mouse_get) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csMouseEventData *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_Mouse_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Mouse_get" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csMouseEventData *)iEvent_Mouse_get(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMouseEventData, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Joystick_get) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csJoystickEventData *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_Joystick_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Joystick_get" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csJoystickEventData *)iEvent_Joystick_get(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csJoystickEventData, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEvent_Command_get) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csCommandEventData *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEvent_Command_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEvent_Command_get" "', argument " "1"" of type '" "iEvent *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csCommandEventData *)iEvent_Command_get(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCommandEventData, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventPlug_GetPotentiallyConflictingEvents) {
  {
    iEventPlug *arg1 = (iEventPlug *) 0 ;
    unsigned int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventPlug_GetPotentiallyConflictingEvents(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventPlug, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventPlug_GetPotentiallyConflictingEvents" "', argument " "1"" of type '" "iEventPlug *""'"); 
    }
    arg1 = reinterpret_cast< iEventPlug * >(argp1);
    result = (unsigned int)(arg1)->GetPotentiallyConflictingEvents();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventPlug_QueryEventPriority) {
  {
    iEventPlug *arg1 = (iEventPlug *) 0 ;
    unsigned int arg2 ;
    unsigned int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventPlug_QueryEventPriority(self,iType);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventPlug, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventPlug_QueryEventPriority" "', argument " "1"" of type '" "iEventPlug *""'"); 
    }
    arg1 = reinterpret_cast< iEventPlug * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventPlug_QueryEventPriority" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    result = (unsigned int)(arg1)->QueryEventPriority(arg2);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventPlug_EnableEvents) {
  {
    iEventPlug *arg1 = (iEventPlug *) 0 ;
    unsigned int arg2 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventPlug_EnableEvents(self,unsigned int,bool);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventPlug, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventPlug_EnableEvents" "', argument " "1"" of type '" "iEventPlug *""'"); 
    }
    arg1 = reinterpret_cast< iEventPlug * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventPlug_EnableEvents" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventPlug_EnableEvents" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->EnableEvents(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEventPlug) {
  {
    iEventPlug *arg1 = (iEventPlug *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEventPlug(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventPlug, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEventPlug" "', argument " "1"" of type '" "iEventPlug *""'"); 
    }
    arg1 = reinterpret_cast< iEventPlug * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_CreateEvent) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    SwigValueWrapper<csPtr<iEvent > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventOutlet_CreateEvent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_CreateEvent" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    result = (arg1)->CreateEvent();
    {
      csRef<iEvent> rf ((csPtr<iEvent>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iEvent*)rf, SWIG_TypeQuery("cspace::""iEvent"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_Post) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    iEvent *arg2 = (iEvent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventOutlet_Post(self,iEvent *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_Post" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventOutlet_Post" "', argument " "2"" of type '" "iEvent *""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    (arg1)->Post(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_Key__SWIG_0) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    utf32_char arg2 ;
    utf32_char arg3 ;
    bool arg4 ;
    bool arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEventOutlet_Key(self,codeRaw,codeCooked,iDown,autorep);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_Key" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventOutlet_Key" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventOutlet_Key" "', argument " "3"" of type '" "utf32_char""'");
    } 
    arg3 = static_cast< utf32_char >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEventOutlet_Key" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iEventOutlet_Key" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    (arg1)->Key(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_Key__SWIG_1) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    utf32_char arg2 ;
    utf32_char arg3 ;
    bool arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEventOutlet_Key(self,codeRaw,codeCooked,iDown);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_Key" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventOutlet_Key" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventOutlet_Key" "', argument " "3"" of type '" "utf32_char""'");
    } 
    arg3 = static_cast< utf32_char >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEventOutlet_Key" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->Key(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_Key) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventOutlet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventOutlet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventOutlet_Key__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventOutlet_Key__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEventOutlet_Key'");
  XSRETURN(0);
}


XS(_wrap_iEventOutlet_Mouse) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    int arg2 ;
    bool arg3 ;
    int arg4 ;
    int arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEventOutlet_Mouse(self,iButton,iDown,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_Mouse" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventOutlet_Mouse" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventOutlet_Mouse" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEventOutlet_Mouse" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iEventOutlet_Mouse" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->Mouse(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_Joystick) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    uint arg2 ;
    int arg3 ;
    bool arg4 ;
    int32 *arg5 = (int32 *) 0 ;
    uint arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    unsigned int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iEventOutlet_Joystick(self,iNumber,iButton,iDown,axes,numAxes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_Joystick" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventOutlet_Joystick" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventOutlet_Joystick" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEventOutlet_Joystick" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEventOutlet_Joystick" "', argument " "5"" of type '" "int32 const *""'"); 
    }
    arg5 = reinterpret_cast< int32 * >(argp5);
    ecode6 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iEventOutlet_Joystick" "', argument " "6"" of type '" "uint""'");
    } 
    arg6 = static_cast< uint >(val6);
    (arg1)->Joystick(arg2,arg3,arg4,(int32 const *)arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_Broadcast__SWIG_0) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    csEventID arg2 ;
    intptr_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventOutlet_Broadcast(self,iName,iInfo);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_Broadcast" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventOutlet_Broadcast" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventOutlet_Broadcast" "', argument " "3"" of type '" "intptr_t""'");
    } 
    arg3 = static_cast< intptr_t >(val3);
    (arg1)->Broadcast(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_Broadcast__SWIG_1) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    csEventID arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventOutlet_Broadcast(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_Broadcast" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventOutlet_Broadcast" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    (arg1)->Broadcast(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventOutlet_Broadcast) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventOutlet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventOutlet, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventOutlet_Broadcast__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventOutlet_Broadcast__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEventOutlet_Broadcast'");
  XSRETURN(0);
}


XS(_wrap_iEventOutlet_ImmediateBroadcast) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    csEventID arg2 ;
    intptr_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventOutlet_ImmediateBroadcast(self,iName,iInfo);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventOutlet_ImmediateBroadcast" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventOutlet_ImmediateBroadcast" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventOutlet_ImmediateBroadcast" "', argument " "3"" of type '" "intptr_t""'");
    } 
    arg3 = static_cast< intptr_t >(val3);
    (arg1)->ImmediateBroadcast(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEventOutlet) {
  {
    iEventOutlet *arg1 = (iEventOutlet *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEventOutlet(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventOutlet, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEventOutlet" "', argument " "1"" of type '" "iEventOutlet *""'"); 
    }
    arg1 = reinterpret_cast< iEventOutlet * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventCord_Insert) {
  {
    iEventCord *arg1 = (iEventCord *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    int arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventCord_Insert(self,iEventHandler *,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventCord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventCord_Insert" "', argument " "1"" of type '" "iEventCord *""'"); 
    }
    arg1 = reinterpret_cast< iEventCord * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventCord_Insert" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventCord_Insert" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (int)(arg1)->Insert(arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventCord_Remove) {
  {
    iEventCord *arg1 = (iEventCord *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventCord_Remove(self,iEventHandler *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventCord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventCord_Remove" "', argument " "1"" of type '" "iEventCord *""'"); 
    }
    arg1 = reinterpret_cast< iEventCord * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventCord_Remove" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    (arg1)->Remove(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventCord_GetPass) {
  {
    iEventCord *arg1 = (iEventCord *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventCord_GetPass(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventCord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventCord_GetPass" "', argument " "1"" of type '" "iEventCord const *""'"); 
    }
    arg1 = reinterpret_cast< iEventCord * >(argp1);
    result = (bool)((iEventCord const *)arg1)->GetPass();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventCord_SetPass) {
  {
    iEventCord *arg1 = (iEventCord *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventCord_SetPass(self,bool);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventCord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventCord_SetPass" "', argument " "1"" of type '" "iEventCord *""'"); 
    }
    arg1 = reinterpret_cast< iEventCord * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventCord_SetPass" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetPass(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventCord_GetName) {
  {
    iEventCord *arg1 = (iEventCord *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventCord_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventCord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventCord_GetName" "', argument " "1"" of type '" "iEventCord const *""'"); 
    }
    arg1 = reinterpret_cast< iEventCord * >(argp1);
    result = (csEventID)((iEventCord const *)arg1)->GetName();
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEventCord) {
  {
    iEventCord *arg1 = (iEventCord *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEventCord(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventCord, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEventCord" "', argument " "1"" of type '" "iEventCord *""'"); 
    }
    arg1 = reinterpret_cast< iEventCord * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetRawCode) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    utf32_char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventHelper_GetRawCode(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetRawCode" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = csKeyEventHelper::GetRawCode((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetCookedCode) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    utf32_char result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventHelper_GetCookedCode(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetCookedCode" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = csKeyEventHelper::GetCookedCode((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetModifiers__SWIG_0) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csKeyModifiers *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventHelper_GetModifiers(event,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetModifiers" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p__csKeyModifiers,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csKeyEventHelper_GetModifiers" "', argument " "2"" of type '" "csKeyModifiers &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csKeyEventHelper_GetModifiers" "', argument " "2"" of type '" "csKeyModifiers &""'"); 
    }
    arg2 = reinterpret_cast< csKeyModifiers * >(argp2);
    csKeyEventHelper::GetModifiers((iEvent const *)arg1,*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetEventType) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csKeyEventType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventHelper_GetEventType(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetEventType" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csKeyEventType)csKeyEventHelper::GetEventType((iEvent const *)arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetAutoRepeat) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventHelper_GetAutoRepeat(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetAutoRepeat" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (bool)csKeyEventHelper::GetAutoRepeat((iEvent const *)arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetCharacterType) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csKeyCharType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventHelper_GetCharacterType(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetCharacterType" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csKeyCharType)csKeyEventHelper::GetCharacterType((iEvent const *)arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetEventData) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csKeyEventData *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventHelper_GetEventData(event,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetEventData" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csKeyEventData,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csKeyEventHelper_GetEventData" "', argument " "2"" of type '" "csKeyEventData &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csKeyEventHelper_GetEventData" "', argument " "2"" of type '" "csKeyEventData &""'"); 
    }
    arg2 = reinterpret_cast< csKeyEventData * >(argp2);
    result = (bool)csKeyEventHelper::GetEventData((iEvent const *)arg1,*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetModifiersBits__SWIG_0) {
  {
    csKeyModifiers *arg1 = 0 ;
    uint32 result;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventHelper_GetModifiersBits(modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p__csKeyModifiers,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetModifiersBits" "', argument " "1"" of type '" "csKeyModifiers const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csKeyEventHelper_GetModifiersBits" "', argument " "1"" of type '" "csKeyModifiers const &""'"); 
    }
    arg1 = reinterpret_cast< csKeyModifiers * >(argp1);
    result = csKeyEventHelper::GetModifiersBits((_csKeyModifiers const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetModifiersBits__SWIG_1) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyEventHelper_GetModifiersBits(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetModifiersBits" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = csKeyEventHelper::GetModifiersBits((iEvent const *)arg1);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetModifiersBits) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p__csKeyModifiers, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csKeyEventHelper_GetModifiersBits__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csKeyEventHelper_GetModifiersBits__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csKeyEventHelper_GetModifiersBits'");
  XSRETURN(0);
}


XS(_wrap_csKeyEventHelper_GetModifiers__SWIG_1) {
  {
    uint32 arg1 ;
    csKeyModifiers *arg2 = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyEventHelper_GetModifiers(mask,modifiers);");
    }
    {
      res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res1)) {
        SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyEventHelper_GetModifiers" "', argument " "1"" of type '" "uint32""'"); 
      }  
      if (!argp1) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csKeyEventHelper_GetModifiers" "', argument " "1"" of type '" "uint32""'");
      } else {
        arg1 = *(reinterpret_cast< uint32 * >(argp1));
      }
    }
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p__csKeyModifiers,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csKeyEventHelper_GetModifiers" "', argument " "2"" of type '" "csKeyModifiers &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csKeyEventHelper_GetModifiers" "', argument " "2"" of type '" "csKeyModifiers &""'"); 
    }
    arg2 = reinterpret_cast< csKeyModifiers * >(argp2);
    csKeyEventHelper::GetModifiers(arg1,*arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyEventHelper_GetModifiers) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p__csKeyModifiers, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p__csKeyModifiers, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csKeyEventHelper_GetModifiers__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csKeyEventHelper_GetModifiers__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csKeyEventHelper_GetModifiers'");
  XSRETURN(0);
}


XS(_wrap_new_csKeyEventHelper) {
  {
    csKeyEventHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csKeyEventHelper();");
    }
    result = (csKeyEventHelper *)new csKeyEventHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csKeyEventHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csKeyEventHelper) {
  {
    csKeyEventHelper *arg1 = (csKeyEventHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csKeyEventHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csKeyEventHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csKeyEventHelper" "', argument " "1"" of type '" "csKeyEventHelper *""'"); 
    }
    arg1 = reinterpret_cast< csKeyEventHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_NewEvent__SWIG_0) {
  {
    csRef<iEventNameRegistry > *arg1 = 0 ;
    csTicks arg2 ;
    csEventID arg3 ;
    csMouseEventType arg4 ;
    int arg5 ;
    int arg6 ;
    uint32 arg7 ;
    uint arg8 ;
    bool arg9 ;
    uint32 arg10 ;
    uint32 arg11 ;
    csEvent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    void *argp7 ;
    int res7 = 0 ;
    unsigned int val8 ;
    int ecode8 = 0 ;
    bool val9 ;
    int ecode9 = 0 ;
    void *argp10 ;
    int res10 = 0 ;
    void *argp11 ;
    int res11 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 11) || (items > 11)) {
      SWIG_croak("Usage: csMouseEventHelper_NewEvent(reg,csTicks,name,etype,x,y,AxesChanged,button,buttonstate,buttonMask,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg1 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMouseEventHelper_NewEvent" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csMouseEventHelper_NewEvent" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csMouseEventHelper_NewEvent" "', argument " "4"" of type '" "csMouseEventType""'");
    } 
    arg4 = static_cast< csMouseEventType >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csMouseEventHelper_NewEvent" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csMouseEventHelper_NewEvent" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    {
      res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res7)) {
        SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csMouseEventHelper_NewEvent" "', argument " "7"" of type '" "uint32""'"); 
      }  
      if (!argp7) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "7"" of type '" "uint32""'");
      } else {
        arg7 = *(reinterpret_cast< uint32 * >(argp7));
      }
    }
    ecode8 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "csMouseEventHelper_NewEvent" "', argument " "8"" of type '" "uint""'");
    } 
    arg8 = static_cast< uint >(val8);
    ecode9 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "csMouseEventHelper_NewEvent" "', argument " "9"" of type '" "bool""'");
    } 
    arg9 = static_cast< bool >(val9);
    {
      res10 = SWIG_ConvertPtr(ST(9), &argp10, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res10)) {
        SWIG_exception_fail(SWIG_ArgError(res10), "in method '" "csMouseEventHelper_NewEvent" "', argument " "10"" of type '" "uint32""'"); 
      }  
      if (!argp10) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "10"" of type '" "uint32""'");
      } else {
        arg10 = *(reinterpret_cast< uint32 * >(argp10));
      }
    }
    {
      res11 = SWIG_ConvertPtr(ST(10), &argp11, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res11)) {
        SWIG_exception_fail(SWIG_ArgError(res11), "in method '" "csMouseEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'"); 
      }  
      if (!argp11) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'");
      } else {
        arg11 = *(reinterpret_cast< uint32 * >(argp11));
      }
    }
    result = (csEvent *)csMouseEventHelper::NewEvent(*arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEvent, 0 | 0); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_NewEvent__SWIG_1) {
  {
    csRef<iEventNameRegistry > *arg1 = 0 ;
    csTicks arg2 ;
    csEventID arg3 ;
    uint8 arg4 ;
    csMouseEventType arg5 ;
    int arg6 ;
    int arg7 ;
    uint32 arg8 ;
    uint arg9 ;
    bool arg10 ;
    uint32 arg11 ;
    uint32 arg12 ;
    csEvent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    int val7 ;
    int ecode7 = 0 ;
    void *argp8 ;
    int res8 = 0 ;
    unsigned int val9 ;
    int ecode9 = 0 ;
    bool val10 ;
    int ecode10 = 0 ;
    void *argp11 ;
    int res11 = 0 ;
    void *argp12 ;
    int res12 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 12) || (items > 12)) {
      SWIG_croak("Usage: csMouseEventHelper_NewEvent(reg,csTicks,name,n,etype,x,y,axesChanged,button,buttonstate,buttonMask,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg1 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMouseEventHelper_NewEvent" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csMouseEventHelper_NewEvent" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    {
      res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res4)) {
        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csMouseEventHelper_NewEvent" "', argument " "4"" of type '" "uint8""'"); 
      }  
      if (!argp4) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "4"" of type '" "uint8""'");
      } else {
        arg4 = *(reinterpret_cast< uint8 * >(argp4));
      }
    }
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csMouseEventHelper_NewEvent" "', argument " "5"" of type '" "csMouseEventType""'");
    } 
    arg5 = static_cast< csMouseEventType >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csMouseEventHelper_NewEvent" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    ecode7 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "csMouseEventHelper_NewEvent" "', argument " "7"" of type '" "int""'");
    } 
    arg7 = static_cast< int >(val7);
    {
      res8 = SWIG_ConvertPtr(ST(7), &argp8, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res8)) {
        SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "csMouseEventHelper_NewEvent" "', argument " "8"" of type '" "uint32""'"); 
      }  
      if (!argp8) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "8"" of type '" "uint32""'");
      } else {
        arg8 = *(reinterpret_cast< uint32 * >(argp8));
      }
    }
    ecode9 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "csMouseEventHelper_NewEvent" "', argument " "9"" of type '" "uint""'");
    } 
    arg9 = static_cast< uint >(val9);
    ecode10 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(9), &val10);
    if (!SWIG_IsOK(ecode10)) {
      SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "csMouseEventHelper_NewEvent" "', argument " "10"" of type '" "bool""'");
    } 
    arg10 = static_cast< bool >(val10);
    {
      res11 = SWIG_ConvertPtr(ST(10), &argp11, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res11)) {
        SWIG_exception_fail(SWIG_ArgError(res11), "in method '" "csMouseEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'"); 
      }  
      if (!argp11) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'");
      } else {
        arg11 = *(reinterpret_cast< uint32 * >(argp11));
      }
    }
    {
      res12 = SWIG_ConvertPtr(ST(11), &argp12, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res12)) {
        SWIG_exception_fail(SWIG_ArgError(res12), "in method '" "csMouseEventHelper_NewEvent" "', argument " "12"" of type '" "uint32""'"); 
      }  
      if (!argp12) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "12"" of type '" "uint32""'");
      } else {
        arg12 = *(reinterpret_cast< uint32 * >(argp12));
      }
    }
    result = (csEvent *)csMouseEventHelper::NewEvent(*arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEvent, 0 | 0); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_NewEvent__SWIG_2) {
  {
    csRef<iEventNameRegistry > *arg1 = 0 ;
    csTicks arg2 ;
    csEventID arg3 ;
    uint8 arg4 ;
    csMouseEventType arg5 ;
    int32 *arg6 = (int32 *) 0 ;
    uint8 arg7 ;
    uint32 arg8 ;
    uint arg9 ;
    bool arg10 ;
    uint32 arg11 ;
    uint32 arg12 ;
    csEvent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 ;
    int res7 = 0 ;
    void *argp8 ;
    int res8 = 0 ;
    unsigned int val9 ;
    int ecode9 = 0 ;
    bool val10 ;
    int ecode10 = 0 ;
    void *argp11 ;
    int res11 = 0 ;
    void *argp12 ;
    int res12 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 12) || (items > 12)) {
      SWIG_croak("Usage: csMouseEventHelper_NewEvent(reg,csTicks,name,n,etype,axes,numAxes,axesChanged,button,buttonstate,buttonMask,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg1 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMouseEventHelper_NewEvent" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csMouseEventHelper_NewEvent" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    {
      res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res4)) {
        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csMouseEventHelper_NewEvent" "', argument " "4"" of type '" "uint8""'"); 
      }  
      if (!argp4) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "4"" of type '" "uint8""'");
      } else {
        arg4 = *(reinterpret_cast< uint8 * >(argp4));
      }
    }
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csMouseEventHelper_NewEvent" "', argument " "5"" of type '" "csMouseEventType""'");
    } 
    arg5 = static_cast< csMouseEventType >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csMouseEventHelper_NewEvent" "', argument " "6"" of type '" "int32 const *""'"); 
    }
    arg6 = reinterpret_cast< int32 * >(argp6);
    {
      res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res7)) {
        SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csMouseEventHelper_NewEvent" "', argument " "7"" of type '" "uint8""'"); 
      }  
      if (!argp7) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "7"" of type '" "uint8""'");
      } else {
        arg7 = *(reinterpret_cast< uint8 * >(argp7));
      }
    }
    {
      res8 = SWIG_ConvertPtr(ST(7), &argp8, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res8)) {
        SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "csMouseEventHelper_NewEvent" "', argument " "8"" of type '" "uint32""'"); 
      }  
      if (!argp8) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "8"" of type '" "uint32""'");
      } else {
        arg8 = *(reinterpret_cast< uint32 * >(argp8));
      }
    }
    ecode9 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "csMouseEventHelper_NewEvent" "', argument " "9"" of type '" "uint""'");
    } 
    arg9 = static_cast< uint >(val9);
    ecode10 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(9), &val10);
    if (!SWIG_IsOK(ecode10)) {
      SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "csMouseEventHelper_NewEvent" "', argument " "10"" of type '" "bool""'");
    } 
    arg10 = static_cast< bool >(val10);
    {
      res11 = SWIG_ConvertPtr(ST(10), &argp11, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res11)) {
        SWIG_exception_fail(SWIG_ArgError(res11), "in method '" "csMouseEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'"); 
      }  
      if (!argp11) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'");
      } else {
        arg11 = *(reinterpret_cast< uint32 * >(argp11));
      }
    }
    {
      res12 = SWIG_ConvertPtr(ST(11), &argp12, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res12)) {
        SWIG_exception_fail(SWIG_ArgError(res12), "in method '" "csMouseEventHelper_NewEvent" "', argument " "12"" of type '" "uint32""'"); 
      }  
      if (!argp12) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_NewEvent" "', argument " "12"" of type '" "uint32""'");
      } else {
        arg12 = *(reinterpret_cast< uint32 * >(argp12));
      }
    }
    result = (csEvent *)csMouseEventHelper::NewEvent(*arg1,arg2,arg3,arg4,arg5,(int32_t const *)arg6,arg7,arg8,arg9,arg10,arg11,arg12);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEvent, 0 | 0); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_NewEvent) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 11) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRefTiEventNameRegistry_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(9), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(10), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 12) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRefTiEventNameRegistry_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_int32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(7), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(9), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(10), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(11), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 12) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRefTiEventNameRegistry_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(7), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(9), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(10), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(11), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMouseEventHelper_NewEvent__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMouseEventHelper_NewEvent__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMouseEventHelper_NewEvent__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csMouseEventHelper_NewEvent'");
  XSRETURN(0);
}


XS(_wrap_csMouseEventHelper_GetEventType) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csMouseEventType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetEventType(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetEventType" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (csMouseEventType)csMouseEventHelper::GetEventType((iEvent const *)arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetNumber) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetNumber(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetNumber" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (uint)csMouseEventHelper::GetNumber((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetX) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetX(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetX" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (int)csMouseEventHelper::GetX((iEvent const *)arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetY) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetY(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetY" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (int)csMouseEventHelper::GetY((iEvent const *)arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetAxis) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventHelper_GetAxis(event,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetAxis" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csMouseEventHelper_GetAxis" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (int)csMouseEventHelper::GetAxis((iEvent const *)arg1,arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetNumAxes) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetNumAxes(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetNumAxes" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (uint)csMouseEventHelper::GetNumAxes((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetButton) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetButton(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetButton" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (uint)csMouseEventHelper::GetButton((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetButtonState) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetButtonState(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetButtonState" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (bool)csMouseEventHelper::GetButtonState((iEvent const *)arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetButtonMask) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetButtonMask(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetButtonMask" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = csMouseEventHelper::GetButtonMask((iEvent const *)arg1);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetModifiers__SWIG_0) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csKeyModifiers *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventHelper_GetModifiers(event,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetModifiers" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p__csKeyModifiers,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMouseEventHelper_GetModifiers" "', argument " "2"" of type '" "csKeyModifiers &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_GetModifiers" "', argument " "2"" of type '" "csKeyModifiers &""'"); 
    }
    arg2 = reinterpret_cast< csKeyModifiers * >(argp2);
    csMouseEventHelper::GetModifiers((iEvent const *)arg1,*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetModifiers__SWIG_1) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csMouseEventHelper_GetModifiers(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetModifiers" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = csMouseEventHelper::GetModifiers((iEvent const *)arg1);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csMouseEventHelper_GetModifiers) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p__csKeyModifiers, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMouseEventHelper_GetModifiers__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csMouseEventHelper_GetModifiers__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csMouseEventHelper_GetModifiers'");
  XSRETURN(0);
}


XS(_wrap_csMouseEventHelper_GetEventData) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csMouseEventData *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csMouseEventHelper_GetEventData(event,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csMouseEventHelper_GetEventData" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMouseEventData,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csMouseEventHelper_GetEventData" "', argument " "2"" of type '" "csMouseEventData &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csMouseEventHelper_GetEventData" "', argument " "2"" of type '" "csMouseEventData &""'"); 
    }
    arg2 = reinterpret_cast< csMouseEventData * >(argp2);
    result = (bool)csMouseEventHelper::GetEventData((iEvent const *)arg1,*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csMouseEventHelper) {
  {
    csMouseEventHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csMouseEventHelper();");
    }
    result = (csMouseEventHelper *)new csMouseEventHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csMouseEventHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csMouseEventHelper) {
  {
    csMouseEventHelper *arg1 = (csMouseEventHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csMouseEventHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csMouseEventHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csMouseEventHelper" "', argument " "1"" of type '" "csMouseEventHelper *""'"); 
    }
    arg1 = reinterpret_cast< csMouseEventHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_NewEvent__SWIG_0) {
  {
    csRef<iEventNameRegistry > *arg1 = 0 ;
    csTicks arg2 ;
    csEventID arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    uint32 arg7 ;
    uint arg8 ;
    bool arg9 ;
    uint32 arg10 ;
    uint32 arg11 ;
    csEvent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    void *argp7 ;
    int res7 = 0 ;
    unsigned int val8 ;
    int ecode8 = 0 ;
    bool val9 ;
    int ecode9 = 0 ;
    void *argp10 ;
    int res10 = 0 ;
    void *argp11 ;
    int res11 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 11) || (items > 11)) {
      SWIG_croak("Usage: csJoystickEventHelper_NewEvent(reg,csTicks,name,n,x,y,axesChanged,button,buttonState,buttonMask,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg1 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    {
      res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res7)) {
        SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "7"" of type '" "uint32""'"); 
      }  
      if (!argp7) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "7"" of type '" "uint32""'");
      } else {
        arg7 = *(reinterpret_cast< uint32 * >(argp7));
      }
    }
    ecode8 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "8"" of type '" "uint""'");
    } 
    arg8 = static_cast< uint >(val8);
    ecode9 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "9"" of type '" "bool""'");
    } 
    arg9 = static_cast< bool >(val9);
    {
      res10 = SWIG_ConvertPtr(ST(9), &argp10, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res10)) {
        SWIG_exception_fail(SWIG_ArgError(res10), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "10"" of type '" "uint32""'"); 
      }  
      if (!argp10) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "10"" of type '" "uint32""'");
      } else {
        arg10 = *(reinterpret_cast< uint32 * >(argp10));
      }
    }
    {
      res11 = SWIG_ConvertPtr(ST(10), &argp11, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res11)) {
        SWIG_exception_fail(SWIG_ArgError(res11), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'"); 
      }  
      if (!argp11) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'");
      } else {
        arg11 = *(reinterpret_cast< uint32 * >(argp11));
      }
    }
    result = (csEvent *)csJoystickEventHelper::NewEvent(*arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEvent, 0 | 0); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_NewEvent__SWIG_1) {
  {
    csRef<iEventNameRegistry > *arg1 = 0 ;
    csTicks arg2 ;
    csEventID arg3 ;
    int arg4 ;
    int32 *arg5 = (int32 *) 0 ;
    uint8 arg6 ;
    uint32 arg7 ;
    uint arg8 ;
    bool arg9 ;
    uint32 arg10 ;
    uint32 arg11 ;
    csEvent *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 ;
    int res6 = 0 ;
    void *argp7 ;
    int res7 = 0 ;
    unsigned int val8 ;
    int ecode8 = 0 ;
    bool val9 ;
    int ecode9 = 0 ;
    void *argp10 ;
    int res10 = 0 ;
    void *argp11 ;
    int res11 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 11) || (items > 11)) {
      SWIG_croak("Usage: csJoystickEventHelper_NewEvent(reg,csTicks,name,n,axes,numAxes,axesChanged,button,buttonState,buttonMask,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg1 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "5"" of type '" "int32 const *""'"); 
    }
    arg5 = reinterpret_cast< int32 * >(argp5);
    {
      res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res6)) {
        SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "6"" of type '" "uint8""'"); 
      }  
      if (!argp6) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "6"" of type '" "uint8""'");
      } else {
        arg6 = *(reinterpret_cast< uint8 * >(argp6));
      }
    }
    {
      res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res7)) {
        SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "7"" of type '" "uint32""'"); 
      }  
      if (!argp7) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "7"" of type '" "uint32""'");
      } else {
        arg7 = *(reinterpret_cast< uint32 * >(argp7));
      }
    }
    ecode8 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "8"" of type '" "uint""'");
    } 
    arg8 = static_cast< uint >(val8);
    ecode9 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "9"" of type '" "bool""'");
    } 
    arg9 = static_cast< bool >(val9);
    {
      res10 = SWIG_ConvertPtr(ST(9), &argp10, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res10)) {
        SWIG_exception_fail(SWIG_ArgError(res10), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "10"" of type '" "uint32""'"); 
      }  
      if (!argp10) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "10"" of type '" "uint32""'");
      } else {
        arg10 = *(reinterpret_cast< uint32 * >(argp10));
      }
    }
    {
      res11 = SWIG_ConvertPtr(ST(10), &argp11, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res11)) {
        SWIG_exception_fail(SWIG_ArgError(res11), "in method '" "csJoystickEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'"); 
      }  
      if (!argp11) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_NewEvent" "', argument " "11"" of type '" "uint32""'");
      } else {
        arg11 = *(reinterpret_cast< uint32 * >(argp11));
      }
    }
    result = (csEvent *)csJoystickEventHelper::NewEvent(*arg1,arg2,arg3,arg4,(int32_t const *)arg5,arg6,arg7,arg8,arg9,arg10,arg11);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEvent, 0 | 0); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_NewEvent) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 11) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRefTiEventNameRegistry_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_int32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(9), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(10), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 11) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRefTiEventNameRegistry_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(9), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(10), &vptr, SWIGTYPE_p_uint32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csJoystickEventHelper_NewEvent__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csJoystickEventHelper_NewEvent__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csJoystickEventHelper_NewEvent'");
  XSRETURN(0);
}


XS(_wrap_csJoystickEventHelper_GetNumber) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetNumber(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetNumber" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (uint)csJoystickEventHelper::GetNumber((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_GetAxis) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetAxis(event,uint);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetAxis" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csJoystickEventHelper_GetAxis" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (int)csJoystickEventHelper::GetAxis((iEvent const *)arg1,arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_GetNumAxes) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetNumAxes(iEvent const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetNumAxes" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (uint)csJoystickEventHelper::GetNumAxes((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_GetButton) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetButton(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetButton" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (uint)csJoystickEventHelper::GetButton((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_GetButtonState) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetButtonState(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetButtonState" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (bool)csJoystickEventHelper::GetButtonState((iEvent const *)arg1);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_GetButtonMask) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetButtonMask(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetButtonMask" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = csJoystickEventHelper::GetButtonMask((iEvent const *)arg1);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_GetModifiers__SWIG_0) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csKeyModifiers *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetModifiers(event,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetModifiers" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p__csKeyModifiers,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csJoystickEventHelper_GetModifiers" "', argument " "2"" of type '" "csKeyModifiers &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_GetModifiers" "', argument " "2"" of type '" "csKeyModifiers &""'"); 
    }
    arg2 = reinterpret_cast< csKeyModifiers * >(argp2);
    csJoystickEventHelper::GetModifiers((iEvent const *)arg1,*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_GetModifiers__SWIG_1) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetModifiers(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetModifiers" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = csJoystickEventHelper::GetModifiers((iEvent const *)arg1);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csJoystickEventHelper_GetModifiers) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEvent, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p__csKeyModifiers, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csJoystickEventHelper_GetModifiers__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csJoystickEventHelper_GetModifiers__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csJoystickEventHelper_GetModifiers'");
  XSRETURN(0);
}


XS(_wrap_csJoystickEventHelper_GetEventData) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csJoystickEventData *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csJoystickEventHelper_GetEventData(event,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csJoystickEventHelper_GetEventData" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csJoystickEventData,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csJoystickEventHelper_GetEventData" "', argument " "2"" of type '" "csJoystickEventData &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csJoystickEventHelper_GetEventData" "', argument " "2"" of type '" "csJoystickEventData &""'"); 
    }
    arg2 = reinterpret_cast< csJoystickEventData * >(argp2);
    result = (bool)csJoystickEventHelper::GetEventData((iEvent const *)arg1,*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csJoystickEventHelper) {
  {
    csJoystickEventHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csJoystickEventHelper();");
    }
    result = (csJoystickEventHelper *)new csJoystickEventHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csJoystickEventHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csJoystickEventHelper) {
  {
    csJoystickEventHelper *arg1 = (csJoystickEventHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csJoystickEventHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csJoystickEventHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csJoystickEventHelper" "', argument " "1"" of type '" "csJoystickEventHelper *""'"); 
    }
    arg1 = reinterpret_cast< csJoystickEventHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInputEventHelper_GetButton) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    iEvent *arg2 = (iEvent *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csInputEventHelper_GetButton(iEventNameRegistry *,event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInputEventHelper_GetButton" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csInputEventHelper_GetButton" "', argument " "2"" of type '" "iEvent const *""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (uint)csInputEventHelper::GetButton(arg1,(iEvent const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csInputEventHelper_GetButtonState) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    iEvent *arg2 = (iEvent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csInputEventHelper_GetButtonState(iEventNameRegistry *,event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csInputEventHelper_GetButtonState" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csInputEventHelper_GetButtonState" "', argument " "2"" of type '" "iEvent const *""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (bool)csInputEventHelper::GetButtonState(arg1,(iEvent const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csInputEventHelper) {
  {
    csInputEventHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csInputEventHelper();");
    }
    result = (csInputEventHelper *)new csInputEventHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csInputEventHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csInputEventHelper) {
  {
    csInputEventHelper *arg1 = (csInputEventHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csInputEventHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csInputEventHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csInputEventHelper" "', argument " "1"" of type '" "csInputEventHelper *""'"); 
    }
    arg1 = reinterpret_cast< csInputEventHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventHelper_NewEvent__SWIG_0) {
  {
    csTicks arg1 ;
    csEventID arg2 ;
    bool arg3 ;
    intptr_t arg4 ;
    csEvent *result = 0 ;
    unsigned int val1 ;
    int ecode1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csCommandEventHelper_NewEvent(csTicks,name,Broadcast,info);");
    }
    ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csCommandEventHelper_NewEvent" "', argument " "1"" of type '" "csTicks""'");
    } 
    arg1 = static_cast< csTicks >(val1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCommandEventHelper_NewEvent" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csCommandEventHelper_NewEvent" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csCommandEventHelper_NewEvent" "', argument " "4"" of type '" "intptr_t""'");
    } 
    arg4 = static_cast< intptr_t >(val4);
    result = (csEvent *)csCommandEventHelper::NewEvent(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEvent, 0 | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventHelper_NewEvent__SWIG_1) {
  {
    csTicks arg1 ;
    csEventID arg2 ;
    bool arg3 ;
    csEvent *result = 0 ;
    unsigned int val1 ;
    int ecode1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csCommandEventHelper_NewEvent(csTicks,name,Broadcast);");
    }
    ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "csCommandEventHelper_NewEvent" "', argument " "1"" of type '" "csTicks""'");
    } 
    arg1 = static_cast< csTicks >(val1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csCommandEventHelper_NewEvent" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csCommandEventHelper_NewEvent" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (csEvent *)csCommandEventHelper::NewEvent(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csEvent, 0 | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventHelper_NewEvent) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCommandEventHelper_NewEvent__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csCommandEventHelper_NewEvent__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csCommandEventHelper_NewEvent'");
  XSRETURN(0);
}


XS(_wrap_csCommandEventHelper_GetCode) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCommandEventHelper_GetCode(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandEventHelper_GetCode" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (uint)csCommandEventHelper::GetCode((iEvent const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventHelper_GetInfo) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    intptr_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCommandEventHelper_GetInfo(event);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandEventHelper_GetInfo" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    result = (intptr_t)csCommandEventHelper::GetInfo((iEvent const *)arg1);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCommandEventHelper_GetEventData) {
  {
    iEvent *arg1 = (iEvent *) 0 ;
    csCommandEventData *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCommandEventHelper_GetEventData(event,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCommandEventHelper_GetEventData" "', argument " "1"" of type '" "iEvent const *""'"); 
    }
    arg1 = reinterpret_cast< iEvent * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csCommandEventData,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCommandEventHelper_GetEventData" "', argument " "2"" of type '" "csCommandEventData &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csCommandEventHelper_GetEventData" "', argument " "2"" of type '" "csCommandEventData &""'"); 
    }
    arg2 = reinterpret_cast< csCommandEventData * >(argp2);
    result = (bool)csCommandEventHelper::GetEventData((iEvent const *)arg1,*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCommandEventHelper) {
  {
    csCommandEventHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csCommandEventHelper();");
    }
    result = (csCommandEventHelper *)new csCommandEventHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCommandEventHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csCommandEventHelper) {
  {
    csCommandEventHelper *arg1 = (csCommandEventHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csCommandEventHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCommandEventHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csCommandEventHelper" "', argument " "1"" of type '" "csCommandEventHelper *""'"); 
    }
    arg1 = reinterpret_cast< csCommandEventHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_RegisterWeakListener__SWIG_0) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csRef<iEventHandler > *arg3 = 0 ;
    csHandlerID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: RegisterWeakListener(q,listener,handler);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RegisterWeakListener" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RegisterWeakListener" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiEventHandler_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RegisterWeakListener" "', argument " "3"" of type '" "csRef<iEventHandler > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RegisterWeakListener" "', argument " "3"" of type '" "csRef<iEventHandler > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iEventHandler > * >(argp3);
    result = CS::RegisterWeakListener(arg1,arg2,*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csHandlerID(static_cast< const csHandlerID& >(result))), SWIGTYPE_p_csHandlerID, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_RegisterWeakListener__SWIG_1) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 = 0 ;
    csRef<iEventHandler > *arg4 = 0 ;
    csHandlerID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csEventID temp3 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: RegisterWeakListener(q,listener,ename,handler);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RegisterWeakListener" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RegisterWeakListener" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "RegisterWeakListener" "', argument " "3"" of type '" "csEventID""'");
    } 
    temp3 = static_cast< csEventID >(val3);
    arg3 = &temp3;
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csRefTiEventHandler_t,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "RegisterWeakListener" "', argument " "4"" of type '" "csRef<iEventHandler > &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RegisterWeakListener" "', argument " "4"" of type '" "csRef<iEventHandler > &""'"); 
    }
    arg4 = reinterpret_cast< csRef<iEventHandler > * >(argp4);
    result = CS::RegisterWeakListener(arg1,arg2,(unsigned long const &)*arg3,*arg4);
    ST(argvi) = SWIG_NewPointerObj((new csHandlerID(static_cast< const csHandlerID& >(result))), SWIGTYPE_p_csHandlerID, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_RegisterWeakListener__SWIG_2) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 ;
    csRef<iEventHandler > *arg4 = 0 ;
    csHandlerID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: RegisterWeakListener(q,listener,ename,handler);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RegisterWeakListener" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RegisterWeakListener" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_unsigned_long, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "RegisterWeakListener" "', argument " "3"" of type '" "csEventID const []""'"); 
    } 
    arg3 = reinterpret_cast< csEventID * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csRefTiEventHandler_t,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "RegisterWeakListener" "', argument " "4"" of type '" "csRef<iEventHandler > &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RegisterWeakListener" "', argument " "4"" of type '" "csRef<iEventHandler > &""'"); 
    }
    arg4 = reinterpret_cast< csRef<iEventHandler > * >(argp4);
    result = CS::RegisterWeakListener(arg1,arg2,(unsigned long const (*))arg3,*arg4);
    ST(argvi) = SWIG_NewPointerObj((new csHandlerID(static_cast< const csHandlerID& >(result))), SWIGTYPE_p_csHandlerID, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_RegisterWeakListener) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiEventHandler_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_unsigned_long, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csRefTiEventHandler_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csRefTiEventHandler_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_RegisterWeakListener__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_RegisterWeakListener__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_RegisterWeakListener__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'RegisterWeakListener'");
  XSRETURN(0);
}


XS(_wrap_RemoveWeakListener) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    csRef<iEventHandler > *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: RemoveWeakListener(q,handler);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "RemoveWeakListener" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiEventHandler_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "RemoveWeakListener" "', argument " "2"" of type '" "csRef<iEventHandler > &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "RemoveWeakListener" "', argument " "2"" of type '" "csRef<iEventHandler > &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iEventHandler > * >(argp2);
    CS::RemoveWeakListener(arg1,*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyModifiers_modifiers_set) {
  {
    csKeyModifiers *arg1 = (csKeyModifiers *) 0 ;
    unsigned int *arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csKeyModifiers_modifiers_set(self,modifiers);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__csKeyModifiers, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyModifiers_modifiers_set" "', argument " "1"" of type '" "csKeyModifiers *""'"); 
    }
    arg1 = reinterpret_cast< csKeyModifiers * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_unsigned_int, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csKeyModifiers_modifiers_set" "', argument " "2"" of type '" "unsigned int [csKeyModifierTypeLast]""'"); 
    } 
    arg2 = reinterpret_cast< unsigned int * >(argp2);
    {
      if (arg2) {
        size_t ii = 0;
        for (; ii < (size_t)csKeyModifierTypeLast; ++ii) arg1->modifiers[ii] = arg2[ii];
      } else {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""modifiers""' of type '""unsigned int [csKeyModifierTypeLast]""'");
      }
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csKeyModifiers_modifiers_get) {
  {
    csKeyModifiers *arg1 = (csKeyModifiers *) 0 ;
    unsigned int *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csKeyModifiers_modifiers_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__csKeyModifiers, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csKeyModifiers_modifiers_get" "', argument " "1"" of type '" "csKeyModifiers *""'"); 
    }
    arg1 = reinterpret_cast< csKeyModifiers * >(argp1);
    result = (unsigned int *)(unsigned int *) ((arg1)->modifiers);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_unsigned_int, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csKeyModifiers) {
  {
    csKeyModifiers *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csKeyModifiers();");
    }
    result = (csKeyModifiers *)new csKeyModifiers();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p__csKeyModifiers, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csKeyModifiers) {
  {
    csKeyModifiers *arg1 = (csKeyModifiers *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csKeyModifiers(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__csKeyModifiers, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csKeyModifiers" "', argument " "1"" of type '" "csKeyModifiers *""'"); 
    }
    arg1 = reinterpret_cast< csKeyModifiers * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Process) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventQueue_Process(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Process" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    (arg1)->Process();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Dispatch) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEvent *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventQueue_Dispatch(self,iEvent &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Dispatch" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iEvent,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_Dispatch" "', argument " "2"" of type '" "iEvent &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventQueue_Dispatch" "', argument " "2"" of type '" "iEvent &""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    (arg1)->Dispatch(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_RegisterListener__SWIG_0) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csHandlerID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventQueue_RegisterListener(self,iEventHandler *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_RegisterListener" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_RegisterListener" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    result = (arg1)->RegisterListener(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csHandlerID(static_cast< const csHandlerID& >(result))), SWIGTYPE_p_csHandlerID, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Subscribe__SWIG_0) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csEventID temp3 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventQueue_Subscribe(self,iEventHandler *,ename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Subscribe" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_Subscribe" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventQueue_Subscribe" "', argument " "3"" of type '" "csEventID""'");
    } 
    temp3 = static_cast< csEventID >(val3);
    arg3 = &temp3;
    result = (bool)(arg1)->Subscribe(arg2,(csEventID const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Subscribe__SWIG_1) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventQueue_Subscribe(self,iEventHandler *,ename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Subscribe" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_Subscribe" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_unsigned_long, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEventQueue_Subscribe" "', argument " "3"" of type '" "csEventID const []""'"); 
    } 
    arg3 = reinterpret_cast< csEventID * >(argp3);
    result = (bool)(arg1)->Subscribe(arg2,(csEventID const (*))arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Subscribe) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_unsigned_long, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventQueue_Subscribe__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventQueue_Subscribe__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEventQueue_Subscribe'");
  XSRETURN(0);
}


XS(_wrap_iEventQueue_Unsubscribe__SWIG_0) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventQueue_Unsubscribe(self,iEventHandler *,csEventID const []);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Unsubscribe" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_Unsubscribe" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_unsigned_long, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEventQueue_Unsubscribe" "', argument " "3"" of type '" "csEventID const []""'"); 
    } 
    arg3 = reinterpret_cast< csEventID * >(argp3);
    (arg1)->Unsubscribe(arg2,(csEventID const (*))arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Unsubscribe__SWIG_1) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csEventID temp3 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventQueue_Unsubscribe(self,iEventHandler *,csEventID const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Unsubscribe" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_Unsubscribe" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventQueue_Unsubscribe" "', argument " "3"" of type '" "csEventID""'");
    } 
    temp3 = static_cast< csEventID >(val3);
    arg3 = &temp3;
    (arg1)->Unsubscribe(arg2,(csEventID const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Unsubscribe) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_unsigned_long, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventQueue_Unsubscribe__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventQueue_Unsubscribe__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iEventQueue_Unsubscribe'");
  XSRETURN(0);
}


XS(_wrap_iEventQueue_RegisterListener__SWIG_1) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 = 0 ;
    csHandlerID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    csEventID temp3 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventQueue_RegisterListener(self,iEventHandler *,ename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_RegisterListener" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_RegisterListener" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventQueue_RegisterListener" "', argument " "3"" of type '" "csEventID""'");
    } 
    temp3 = static_cast< csEventID >(val3);
    arg3 = &temp3;
    result = (arg1)->RegisterListener(arg2,(csEventID const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj((new csHandlerID(static_cast< const csHandlerID& >(result))), SWIGTYPE_p_csHandlerID, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_RegisterListener__SWIG_2) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    csEventID *arg3 ;
    csHandlerID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventQueue_RegisterListener(self,iEventHandler *,ename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_RegisterListener" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_RegisterListener" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_unsigned_long, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEventQueue_RegisterListener" "', argument " "3"" of type '" "csEventID const []""'"); 
    } 
    arg3 = reinterpret_cast< csEventID * >(argp3);
    result = (arg1)->RegisterListener(arg2,(csEventID const (*))arg3);
    ST(argvi) = SWIG_NewPointerObj((new csHandlerID(static_cast< const csHandlerID& >(result))), SWIGTYPE_p_csHandlerID, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_RegisterListener) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_unsigned_long, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventQueue, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEventHandler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventQueue_RegisterListener__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventQueue_RegisterListener__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEventQueue_RegisterListener__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iEventQueue_RegisterListener'");
  XSRETURN(0);
}


XS(_wrap_iEventQueue_RemoveListener) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventHandler *arg2 = (iEventHandler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventQueue_RemoveListener(self,iEventHandler *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_RemoveListener" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_RemoveListener" "', argument " "2"" of type '" "iEventHandler *""'"); 
    }
    arg2 = reinterpret_cast< iEventHandler * >(argp2);
    (arg1)->RemoveListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_CreateEventOutlet) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventPlug *arg2 = (iEventPlug *) 0 ;
    SwigValueWrapper<csPtr<iEventOutlet > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventQueue_CreateEventOutlet(self,iEventPlug *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_CreateEventOutlet" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEventPlug, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_CreateEventOutlet" "', argument " "2"" of type '" "iEventPlug *""'"); 
    }
    arg2 = reinterpret_cast< iEventPlug * >(argp2);
    result = (arg1)->CreateEventOutlet(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iEventOutlet >(static_cast< const csPtr<iEventOutlet >& >(result))), SWIGTYPE_p_csPtrTiEventOutlet_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_GetEventOutlet) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEventOutlet *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventQueue_GetEventOutlet(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_GetEventOutlet" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    result = (iEventOutlet *)(arg1)->GetEventOutlet();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iEventOutlet, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_GetEventCord) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    csEventID *arg2 = 0 ;
    iEventCord *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csEventID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventQueue_GetEventCord(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_GetEventCord" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventQueue_GetEventCord" "', argument " "2"" of type '" "csEventID""'");
    } 
    temp2 = static_cast< csEventID >(val2);
    arg2 = &temp2;
    result = (iEventCord *)(arg1)->GetEventCord((csEventID const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iEventCord, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_CreateEvent) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    csEventID *arg2 = 0 ;
    SwigValueWrapper<csPtr<iEvent > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csEventID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventQueue_CreateEvent(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_CreateEvent" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventQueue_CreateEvent" "', argument " "2"" of type '" "csEventID""'");
    } 
    temp2 = static_cast< csEventID >(val2);
    arg2 = &temp2;
    result = (arg1)->CreateEvent((csEventID const &)*arg2);
    {
      csRef<iEvent> rf ((csPtr<iEvent>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iEvent*)rf, SWIG_TypeQuery("cspace::""iEvent"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_CreateBroadcastEvent) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    csEventID *arg2 = 0 ;
    SwigValueWrapper<csPtr<iEvent > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csEventID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventQueue_CreateBroadcastEvent(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_CreateBroadcastEvent" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventQueue_CreateBroadcastEvent" "', argument " "2"" of type '" "csEventID""'");
    } 
    temp2 = static_cast< csEventID >(val2);
    arg2 = &temp2;
    result = (arg1)->CreateBroadcastEvent((csEventID const &)*arg2);
    {
      csRef<iEvent> rf ((csPtr<iEvent>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iEvent*)rf, SWIG_TypeQuery("cspace::""iEvent"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Post) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    iEvent *arg2 = (iEvent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventQueue_Post(self,iEvent *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Post" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventQueue_Post" "', argument " "2"" of type '" "iEvent *""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    (arg1)->Post(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Get) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    SwigValueWrapper<csPtr<iEvent > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventQueue_Get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Get" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    result = (arg1)->Get();
    {
      csRef<iEvent> rf ((csPtr<iEvent>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iEvent*)rf, SWIG_TypeQuery("cspace::""iEvent"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_Clear) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventQueue_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_Clear" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_IsEmpty) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventQueue_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_IsEmpty" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    result = (bool)(arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_RemoveAllListeners) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventQueue_RemoveAllListeners(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventQueue_RemoveAllListeners" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    (arg1)->RemoveAllListeners();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEventQueue) {
  {
    iEventQueue *arg1 = (iEventQueue *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEventQueue(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventQueue, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEventQueue" "', argument " "1"" of type '" "iEventQueue *""'"); 
    }
    arg1 = reinterpret_cast< iEventQueue * >(argp1);
    delete_iEventQueue(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventQueue_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iEventQueue_scfGetVersion();");
    }
    result = (int)iEventQueue_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csHashCompute__SWIG_0) {
  {
    char *arg1 = (char *) 0 ;
    unsigned int result;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csHashCompute(char const *);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHashCompute" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    result = (unsigned int)csHashCompute((char const *)arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    SWIG_croak_null();
  }
}


XS(_wrap_csHashCompute__SWIG_1) {
  {
    char *arg1 = (char *) 0 ;
    size_t arg2 ;
    unsigned int result;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csHashCompute(char const *,length);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csHashCompute" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csHashCompute" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (unsigned int)csHashCompute((char const *)arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    
    SWIG_croak_null();
  }
}


XS(_wrap_csHashCompute) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csHashCompute__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csHashCompute__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csHashCompute'");
  XSRETURN(0);
}


XS(_wrap_new_csStrKey__SWIG_0) {
  {
    csStrKey *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csStrKey();");
    }
    result = (csStrKey *)new csStrKey();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStrKey, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStrKey__SWIG_1) {
  {
    char *arg1 = (char *) 0 ;
    csStrKey *result = 0 ;
    int res1 ;
    char *buf1 = 0 ;
    int alloc1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csStrKey(s);");
    }
    res1 = SWIG_AsCharPtrAndSize(ST(0), &buf1, NULL, &alloc1);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csStrKey" "', argument " "1"" of type '" "char const *""'");
    }
    arg1 = buf1;
    result = (csStrKey *)new csStrKey((char const *)arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStrKey, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    XSRETURN(argvi);
  fail:
    if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStrKey__SWIG_2) {
  {
    csStrKey *arg1 = 0 ;
    csStrKey *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csStrKey(c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csStrKey,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csStrKey" "', argument " "1"" of type '" "csStrKey const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csStrKey" "', argument " "1"" of type '" "csStrKey const &""'"); 
    }
    arg1 = reinterpret_cast< csStrKey * >(argp1);
    result = (csStrKey *)new csStrKey((csStrKey const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStrKey, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csStrKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csStrKey, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        int res = SWIG_AsCharPtrAndSize(ST(0), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStrKey__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStrKey__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csStrKey__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csStrKey'");
  XSRETURN(0);
}


XS(_wrap_delete_csStrKey) {
  {
    csStrKey *arg1 = (csStrKey *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csStrKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStrKey, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csStrKey" "', argument " "1"" of type '" "csStrKey *""'"); 
    }
    arg1 = reinterpret_cast< csStrKey * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStrKey___copy__) {
  {
    csStrKey *arg1 = (csStrKey *) 0 ;
    csStrKey *arg2 = 0 ;
    csStrKey *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csStrKey___copy__(self,o);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStrKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStrKey___copy__" "', argument " "1"" of type '" "csStrKey *""'"); 
    }
    arg1 = reinterpret_cast< csStrKey * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csStrKey,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csStrKey___copy__" "', argument " "2"" of type '" "csStrKey const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csStrKey___copy__" "', argument " "2"" of type '" "csStrKey const &""'"); 
    }
    arg2 = reinterpret_cast< csStrKey * >(argp2);
    {
      csStrKey &_result_ref = (arg1)->operator =((csStrKey const &)*arg2);
      result = (csStrKey *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csStrKey, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csStrKey_GetHash) {
  {
    csStrKey *arg1 = (csStrKey *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csStrKey_GetHash(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csStrKey, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csStrKey_GetHash" "', argument " "1"" of type '" "csStrKey const *""'"); 
    }
    arg1 = reinterpret_cast< csStrKey * >(argp1);
    result = (uint)((csStrKey const *)arg1)->GetHash();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventNameRegistry_GetID) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventNameRegistry_GetID(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventNameRegistry_GetID" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventNameRegistry_GetID" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csEventID)(arg1)->GetID((char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEventNameRegistry_GetString) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventNameRegistry_GetString(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventNameRegistry_GetString" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventNameRegistry_GetString" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    result = (char *)(arg1)->GetString(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventNameRegistry_GetParentID) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventNameRegistry_GetParentID(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventNameRegistry_GetParentID" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventNameRegistry_GetParentID" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    result = (csEventID)(arg1)->GetParentID(arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventNameRegistry_IsImmediateChildOf) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID arg2 ;
    csEventID arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventNameRegistry_IsImmediateChildOf(self,child,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventNameRegistry_IsImmediateChildOf" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventNameRegistry_IsImmediateChildOf" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventNameRegistry_IsImmediateChildOf" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    result = (bool)(arg1)->IsImmediateChildOf(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventNameRegistry_IsKindOf) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID arg2 ;
    csEventID arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEventNameRegistry_IsKindOf(self,child,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventNameRegistry_IsKindOf" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEventNameRegistry_IsKindOf" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEventNameRegistry_IsKindOf" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    result = (bool)(arg1)->IsKindOf(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEventNameRegistry) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEventNameRegistry(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEventNameRegistry" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    delete_iEventNameRegistry(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventNameRegistry_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iEventNameRegistry_scfGetVersion();");
    }
    result = (int)iEventNameRegistry_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csEventNameRegistry) {
  {
    csEventNameRegistry *arg1 = (csEventNameRegistry *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csEventNameRegistry(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEventNameRegistry, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csEventNameRegistry" "', argument " "1"" of type '" "csEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< csEventNameRegistry * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_GetID__SWIG_0) {
  {
    csEventNameRegistry *arg1 = (csEventNameRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csEventNameRegistry_GetID(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_GetID" "', argument " "1"" of type '" "csEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< csEventNameRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csEventNameRegistry_GetID" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csEventID)(arg1)->GetID((char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_GetString__SWIG_0) {
  {
    csEventNameRegistry *arg1 = (csEventNameRegistry *) 0 ;
    csEventID arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csEventNameRegistry_GetString(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_GetString" "', argument " "1"" of type '" "csEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< csEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csEventNameRegistry_GetString" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    result = (char *)(arg1)->GetString(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_GetString__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csEventNameRegistry_GetString(object_reg,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_GetString" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csEventNameRegistry_GetString" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    result = (char *)csEventNameRegistry::GetString(arg1,arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_GetString) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csEventNameRegistry_GetString__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csEventNameRegistry_GetString__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csEventNameRegistry_GetString'");
  XSRETURN(0);
}


XS(_wrap_csEventNameRegistry_GetParentID) {
  {
    csEventNameRegistry *arg1 = (csEventNameRegistry *) 0 ;
    csEventID arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csEventNameRegistry_GetParentID(self,id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_GetParentID" "', argument " "1"" of type '" "csEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< csEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csEventNameRegistry_GetParentID" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    result = (csEventID)(arg1)->GetParentID(arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_IsImmediateChildOf) {
  {
    csEventNameRegistry *arg1 = (csEventNameRegistry *) 0 ;
    csEventID arg2 ;
    csEventID arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csEventNameRegistry_IsImmediateChildOf(self,child,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_IsImmediateChildOf" "', argument " "1"" of type '" "csEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< csEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csEventNameRegistry_IsImmediateChildOf" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csEventNameRegistry_IsImmediateChildOf" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    result = (bool)(arg1)->IsImmediateChildOf(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_IsKindOf__SWIG_0) {
  {
    csEventNameRegistry *arg1 = (csEventNameRegistry *) 0 ;
    csEventID arg2 ;
    csEventID arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csEventNameRegistry_IsKindOf(self,child,parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "1"" of type '" "csEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< csEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    result = (bool)(arg1)->IsKindOf(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_GetRegistry) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    SwigValueWrapper<csRef<iEventNameRegistry > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csEventNameRegistry_GetRegistry(object_reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_GetRegistry" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = csEventNameRegistry::GetRegistry(arg1);
    {
      csRef<iEventNameRegistry> rf ((csRef<iEventNameRegistry>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iEventNameRegistry*)rf, SWIG_TypeQuery("cspace::""iEventNameRegistry"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_GetID__SWIG_1) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csEventNameRegistry_GetID(name_reg,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_GetID" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csEventNameRegistry_GetID" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csEventID)csEventNameRegistry::GetID(arg1,(char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_GetID__SWIG_2) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csEventNameRegistry_GetID(object_reg,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_GetID" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csEventNameRegistry_GetID" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (csEventID)csEventNameRegistry::GetID(arg1,(char const *)arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_GetID) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csEventNameRegistry_GetID__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csEventNameRegistry_GetID__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csEventNameRegistry_GetID__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csEventNameRegistry_GetID'");
  XSRETURN(0);
}


XS(_wrap_csEventNameRegistry_IsKindOf__SWIG_1) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID arg2 ;
    csEventID arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csEventNameRegistry_IsKindOf(name_reg,name1,name2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    result = (bool)csEventNameRegistry::IsKindOf(arg1,arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_IsKindOf__SWIG_2) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID arg2 ;
    csEventID arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csEventNameRegistry_IsKindOf(object_reg,name1,name2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "2"" of type '" "csEventID""'");
    } 
    arg2 = static_cast< csEventID >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csEventNameRegistry_IsKindOf" "', argument " "3"" of type '" "csEventID""'");
    } 
    arg3 = static_cast< csEventID >(val3);
    result = (bool)csEventNameRegistry::IsKindOf(arg1,arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csEventNameRegistry_IsKindOf) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csEventNameRegistry_IsKindOf__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csEventNameRegistry_IsKindOf__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csEventNameRegistry_IsKindOf__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'csEventNameRegistry_IsKindOf'");
  XSRETURN(0);
}


XS(_wrap_csevMouse__SWIG_0) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevMouse(name_reg,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouse" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouse" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevMouse(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouse__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevMouse(object_reg,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouse" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouse" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevMouse(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouse) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevMouse__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevMouse__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevMouse'");
  XSRETURN(0);
}


XS(_wrap_csevMouseOp__SWIG_0) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    uint arg2 ;
    csString *arg3 = 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csevMouseOp(name_reg,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseOp" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouseOp" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csevMouseOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csevMouseOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    arg3 = reinterpret_cast< csString * >(argp3);
    result = (csEventID)csevMouseOp(arg1,arg2,(csString const &)*arg3);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseOp__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csString *arg3 = 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csevMouseOp(object_reg,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseOp" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouseOp" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csevMouseOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csevMouseOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    arg3 = reinterpret_cast< csString * >(argp3);
    result = (csEventID)csevMouseOp(arg1,arg2,(csString const &)*arg3);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseOp) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevMouseOp__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevMouseOp__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevMouseOp'");
  XSRETURN(0);
}


XS(_wrap_csevJoystick__SWIG_0) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevJoystick(name_reg,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevJoystick" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevJoystick" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevJoystick(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevJoystick__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevJoystick(object_reg,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevJoystick" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevJoystick" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevJoystick(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevJoystick) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevJoystick__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevJoystick__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevJoystick'");
  XSRETURN(0);
}


XS(_wrap_csevJoystickOp__SWIG_0) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    uint arg2 ;
    csString *arg3 = 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csevJoystickOp(name_reg,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevJoystickOp" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevJoystickOp" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csevJoystickOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csevJoystickOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    arg3 = reinterpret_cast< csString * >(argp3);
    result = (csEventID)csevJoystickOp(arg1,arg2,(csString const &)*arg3);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevJoystickOp__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csString *arg3 = 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csevJoystickOp(object_reg,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevJoystickOp" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevJoystickOp" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csevJoystickOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csevJoystickOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    arg3 = reinterpret_cast< csString * >(argp3);
    result = (csEventID)csevJoystickOp(arg1,arg2,(csString const &)*arg3);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevJoystickOp) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevJoystickOp__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevJoystickOp__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevJoystickOp'");
  XSRETURN(0);
}


XS(_wrap_csevCanvasOp__SWIG_0) {
  {
    csRef<iEventNameRegistry > *arg1 = 0 ;
    iGraphics2D *arg2 = (iGraphics2D *) 0 ;
    csString *arg3 = 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csevCanvasOp(reg,g2d,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevCanvasOp" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csevCanvasOp" "', argument " "1"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg1 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csevCanvasOp" "', argument " "2"" of type '" "iGraphics2D const *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics2D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csevCanvasOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csevCanvasOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    arg3 = reinterpret_cast< csString * >(argp3);
    result = (csEventID)csevCanvasOp(*arg1,(iGraphics2D const *)arg2,(csString const &)*arg3);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevCanvasOp__SWIG_1) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iGraphics2D *arg2 = (iGraphics2D *) 0 ;
    csString *arg3 = 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csevCanvasOp(object_reg,g2d,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevCanvasOp" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csevCanvasOp" "', argument " "2"" of type '" "iGraphics2D const *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics2D * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csString,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csevCanvasOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csevCanvasOp" "', argument " "3"" of type '" "csString const &""'"); 
    }
    arg3 = reinterpret_cast< csString * >(argp3);
    result = (csEventID)csevCanvasOp(arg1,(iGraphics2D const *)arg2,(csString const &)*arg3);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevCanvasOp) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csRefTiEventNameRegistry_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevCanvasOp__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevCanvasOp__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevCanvasOp'");
  XSRETURN(0);
}


XS(_wrap_csevPreProcess__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevPreProcess(reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPreProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevPreProcess(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevPreProcess__SWIG_1) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevPreProcess(reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPreProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    result = (csEventID)csevPreProcess(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevPreProcess) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevPreProcess__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevPreProcess__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevPreProcess'");
  XSRETURN(0);
}


XS(_wrap_csevProcess__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevProcess(reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevProcess(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevProcess__SWIG_1) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevProcess(reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    result = (csEventID)csevProcess(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevProcess) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevProcess__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevProcess__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevProcess'");
  XSRETURN(0);
}


XS(_wrap_csevPostProcess__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevPostProcess(reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPostProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevPostProcess(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevPostProcess__SWIG_1) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevPostProcess(reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevPostProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    result = (csEventID)csevPostProcess(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevPostProcess) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevPostProcess__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevPostProcess__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevPostProcess'");
  XSRETURN(0);
}


XS(_wrap_csevFinalProcess__SWIG_0) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevFinalProcess(reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevFinalProcess" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevFinalProcess(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevFinalProcess__SWIG_1) {
  {
    iEventNameRegistry *arg1 = (iEventNameRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevFinalProcess(reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventNameRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevFinalProcess" "', argument " "1"" of type '" "iEventNameRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iEventNameRegistry * >(argp1);
    result = (csEventID)csevFinalProcess(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevFinalProcess) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObjectRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEventNameRegistry, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevFinalProcess__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csevFinalProcess__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csevFinalProcess'");
  XSRETURN(0);
}


XS(_wrap_iEventHandler_HandleEvent) {
  {
    iEventHandler *arg1 = (iEventHandler *) 0 ;
    iEvent *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventHandler_HandleEvent(self,iEvent &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventHandler_HandleEvent" "', argument " "1"" of type '" "iEventHandler *""'"); 
    }
    arg1 = reinterpret_cast< iEventHandler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iEvent,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventHandler_HandleEvent" "', argument " "2"" of type '" "iEvent &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_HandleEvent" "', argument " "2"" of type '" "iEvent &""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (bool)(arg1)->HandleEvent(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventHandler_GenericName) {
  {
    iEventHandler *arg1 = (iEventHandler *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEventHandler_GenericName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventHandler_GenericName" "', argument " "1"" of type '" "iEventHandler const *""'"); 
    }
    arg1 = reinterpret_cast< iEventHandler * >(argp1);
    result = (char *)((iEventHandler const *)arg1)->GenericName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventHandler_GenericID) {
  {
    iEventHandler *arg1 = (iEventHandler *) 0 ;
    csRef<iEventHandlerRegistry > *arg2 = 0 ;
    csHandlerID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEventHandler_GenericID(self,csRef<iEventHandlerRegistry > &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventHandler_GenericID" "', argument " "1"" of type '" "iEventHandler const *""'"); 
    }
    arg1 = reinterpret_cast< iEventHandler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiEventHandlerRegistry_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventHandler_GenericID" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_GenericID" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iEventHandlerRegistry > * >(argp2);
    result = ((iEventHandler const *)arg1)->GenericID(*arg2);
    ST(argvi) = SWIG_NewPointerObj((new csHandlerID(static_cast< const csHandlerID& >(result))), SWIGTYPE_p_csHandlerID, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventHandler_GenericPrec) {
  {
    iEventHandler *arg1 = (iEventHandler *) 0 ;
    csRef<iEventHandlerRegistry > *arg2 = 0 ;
    csRef<iEventNameRegistry > *arg3 = 0 ;
    csEventID arg4 ;
    csHandlerID *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned long val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEventHandler_GenericPrec(self,csRef<iEventHandlerRegistry > &,csRef<iEventNameRegistry > &,csEventID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventHandler_GenericPrec" "', argument " "1"" of type '" "iEventHandler const *""'"); 
    }
    arg1 = reinterpret_cast< iEventHandler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiEventHandlerRegistry_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventHandler_GenericPrec" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_GenericPrec" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iEventHandlerRegistry > * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEventHandler_GenericPrec" "', argument " "3"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_GenericPrec" "', argument " "3"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEventHandler_GenericPrec" "', argument " "4"" of type '" "csEventID""'");
    } 
    arg4 = static_cast< csEventID >(val4);
    result = (csHandlerID *)((iEventHandler const *)arg1)->GenericPrec(*arg2,*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csHandlerID, 0 | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventHandler_GenericSucc) {
  {
    iEventHandler *arg1 = (iEventHandler *) 0 ;
    csRef<iEventHandlerRegistry > *arg2 = 0 ;
    csRef<iEventNameRegistry > *arg3 = 0 ;
    csEventID arg4 ;
    csHandlerID *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned long val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEventHandler_GenericSucc(self,csRef<iEventHandlerRegistry > &,csRef<iEventNameRegistry > &,csEventID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventHandler_GenericSucc" "', argument " "1"" of type '" "iEventHandler const *""'"); 
    }
    arg1 = reinterpret_cast< iEventHandler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiEventHandlerRegistry_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventHandler_GenericSucc" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_GenericSucc" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iEventHandlerRegistry > * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEventHandler_GenericSucc" "', argument " "3"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_GenericSucc" "', argument " "3"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEventHandler_GenericSucc" "', argument " "4"" of type '" "csEventID""'");
    } 
    arg4 = static_cast< csEventID >(val4);
    result = (csHandlerID *)((iEventHandler const *)arg1)->GenericSucc(*arg2,*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csHandlerID, 0 | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventHandler_InstancePrec) {
  {
    iEventHandler *arg1 = (iEventHandler *) 0 ;
    csRef<iEventHandlerRegistry > *arg2 = 0 ;
    csRef<iEventNameRegistry > *arg3 = 0 ;
    csEventID arg4 ;
    csHandlerID *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned long val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEventHandler_InstancePrec(self,csRef<iEventHandlerRegistry > &,csRef<iEventNameRegistry > &,csEventID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventHandler_InstancePrec" "', argument " "1"" of type '" "iEventHandler const *""'"); 
    }
    arg1 = reinterpret_cast< iEventHandler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiEventHandlerRegistry_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventHandler_InstancePrec" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_InstancePrec" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iEventHandlerRegistry > * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEventHandler_InstancePrec" "', argument " "3"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_InstancePrec" "', argument " "3"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEventHandler_InstancePrec" "', argument " "4"" of type '" "csEventID""'");
    } 
    arg4 = static_cast< csEventID >(val4);
    result = (csHandlerID *)((iEventHandler const *)arg1)->InstancePrec(*arg2,*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csHandlerID, 0 | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventHandler_InstanceSucc) {
  {
    iEventHandler *arg1 = (iEventHandler *) 0 ;
    csRef<iEventHandlerRegistry > *arg2 = 0 ;
    csRef<iEventNameRegistry > *arg3 = 0 ;
    csEventID arg4 ;
    csHandlerID *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned long val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEventHandler_InstanceSucc(self,csRef<iEventHandlerRegistry > &,csRef<iEventNameRegistry > &,csEventID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventHandler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEventHandler_InstanceSucc" "', argument " "1"" of type '" "iEventHandler const *""'"); 
    }
    arg1 = reinterpret_cast< iEventHandler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiEventHandlerRegistry_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEventHandler_InstanceSucc" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_InstanceSucc" "', argument " "2"" of type '" "csRef<iEventHandlerRegistry > &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iEventHandlerRegistry > * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiEventNameRegistry_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEventHandler_InstanceSucc" "', argument " "3"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iEventHandler_InstanceSucc" "', argument " "3"" of type '" "csRef<iEventNameRegistry > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iEventNameRegistry > * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iEventHandler_InstanceSucc" "', argument " "4"" of type '" "csEventID""'");
    } 
    arg4 = static_cast< csEventID >(val4);
    result = (csHandlerID *)((iEventHandler const *)arg1)->InstanceSucc(*arg2,*arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csHandlerID, 0 | 0); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEventHandler) {
  {
    iEventHandler *arg1 = (iEventHandler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEventHandler(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEventHandler, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEventHandler" "', argument " "1"" of type '" "iEventHandler *""'"); 
    }
    arg1 = reinterpret_cast< iEventHandler * >(argp1);
    delete_iEventHandler(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEventHandler_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iEventHandler_scfGetVersion();");
    }
    result = (int)iEventHandler_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginIterator_HasNext) {
  {
    iPluginIterator *arg1 = (iPluginIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPluginIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginIterator_HasNext" "', argument " "1"" of type '" "iPluginIterator *""'"); 
    }
    arg1 = reinterpret_cast< iPluginIterator * >(argp1);
    result = (bool)(arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginIterator_Next) {
  {
    iPluginIterator *arg1 = (iPluginIterator *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPluginIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginIterator_Next" "', argument " "1"" of type '" "iPluginIterator *""'"); 
    }
    arg1 = reinterpret_cast< iPluginIterator * >(argp1);
    result = (iBase *)(arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iPluginIterator) {
  {
    iPluginIterator *arg1 = (iPluginIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iPluginIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iPluginIterator" "', argument " "1"" of type '" "iPluginIterator *""'"); 
    }
    arg1 = reinterpret_cast< iPluginIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_LoadPlugin__SWIG_0) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPluginManager_LoadPlugin(self,classID,init);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_LoadPlugin" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPluginManager_LoadPlugin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iPluginManager_LoadPlugin" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (iBase *)(arg1)->LoadPlugin((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_LoadPlugin__SWIG_1) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPluginManager_LoadPlugin(self,classID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_LoadPlugin" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPluginManager_LoadPlugin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iBase *)(arg1)->LoadPlugin((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_LoadPlugin) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPluginManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPluginManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPluginManager_LoadPlugin__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPluginManager_LoadPlugin__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iPluginManager_LoadPlugin'");
  XSRETURN(0);
}


XS(_wrap_iPluginManager_QueryPlugin__SWIG_0) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPluginManager_QueryPlugin(self,iInterface,iVersion);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_QueryPlugin" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPluginManager_QueryPlugin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iPluginManager_QueryPlugin" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (iBase *)(arg1)->QueryPlugin((char const *)arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_QueryPlugin__SWIG_1) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iPluginManager_QueryPlugin(self,classID,iInterface,iVersion);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_QueryPlugin" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPluginManager_QueryPlugin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPluginManager_QueryPlugin" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iPluginManager_QueryPlugin" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (iBase *)(arg1)->QueryPlugin((char const *)arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_QueryPlugin) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPluginManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iPluginManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPluginManager_QueryPlugin__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iPluginManager_QueryPlugin__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iPluginManager_QueryPlugin'");
  XSRETURN(0);
}


XS(_wrap_iPluginManager_UnloadPlugin) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    iComponent *arg2 = (iComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPluginManager_UnloadPlugin(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_UnloadPlugin" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPluginManager_UnloadPlugin" "', argument " "2"" of type '" "iComponent *""'"); 
    }
    arg2 = reinterpret_cast< iComponent * >(argp2);
    result = (bool)(arg1)->UnloadPlugin(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_RegisterPlugin) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iComponent *arg3 = (iComponent *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iPluginManager_RegisterPlugin(self,classID,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_RegisterPlugin" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPluginManager_RegisterPlugin" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iComponent, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iPluginManager_RegisterPlugin" "', argument " "3"" of type '" "iComponent *""'"); 
    }
    arg3 = reinterpret_cast< iComponent * >(argp3);
    result = (bool)(arg1)->RegisterPlugin((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_GetPlugins) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    SwigValueWrapper<csPtr<iPluginIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPluginManager_GetPlugins(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_GetPlugins" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    result = (arg1)->GetPlugins();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iPluginIterator >(static_cast< const csPtr<iPluginIterator >& >(result))), SWIGTYPE_p_csPtrTiPluginIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_Clear) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iPluginManager_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_Clear" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_QueryOptions) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    iComponent *arg2 = (iComponent *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iPluginManager_QueryOptions(self,object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iPluginManager_QueryOptions" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iComponent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iPluginManager_QueryOptions" "', argument " "2"" of type '" "iComponent *""'"); 
    }
    arg2 = reinterpret_cast< iComponent * >(argp2);
    (arg1)->QueryOptions(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iPluginManager) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iPluginManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iPluginManager" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    delete_iPluginManager(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iPluginManager_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iPluginManager_scfGetVersion();");
    }
    result = (int)iPluginManager_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csLoadPluginAlways) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iBase > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csLoadPluginAlways(mgr,ClassID);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csLoadPluginAlways" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csLoadPluginAlways" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = csLoadPluginAlways(arg1,(char const *)arg2);
    {
      csRef<iBase> rf ((csPtr<iBase>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iBase*)rf, SWIG_TypeQuery("cspace::""iBase"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyComposer_HandleKey__SWIG_0) {
  {
    iKeyComposer *arg1 = (iKeyComposer *) 0 ;
    csKeyEventData *arg2 = 0 ;
    utf32_char *arg3 = (utf32_char *) 0 ;
    size_t arg4 ;
    int *arg5 = (int *) 0 ;
    csKeyComposeResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    size_t val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iKeyComposer_HandleKey(self,keyEventData,buf,bufChars,resultChars);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyComposer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyComposer_HandleKey" "', argument " "1"" of type '" "iKeyComposer *""'"); 
    }
    arg1 = reinterpret_cast< iKeyComposer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csKeyEventData,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iKeyComposer_HandleKey" "', argument " "2"" of type '" "csKeyEventData const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iKeyComposer_HandleKey" "', argument " "2"" of type '" "csKeyEventData const &""'"); 
    }
    arg2 = reinterpret_cast< csKeyEventData * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_utf32_char, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iKeyComposer_HandleKey" "', argument " "3"" of type '" "utf32_char *""'"); 
    }
    arg3 = reinterpret_cast< utf32_char * >(argp3);
    ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iKeyComposer_HandleKey" "', argument " "4"" of type '" "size_t""'");
    } 
    arg4 = static_cast< size_t >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iKeyComposer_HandleKey" "', argument " "5"" of type '" "int *""'"); 
    }
    arg5 = reinterpret_cast< int * >(argp5);
    result = (csKeyComposeResult)(arg1)->HandleKey((csKeyEventData const &)*arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyComposer_HandleKey__SWIG_1) {
  {
    iKeyComposer *arg1 = (iKeyComposer *) 0 ;
    csKeyEventData *arg2 = 0 ;
    utf32_char *arg3 = (utf32_char *) 0 ;
    size_t arg4 ;
    csKeyComposeResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    size_t val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iKeyComposer_HandleKey(self,keyEventData,buf,bufChars);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyComposer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyComposer_HandleKey" "', argument " "1"" of type '" "iKeyComposer *""'"); 
    }
    arg1 = reinterpret_cast< iKeyComposer * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csKeyEventData,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iKeyComposer_HandleKey" "', argument " "2"" of type '" "csKeyEventData const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iKeyComposer_HandleKey" "', argument " "2"" of type '" "csKeyEventData const &""'"); 
    }
    arg2 = reinterpret_cast< csKeyEventData * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_utf32_char, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iKeyComposer_HandleKey" "', argument " "3"" of type '" "utf32_char *""'"); 
    }
    arg3 = reinterpret_cast< utf32_char * >(argp3);
    ecode4 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iKeyComposer_HandleKey" "', argument " "4"" of type '" "size_t""'");
    } 
    arg4 = static_cast< size_t >(val4);
    result = (csKeyComposeResult)(arg1)->HandleKey((csKeyEventData const &)*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyComposer_HandleKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iKeyComposer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csKeyEventData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_utf32_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iKeyComposer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csKeyEventData, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_utf32_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iKeyComposer_HandleKey__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iKeyComposer_HandleKey__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iKeyComposer_HandleKey'");
  XSRETURN(0);
}


XS(_wrap_iKeyComposer_ResetState) {
  {
    iKeyComposer *arg1 = (iKeyComposer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iKeyComposer_ResetState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyComposer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyComposer_ResetState" "', argument " "1"" of type '" "iKeyComposer *""'"); 
    }
    arg1 = reinterpret_cast< iKeyComposer * >(argp1);
    (arg1)->ResetState();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iKeyComposer) {
  {
    iKeyComposer *arg1 = (iKeyComposer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iKeyComposer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyComposer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iKeyComposer" "', argument " "1"" of type '" "iKeyComposer *""'"); 
    }
    arg1 = reinterpret_cast< iKeyComposer * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_Reset) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iKeyboardDriver_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_Reset" "', argument " "1"" of type '" "iKeyboardDriver *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_DoKey__SWIG_0) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    utf32_char arg2 ;
    utf32_char arg3 ;
    bool arg4 ;
    bool arg5 ;
    csKeyCharType arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iKeyboardDriver_DoKey(self,codeRaw,codeCooked,iDown,autoRepeat,charType);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_DoKey" "', argument " "1"" of type '" "iKeyboardDriver *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iKeyboardDriver_DoKey" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iKeyboardDriver_DoKey" "', argument " "3"" of type '" "utf32_char""'");
    } 
    arg3 = static_cast< utf32_char >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iKeyboardDriver_DoKey" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iKeyboardDriver_DoKey" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iKeyboardDriver_DoKey" "', argument " "6"" of type '" "csKeyCharType""'");
    } 
    arg6 = static_cast< csKeyCharType >(val6);
    (arg1)->DoKey(arg2,arg3,arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_DoKey__SWIG_1) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    utf32_char arg2 ;
    utf32_char arg3 ;
    bool arg4 ;
    bool arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iKeyboardDriver_DoKey(self,codeRaw,codeCooked,iDown,autoRepeat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_DoKey" "', argument " "1"" of type '" "iKeyboardDriver *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iKeyboardDriver_DoKey" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iKeyboardDriver_DoKey" "', argument " "3"" of type '" "utf32_char""'");
    } 
    arg3 = static_cast< utf32_char >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iKeyboardDriver_DoKey" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iKeyboardDriver_DoKey" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    (arg1)->DoKey(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_DoKey__SWIG_2) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    utf32_char arg2 ;
    utf32_char arg3 ;
    bool arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    unsigned long val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iKeyboardDriver_DoKey(self,codeRaw,codeCooked,iDown);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_DoKey" "', argument " "1"" of type '" "iKeyboardDriver *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iKeyboardDriver_DoKey" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iKeyboardDriver_DoKey" "', argument " "3"" of type '" "utf32_char""'");
    } 
    arg3 = static_cast< utf32_char >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iKeyboardDriver_DoKey" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->DoKey(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_DoKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iKeyboardDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iKeyboardDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iKeyboardDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iKeyboardDriver_DoKey__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iKeyboardDriver_DoKey__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iKeyboardDriver_DoKey__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iKeyboardDriver_DoKey'");
  XSRETURN(0);
}


XS(_wrap_iKeyboardDriver_GetKeyState__SWIG_0) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    utf32_char arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iKeyboardDriver_GetKeyState(self,codeRaw);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_GetKeyState" "', argument " "1"" of type '" "iKeyboardDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iKeyboardDriver_GetKeyState" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    result = (bool)((iKeyboardDriver const *)arg1)->GetKeyState(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_GetModifierState) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    utf32_char arg2 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iKeyboardDriver_GetModifierState(self,codeRaw);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_GetModifierState" "', argument " "1"" of type '" "iKeyboardDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iKeyboardDriver_GetModifierState" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    result = ((iKeyboardDriver const *)arg1)->GetModifierState(arg2);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_CreateKeyComposer) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    SwigValueWrapper<csPtr<iKeyComposer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iKeyboardDriver_CreateKeyComposer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_CreateKeyComposer" "', argument " "1"" of type '" "iKeyboardDriver *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    result = (arg1)->CreateKeyComposer();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iKeyComposer >(static_cast< const csPtr<iKeyComposer >& >(result))), SWIGTYPE_p_csPtrTiKeyComposer_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_SynthesizeCooked) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    iEvent *arg2 = (iEvent *) 0 ;
    csEventError result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iKeyboardDriver_SynthesizeCooked(self,iEvent *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_SynthesizeCooked" "', argument " "1"" of type '" "iKeyboardDriver *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEvent, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iKeyboardDriver_SynthesizeCooked" "', argument " "2"" of type '" "iEvent *""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (csEventError)(arg1)->SynthesizeCooked(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iKeyboardDriver) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iKeyboardDriver(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iKeyboardDriver" "', argument " "1"" of type '" "iKeyboardDriver *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    delete_iKeyboardDriver(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iKeyboardDriver_scfGetVersion();");
    }
    result = (int)iKeyboardDriver_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_GetKeyState__SWIG_1) {
  {
    iKeyboardDriver *arg1 = (iKeyboardDriver *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iKeyboardDriver_GetKeyState(self,key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iKeyboardDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iKeyboardDriver_GetKeyState" "', argument " "1"" of type '" "iKeyboardDriver *""'"); 
    }
    arg1 = reinterpret_cast< iKeyboardDriver * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iKeyboardDriver_GetKeyState" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)iKeyboardDriver_GetKeyState__SWIG_1(arg1,(char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iKeyboardDriver_GetKeyState) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iKeyboardDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iKeyboardDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iKeyboardDriver_GetKeyState__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iKeyboardDriver_GetKeyState__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iKeyboardDriver_GetKeyState'");
  XSRETURN(0);
}


XS(_wrap_iMouseDriver_SetDoubleClickTime) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    int arg2 ;
    size_t arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMouseDriver_SetDoubleClickTime(self,iTime,iDist);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_SetDoubleClickTime" "', argument " "1"" of type '" "iMouseDriver *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_SetDoubleClickTime" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMouseDriver_SetDoubleClickTime" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    (arg1)->SetDoubleClickTime(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_Reset) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMouseDriver_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_Reset" "', argument " "1"" of type '" "iMouseDriver *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLastX__SWIG_0) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    uint arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMouseDriver_GetLastX(self,number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_GetLastX" "', argument " "1"" of type '" "iMouseDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_GetLastX" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (int)((iMouseDriver const *)arg1)->GetLastX(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLastX__SWIG_1) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMouseDriver_GetLastX(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_GetLastX" "', argument " "1"" of type '" "iMouseDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    result = (int)((iMouseDriver const *)arg1)->GetLastX();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLastX) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_GetLastX__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_GetLastX__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMouseDriver_GetLastX'");
  XSRETURN(0);
}


XS(_wrap_iMouseDriver_GetLastY__SWIG_0) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    uint arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMouseDriver_GetLastY(self,number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_GetLastY" "', argument " "1"" of type '" "iMouseDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_GetLastY" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (int)((iMouseDriver const *)arg1)->GetLastY(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLastY__SWIG_1) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMouseDriver_GetLastY(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_GetLastY" "', argument " "1"" of type '" "iMouseDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    result = (int)((iMouseDriver const *)arg1)->GetLastY();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLastY) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_GetLastY__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_GetLastY__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMouseDriver_GetLastY'");
  XSRETURN(0);
}


XS(_wrap_iMouseDriver_GetLast__SWIG_0) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    uint arg2 ;
    uint arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMouseDriver_GetLast(self,n,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_GetLast" "', argument " "1"" of type '" "iMouseDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_GetLast" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMouseDriver_GetLast" "', argument " "3"" of type '" "uint""'");
    } 
    arg3 = static_cast< uint >(val3);
    result = (int)((iMouseDriver const *)arg1)->GetLast(arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLast__SWIG_1) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    uint arg2 ;
    int32 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMouseDriver_GetLast(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_GetLast" "', argument " "1"" of type '" "iMouseDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_GetLast" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (int32 *)((iMouseDriver const *)arg1)->GetLast(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int32_t, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLast) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_GetLast__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_GetLast__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMouseDriver_GetLast'");
  XSRETURN(0);
}


XS(_wrap_iMouseDriver_GetLastButton__SWIG_0) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    uint arg2 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMouseDriver_GetLastButton(self,number,button);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_GetLastButton" "', argument " "1"" of type '" "iMouseDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_GetLastButton" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMouseDriver_GetLastButton" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)((iMouseDriver const *)arg1)->GetLastButton(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLastButton__SWIG_1) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMouseDriver_GetLastButton(self,button);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_GetLastButton" "', argument " "1"" of type '" "iMouseDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_GetLastButton" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)((iMouseDriver const *)arg1)->GetLastButton(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_GetLastButton) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_GetLastButton__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_GetLastButton__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMouseDriver_GetLastButton'");
  XSRETURN(0);
}


XS(_wrap_iMouseDriver_DoButton__SWIG_0) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    uint arg2 ;
    int arg3 ;
    bool arg4 ;
    int32 *arg5 = (int32 *) 0 ;
    uint arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    unsigned int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iMouseDriver_DoButton(self,number,button,down,axes,numAxes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_DoButton" "', argument " "1"" of type '" "iMouseDriver *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_DoButton" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMouseDriver_DoButton" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iMouseDriver_DoButton" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iMouseDriver_DoButton" "', argument " "5"" of type '" "int32 const *""'"); 
    }
    arg5 = reinterpret_cast< int32 * >(argp5);
    ecode6 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iMouseDriver_DoButton" "', argument " "6"" of type '" "uint""'");
    } 
    arg6 = static_cast< uint >(val6);
    (arg1)->DoButton(arg2,arg3,arg4,(int32 const *)arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_DoButton__SWIG_1) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    int arg2 ;
    bool arg3 ;
    int arg4 ;
    int arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iMouseDriver_DoButton(self,button,down,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_DoButton" "', argument " "1"" of type '" "iMouseDriver *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_DoButton" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMouseDriver_DoButton" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iMouseDriver_DoButton" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iMouseDriver_DoButton" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->DoButton(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_DoButton) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_int32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_DoButton__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_DoButton__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMouseDriver_DoButton'");
  XSRETURN(0);
}


XS(_wrap_iMouseDriver_DoMotion__SWIG_0) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    uint arg2 ;
    int32 *arg3 = (int32 *) 0 ;
    uint arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iMouseDriver_DoMotion(self,number,axes,numAxes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_DoMotion" "', argument " "1"" of type '" "iMouseDriver *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_DoMotion" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMouseDriver_DoMotion" "', argument " "3"" of type '" "int32 const *""'"); 
    }
    arg3 = reinterpret_cast< int32 * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iMouseDriver_DoMotion" "', argument " "4"" of type '" "uint""'");
    } 
    arg4 = static_cast< uint >(val4);
    (arg1)->DoMotion(arg2,(int32 const *)arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_DoMotion__SWIG_1) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMouseDriver_DoMotion(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMouseDriver_DoMotion" "', argument " "1"" of type '" "iMouseDriver *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMouseDriver_DoMotion" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMouseDriver_DoMotion" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->DoMotion(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_DoMotion) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMouseDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int32_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_DoMotion__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMouseDriver_DoMotion__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMouseDriver_DoMotion'");
  XSRETURN(0);
}


XS(_wrap_delete_iMouseDriver) {
  {
    iMouseDriver *arg1 = (iMouseDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMouseDriver(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMouseDriver, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMouseDriver" "', argument " "1"" of type '" "iMouseDriver *""'"); 
    }
    arg1 = reinterpret_cast< iMouseDriver * >(argp1);
    delete_iMouseDriver(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMouseDriver_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMouseDriver_scfGetVersion();");
    }
    result = (int)iMouseDriver_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iJoystickDriver_Reset) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoystickDriver_Reset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoystickDriver_Reset" "', argument " "1"" of type '" "iJoystickDriver *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    (arg1)->Reset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoystickDriver_GetLastX) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    uint arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoystickDriver_GetLastX(self,number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoystickDriver_GetLastX" "', argument " "1"" of type '" "iJoystickDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoystickDriver_GetLastX" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (int)((iJoystickDriver const *)arg1)->GetLastX(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoystickDriver_GetLastY) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    uint arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoystickDriver_GetLastY(self,number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoystickDriver_GetLastY" "', argument " "1"" of type '" "iJoystickDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoystickDriver_GetLastY" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (int)((iJoystickDriver const *)arg1)->GetLastY(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoystickDriver_GetLast__SWIG_0) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    uint arg2 ;
    int32 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoystickDriver_GetLast(self,number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoystickDriver_GetLast" "', argument " "1"" of type '" "iJoystickDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoystickDriver_GetLast" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (int32 *)((iJoystickDriver const *)arg1)->GetLast(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int32_t, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoystickDriver_GetLast__SWIG_1) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    uint arg2 ;
    uint arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iJoystickDriver_GetLast(self,number,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoystickDriver_GetLast" "', argument " "1"" of type '" "iJoystickDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoystickDriver_GetLast" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iJoystickDriver_GetLast" "', argument " "3"" of type '" "uint""'");
    } 
    arg3 = static_cast< uint >(val3);
    result = (int)((iJoystickDriver const *)arg1)->GetLast(arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoystickDriver_GetLast) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iJoystickDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iJoystickDriver, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iJoystickDriver_GetLast__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iJoystickDriver_GetLast__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iJoystickDriver_GetLast'");
  XSRETURN(0);
}


XS(_wrap_iJoystickDriver_GetLastButton) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    uint arg2 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iJoystickDriver_GetLastButton(self,number,button);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoystickDriver_GetLastButton" "', argument " "1"" of type '" "iJoystickDriver const *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoystickDriver_GetLastButton" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iJoystickDriver_GetLastButton" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)((iJoystickDriver const *)arg1)->GetLastButton(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoystickDriver_DoButton) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    uint arg2 ;
    int arg3 ;
    bool arg4 ;
    int32 *arg5 = (int32 *) 0 ;
    uint arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    unsigned int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iJoystickDriver_DoButton(self,number,button,down,axes,numAxes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoystickDriver_DoButton" "', argument " "1"" of type '" "iJoystickDriver *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoystickDriver_DoButton" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iJoystickDriver_DoButton" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iJoystickDriver_DoButton" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iJoystickDriver_DoButton" "', argument " "5"" of type '" "int32 const *""'"); 
    }
    arg5 = reinterpret_cast< int32 * >(argp5);
    ecode6 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iJoystickDriver_DoButton" "', argument " "6"" of type '" "uint""'");
    } 
    arg6 = static_cast< uint >(val6);
    (arg1)->DoButton(arg2,arg3,arg4,(int32 const *)arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoystickDriver_DoMotion) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    uint arg2 ;
    int32 *arg3 = (int32 *) 0 ;
    uint arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iJoystickDriver_DoMotion(self,number,axes,nunmAxes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoystickDriver_DoMotion" "', argument " "1"" of type '" "iJoystickDriver *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoystickDriver_DoMotion" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_int32_t, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iJoystickDriver_DoMotion" "', argument " "3"" of type '" "int32 const *""'"); 
    }
    arg3 = reinterpret_cast< int32 * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iJoystickDriver_DoMotion" "', argument " "4"" of type '" "uint""'");
    } 
    arg4 = static_cast< uint >(val4);
    (arg1)->DoMotion(arg2,(int32 const *)arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iJoystickDriver) {
  {
    iJoystickDriver *arg1 = (iJoystickDriver *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iJoystickDriver(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoystickDriver, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iJoystickDriver" "', argument " "1"" of type '" "iJoystickDriver *""'"); 
    }
    arg1 = reinterpret_cast< iJoystickDriver * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetFileName) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigFile_GetFileName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetFileName" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    result = (char *)((iConfigFile const *)arg1)->GetFileName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetVFS) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    iVFS *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigFile_GetVFS(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetVFS" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    result = (iVFS *)((iConfigFile const *)arg1)->GetVFS();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iVFS, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SetFileName) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    iVFS *arg3 = (iVFS *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_SetFileName(self,char const *,iVFS *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SetFileName" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SetFileName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_SetFileName" "', argument " "3"" of type '" "iVFS *""'"); 
    }
    arg3 = reinterpret_cast< iVFS * >(argp3);
    (arg1)->SetFileName((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Load__SWIG_0) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    iVFS *arg3 = (iVFS *) 0 ;
    bool arg4 ;
    bool arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iConfigFile_Load(self,iFileName,iVFS *,Merge,NewWins);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Load" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_Load" "', argument " "3"" of type '" "iVFS *""'"); 
    }
    arg3 = reinterpret_cast< iVFS * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iConfigFile_Load" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iConfigFile_Load" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (bool)(arg1)->Load((char const *)arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Load__SWIG_1) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    iVFS *arg3 = (iVFS *) 0 ;
    bool arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iConfigFile_Load(self,iFileName,iVFS *,Merge);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Load" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_Load" "', argument " "3"" of type '" "iVFS *""'"); 
    }
    arg3 = reinterpret_cast< iVFS * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iConfigFile_Load" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    result = (bool)(arg1)->Load((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Load__SWIG_2) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    iVFS *arg3 = (iVFS *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_Load(self,iFileName,iVFS *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Load" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_Load" "', argument " "3"" of type '" "iVFS *""'"); 
    }
    arg3 = reinterpret_cast< iVFS * >(argp3);
    result = (bool)(arg1)->Load((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Load__SWIG_3) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_Load(self,iFileName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Load" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_Load" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Load((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Load) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Load__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Load__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Load__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Load__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigFile_Load'");
  XSRETURN(0);
}


XS(_wrap_iConfigFile_Save__SWIG_0) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigFile_Save(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Save" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    result = (bool)(arg1)->Save();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Save__SWIG_1) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    iVFS *arg3 = (iVFS *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_Save(self,iFileName,iVFS *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Save" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_Save" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_Save" "', argument " "3"" of type '" "iVFS *""'"); 
    }
    arg3 = reinterpret_cast< iVFS * >(argp3);
    result = (bool)(arg1)->Save((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Save__SWIG_2) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_Save(self,iFileName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Save" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_Save" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Save((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Save) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Save__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Save__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Save__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigFile_Save'");
  XSRETURN(0);
}


XS(_wrap_iConfigFile_Clear) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigFile_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Clear" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Enumerate__SWIG_0) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iConfigIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_Enumerate(self,Subsection);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Enumerate" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_Enumerate" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->Enumerate((char const *)arg2);
    {
      csRef<iConfigIterator> rf ((csPtr<iConfigIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iConfigIterator*)rf, SWIG_TypeQuery("cspace::""iConfigIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Enumerate__SWIG_1) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    SwigValueWrapper<csPtr<iConfigIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigFile_Enumerate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_Enumerate" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    result = (arg1)->Enumerate();
    {
      csRef<iConfigIterator> rf ((csPtr<iConfigIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iConfigIterator*)rf, SWIG_TypeQuery("cspace::""iConfigIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_Enumerate) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Enumerate__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_Enumerate__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigFile_Enumerate'");
  XSRETURN(0);
}


XS(_wrap_iConfigFile_KeyExists) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_KeyExists(self,Key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_KeyExists" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_KeyExists" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)((iConfigFile const *)arg1)->KeyExists((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SubsectionExists) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_SubsectionExists(self,Subsection);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SubsectionExists" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SubsectionExists" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)((iConfigFile const *)arg1)->SubsectionExists((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetInt__SWIG_0) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_GetInt(self,Key,Def);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetInt" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetInt" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigFile_GetInt" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (int)((iConfigFile const *)arg1)->GetInt((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetInt__SWIG_1) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_GetInt(self,Key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetInt" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetInt" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)((iConfigFile const *)arg1)->GetInt((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetInt) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_GetInt__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_GetInt__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigFile_GetInt'");
  XSRETURN(0);
}


XS(_wrap_iConfigFile_GetFloat__SWIG_0) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_GetFloat(self,Key,Def);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetFloat" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigFile_GetFloat" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (float)((iConfigFile const *)arg1)->GetFloat((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetFloat__SWIG_1) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_GetFloat(self,Key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetFloat" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (float)((iConfigFile const *)arg1)->GetFloat((char const *)arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetFloat) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_GetFloat__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_GetFloat__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigFile_GetFloat'");
  XSRETURN(0);
}


XS(_wrap_iConfigFile_GetStr__SWIG_0) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_GetStr(self,Key,Def);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetStr" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetStr" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_GetStr" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (char *)((iConfigFile const *)arg1)->GetStr((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetStr__SWIG_1) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_GetStr(self,Key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetStr" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetStr" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (char *)((iConfigFile const *)arg1)->GetStr((char const *)arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetStr) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_GetStr__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_GetStr__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigFile_GetStr'");
  XSRETURN(0);
}


XS(_wrap_iConfigFile_GetBool__SWIG_0) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_GetBool(self,Key,Def);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetBool" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetBool" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigFile_GetBool" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)((iConfigFile const *)arg1)->GetBool((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetBool__SWIG_1) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_GetBool(self,Key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetBool" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetBool" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)((iConfigFile const *)arg1)->GetBool((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetBool) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_GetBool__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigFile_GetBool__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigFile_GetBool'");
  XSRETURN(0);
}


XS(_wrap_iConfigFile_GetTuple) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iStringArray > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_GetTuple(self,Key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetTuple" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetTuple" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = ((iConfigFile const *)arg1)->GetTuple((char const *)arg2);
    {
      csRef<iStringArray> rf ((csPtr<iStringArray>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iStringArray*)rf, SWIG_TypeQuery("cspace::""iStringArray"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetComment) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_GetComment(self,Key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetComment" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_GetComment" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (char *)((iConfigFile const *)arg1)->GetComment((char const *)arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SetStr) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_SetStr(self,Key,Val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SetStr" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SetStr" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_SetStr" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->SetStr((char const *)arg2,(char const *)arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SetInt) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_SetInt(self,Key,Value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SetInt" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SetInt" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigFile_SetInt" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetInt((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SetFloat) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_SetFloat(self,Key,Value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SetFloat" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SetFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigFile_SetFloat" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetFloat((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SetBool) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_SetBool(self,Key,Value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SetBool" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SetBool" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigFile_SetBool" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->SetBool((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SetTuple) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    iStringArray *arg3 = (iStringArray *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_SetTuple(self,Key,Value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SetTuple" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SetTuple" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_SetTuple" "', argument " "3"" of type '" "iStringArray *""'"); 
    }
    arg3 = reinterpret_cast< iStringArray * >(argp3);
    (arg1)->SetTuple((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SetComment) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigFile_SetComment(self,Key,Text);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SetComment" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SetComment" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigFile_SetComment" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->SetComment((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_DeleteKey) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_DeleteKey(self,Key);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_DeleteKey" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_DeleteKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->DeleteKey((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_GetEOFComment) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigFile_GetEOFComment(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_GetEOFComment" "', argument " "1"" of type '" "iConfigFile const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    result = (char *)((iConfigFile const *)arg1)->GetEOFComment();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_SetEOFComment) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigFile_SetEOFComment(self,Text);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigFile_SetEOFComment" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigFile_SetEOFComment" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetEOFComment((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iConfigFile) {
  {
    iConfigFile *arg1 = (iConfigFile *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iConfigFile(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigFile, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iConfigFile" "', argument " "1"" of type '" "iConfigFile *""'"); 
    }
    arg1 = reinterpret_cast< iConfigFile * >(argp1);
    delete_iConfigFile(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigFile_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iConfigFile_scfGetVersion();");
    }
    result = (int)iConfigFile_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetConfigFile) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    iConfigFile *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetConfigFile(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetConfigFile" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (iConfigFile *)((iConfigIterator const *)arg1)->GetConfigFile();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iConfigFile, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetSubsection) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetSubsection(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetSubsection" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (char *)((iConfigIterator const *)arg1)->GetSubsection();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_Rewind) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_Rewind(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_Rewind" "', argument " "1"" of type '" "iConfigIterator *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    (arg1)->Rewind();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_Next) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_Next" "', argument " "1"" of type '" "iConfigIterator *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (bool)(arg1)->Next();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_HasNext) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_HasNext" "', argument " "1"" of type '" "iConfigIterator *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (bool)(arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetKey__SWIG_0) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    bool arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigIterator_GetKey(self,Local);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetKey" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConfigIterator_GetKey" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    result = (char *)((iConfigIterator const *)arg1)->GetKey(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetKey__SWIG_1) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetKey(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetKey" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (char *)((iConfigIterator const *)arg1)->GetKey();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetKey) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigIterator, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigIterator, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigIterator_GetKey__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigIterator_GetKey__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigIterator_GetKey'");
  XSRETURN(0);
}


XS(_wrap_iConfigIterator_GetInt) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetInt(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetInt" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (int)((iConfigIterator const *)arg1)->GetInt();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetFloat) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetFloat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetFloat" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (float)((iConfigIterator const *)arg1)->GetFloat();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetStr) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetStr(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetStr" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (char *)((iConfigIterator const *)arg1)->GetStr();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetBool) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetBool(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetBool" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (bool)((iConfigIterator const *)arg1)->GetBool();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetTuple) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    SwigValueWrapper<csPtr<iStringArray > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetTuple(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetTuple" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = ((iConfigIterator const *)arg1)->GetTuple();
    {
      csRef<iStringArray> rf ((csPtr<iStringArray>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iStringArray*)rf, SWIG_TypeQuery("cspace::""iStringArray"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_GetComment) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigIterator_GetComment(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigIterator_GetComment" "', argument " "1"" of type '" "iConfigIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    result = (char *)((iConfigIterator const *)arg1)->GetComment();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iConfigIterator) {
  {
    iConfigIterator *arg1 = (iConfigIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iConfigIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iConfigIterator" "', argument " "1"" of type '" "iConfigIterator *""'"); 
    }
    arg1 = reinterpret_cast< iConfigIterator * >(argp1);
    delete_iConfigIterator(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigIterator_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iConfigIterator_scfGetVersion();");
    }
    result = (int)iConfigIterator_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_AddDomain__SWIG_0) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    iConfigFile *arg2 = (iConfigFile *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigManager_AddDomain(self,iConfigFile *,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_AddDomain" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_AddDomain" "', argument " "2"" of type '" "iConfigFile *""'"); 
    }
    arg2 = reinterpret_cast< iConfigFile * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigManager_AddDomain" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->AddDomain(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_AddDomain__SWIG_1) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iVFS *arg3 = (iVFS *) 0 ;
    int arg4 ;
    iConfigFile *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iConfigManager_AddDomain(self,path,iVFS *,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_AddDomain" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_AddDomain" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iConfigManager_AddDomain" "', argument " "3"" of type '" "iVFS *""'"); 
    }
    arg3 = reinterpret_cast< iVFS * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iConfigManager_AddDomain" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (iConfigFile *)(arg1)->AddDomain((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iConfigFile, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_AddDomain) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigManager_AddDomain__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigManager_AddDomain__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigManager_AddDomain'");
  XSRETURN(0);
}


XS(_wrap_iConfigManager_RemoveDomain__SWIG_0) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    iConfigFile *arg2 = (iConfigFile *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigManager_RemoveDomain(self,iConfigFile *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_RemoveDomain" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_RemoveDomain" "', argument " "2"" of type '" "iConfigFile *""'"); 
    }
    arg2 = reinterpret_cast< iConfigFile * >(argp2);
    (arg1)->RemoveDomain(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_RemoveDomain__SWIG_1) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigManager_RemoveDomain(self,path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_RemoveDomain" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_RemoveDomain" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->RemoveDomain((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_RemoveDomain) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigManager_RemoveDomain__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigManager_RemoveDomain__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigManager_RemoveDomain'");
  XSRETURN(0);
}


XS(_wrap_iConfigManager_LookupDomain) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iConfigFile *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigManager_LookupDomain(self,path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_LookupDomain" "', argument " "1"" of type '" "iConfigManager const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_LookupDomain" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iConfigFile *)((iConfigManager const *)arg1)->LookupDomain((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iConfigFile, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_SetDomainPriority__SWIG_0) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigManager_SetDomainPriority(self,path,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_SetDomainPriority" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_SetDomainPriority" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigManager_SetDomainPriority" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetDomainPriority((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_SetDomainPriority__SWIG_1) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    iConfigFile *arg2 = (iConfigFile *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConfigManager_SetDomainPriority(self,iConfigFile *,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_SetDomainPriority" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_SetDomainPriority" "', argument " "2"" of type '" "iConfigFile *""'"); 
    }
    arg2 = reinterpret_cast< iConfigFile * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConfigManager_SetDomainPriority" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetDomainPriority(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_SetDomainPriority) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigManager_SetDomainPriority__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigManager_SetDomainPriority__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigManager_SetDomainPriority'");
  XSRETURN(0);
}


XS(_wrap_iConfigManager_GetDomainPriority__SWIG_0) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigManager_GetDomainPriority(self,path);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_GetDomainPriority" "', argument " "1"" of type '" "iConfigManager const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_GetDomainPriority" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)((iConfigManager const *)arg1)->GetDomainPriority((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_GetDomainPriority__SWIG_1) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    iConfigFile *arg2 = (iConfigFile *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigManager_GetDomainPriority(self,iConfigFile *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_GetDomainPriority" "', argument " "1"" of type '" "iConfigManager const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_GetDomainPriority" "', argument " "2"" of type '" "iConfigFile *""'"); 
    }
    arg2 = reinterpret_cast< iConfigFile * >(argp2);
    result = (int)((iConfigManager const *)arg1)->GetDomainPriority(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_GetDomainPriority) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iConfigFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConfigManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigManager_GetDomainPriority__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConfigManager_GetDomainPriority__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConfigManager_GetDomainPriority'");
  XSRETURN(0);
}


XS(_wrap_iConfigManager_SetDynamicDomain) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    iConfigFile *arg2 = (iConfigFile *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigManager_SetDynamicDomain(self,iConfigFile *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_SetDynamicDomain" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConfigFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConfigManager_SetDynamicDomain" "', argument " "2"" of type '" "iConfigFile *""'"); 
    }
    arg2 = reinterpret_cast< iConfigFile * >(argp2);
    result = (bool)(arg1)->SetDynamicDomain(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_GetDynamicDomain) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    iConfigFile *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigManager_GetDynamicDomain(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_GetDynamicDomain" "', argument " "1"" of type '" "iConfigManager const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    result = (iConfigFile *)((iConfigManager const *)arg1)->GetDynamicDomain();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iConfigFile, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_SetDynamicDomainPriority) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConfigManager_SetDynamicDomainPriority(self,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_SetDynamicDomainPriority" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConfigManager_SetDynamicDomainPriority" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetDynamicDomainPriority(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_GetDynamicDomainPriority) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigManager_GetDynamicDomainPriority(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_GetDynamicDomainPriority" "', argument " "1"" of type '" "iConfigManager const *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    result = (int)((iConfigManager const *)arg1)->GetDynamicDomainPriority();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_FlushRemoved) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConfigManager_FlushRemoved(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConfigManager_FlushRemoved" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    (arg1)->FlushRemoved();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iConfigManager) {
  {
    iConfigManager *arg1 = (iConfigManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iConfigManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConfigManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iConfigManager" "', argument " "1"" of type '" "iConfigManager *""'"); 
    }
    arg1 = reinterpret_cast< iConfigManager * >(argp1);
    delete_iConfigManager(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConfigManager_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iConfigManager_scfGetVersion();");
    }
    result = (int)iConfigManager_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_GetSize) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringArray_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_GetSize" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    result = ((iStringArray const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Length) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringArray_Length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Length" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    result = ((iStringArray const *)arg1)->Length();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Push) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringArray_Push(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Push" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringArray_Push" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->Push((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Pop) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringArray_Pop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Pop" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    result = (char *)(arg1)->Pop();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Get) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    size_t arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringArray_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Get" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStringArray_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (char *)((iStringArray const *)arg1)->Get(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Find) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringArray_Find(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Find" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringArray_Find" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = ((iStringArray const *)arg1)->Find((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_FindCaseInsensitive) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringArray_FindCaseInsensitive(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_FindCaseInsensitive" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringArray_FindCaseInsensitive" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = ((iStringArray const *)arg1)->FindCaseInsensitive((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_FindSortedKey) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringArray_FindSortedKey(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_FindSortedKey" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringArray_FindSortedKey" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = ((iStringArray const *)arg1)->FindSortedKey((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Contains__SWIG_0) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iStringArray_Contains(self,str,case_sensitive);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Contains" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringArray_Contains" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iStringArray_Contains" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = ((iStringArray const *)arg1)->Contains((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Contains__SWIG_1) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringArray_Contains(self,str);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Contains" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStringArray_Contains" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = ((iStringArray const *)arg1)->Contains((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Contains) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringArray, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringArray, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringArray_Contains__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringArray_Contains__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iStringArray_Contains'");
  XSRETURN(0);
}


XS(_wrap_iStringArray_Sort__SWIG_0) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringArray_Sort(self,case_sensitive);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Sort" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStringArray_Sort" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->Sort(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Sort__SWIG_1) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringArray_Sort(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Sort" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    (arg1)->Sort();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Sort) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringArray, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStringArray, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringArray_Sort__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStringArray_Sort__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iStringArray_Sort'");
  XSRETURN(0);
}


XS(_wrap_iStringArray_DeleteIndex) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStringArray_DeleteIndex(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_DeleteIndex" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStringArray_DeleteIndex" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndex(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Insert) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    size_t arg2 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iStringArray_Insert(self,n,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Insert" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStringArray_Insert" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iStringArray_Insert" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->Insert(arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_Empty) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringArray_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_Empty" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_DeleteAll) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringArray_DeleteAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_DeleteAll" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    (arg1)->DeleteAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_IsEmpty) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStringArray_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStringArray_IsEmpty" "', argument " "1"" of type '" "iStringArray const *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    result = (bool)((iStringArray const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iStringArray) {
  {
    iStringArray *arg1 = (iStringArray *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iStringArray(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStringArray, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iStringArray" "', argument " "1"" of type '" "iStringArray *""'"); 
    }
    arg1 = reinterpret_cast< iStringArray * >(argp1);
    delete_iStringArray(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStringArray_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iStringArray_scfGetVersion();");
    }
    result = (int)iStringArray_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttributeIterator_HasNext) {
  {
    iDocumentAttributeIterator *arg1 = (iDocumentAttributeIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentAttributeIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttributeIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttributeIterator_HasNext" "', argument " "1"" of type '" "iDocumentAttributeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttributeIterator * >(argp1);
    result = (bool)(arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttributeIterator_Next) {
  {
    iDocumentAttributeIterator *arg1 = (iDocumentAttributeIterator *) 0 ;
    SwigValueWrapper<csRef<iDocumentAttribute > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentAttributeIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttributeIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttributeIterator_Next" "', argument " "1"" of type '" "iDocumentAttributeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttributeIterator * >(argp1);
    result = (arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentAttribute >(static_cast< const csRef<iDocumentAttribute >& >(result))), SWIGTYPE_p_csRefTiDocumentAttribute_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDocumentAttributeIterator) {
  {
    iDocumentAttributeIterator *arg1 = (iDocumentAttributeIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDocumentAttributeIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttributeIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDocumentAttributeIterator" "', argument " "1"" of type '" "iDocumentAttributeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttributeIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_GetName) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentAttribute_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_GetName" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    result = (char *)(arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_GetValue) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentAttribute_GetValue(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_GetValue" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    result = (char *)(arg1)->GetValue();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_GetValueAsInt) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentAttribute_GetValueAsInt(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_GetValueAsInt" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    result = (int)(arg1)->GetValueAsInt();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_GetValueAsFloat) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentAttribute_GetValueAsFloat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_GetValueAsFloat" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    result = (float)(arg1)->GetValueAsFloat();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_GetValueAsBool) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentAttribute_GetValueAsBool(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_GetValueAsBool" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    result = (bool)(arg1)->GetValueAsBool();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_SetName) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentAttribute_SetName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_SetName" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentAttribute_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_SetValue) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentAttribute_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_SetValue" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentAttribute_SetValue" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetValue((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_SetValueAsInt) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentAttribute_SetValueAsInt(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_SetValueAsInt" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDocumentAttribute_SetValueAsInt" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetValueAsInt(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentAttribute_SetValueAsFloat) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentAttribute_SetValueAsFloat(self,f);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentAttribute_SetValueAsFloat" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDocumentAttribute_SetValueAsFloat" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetValueAsFloat(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDocumentAttribute) {
  {
    iDocumentAttribute *arg1 = (iDocumentAttribute *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDocumentAttribute(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentAttribute, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDocumentAttribute" "', argument " "1"" of type '" "iDocumentAttribute *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentAttribute * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNodeIterator_HasNext) {
  {
    iDocumentNodeIterator *arg1 = (iDocumentNodeIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNodeIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNodeIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNodeIterator_HasNext" "', argument " "1"" of type '" "iDocumentNodeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNodeIterator * >(argp1);
    result = (bool)(arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNodeIterator_Next) {
  {
    iDocumentNodeIterator *arg1 = (iDocumentNodeIterator *) 0 ;
    SwigValueWrapper<csRef<iDocumentNode > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNodeIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNodeIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNodeIterator_Next" "', argument " "1"" of type '" "iDocumentNodeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNodeIterator * >(argp1);
    result = (arg1)->Next();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNode >(static_cast< const csRef<iDocumentNode >& >(result))), SWIGTYPE_p_csRefTiDocumentNode_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDocumentNodeIterator) {
  {
    iDocumentNodeIterator *arg1 = (iDocumentNodeIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDocumentNodeIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNodeIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDocumentNodeIterator" "', argument " "1"" of type '" "iDocumentNodeIterator *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNodeIterator * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetType) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    csDocumentNodeType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_GetType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetType" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    result = (csDocumentNodeType)(arg1)->GetType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_Equals) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_Equals(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_Equals" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_Equals" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (bool)(arg1)->Equals(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetValue) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_GetValue(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetValue" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    result = (char *)(arg1)->GetValue();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_SetValue) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_SetValue(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_SetValue" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_SetValue" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetValue((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_SetValueAsInt) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_SetValueAsInt(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_SetValueAsInt" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDocumentNode_SetValueAsInt" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetValueAsInt(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_SetValueAsFloat) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_SetValueAsFloat(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_SetValueAsFloat" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDocumentNode_SetValueAsFloat" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetValueAsFloat(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetParent) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    SwigValueWrapper<csRef<iDocumentNode > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_GetParent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetParent" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    result = (arg1)->GetParent();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNode >(static_cast< const csRef<iDocumentNode >& >(result))), SWIGTYPE_p_csRefTiDocumentNode_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetNodes__SWIG_0) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    SwigValueWrapper<csRef<iDocumentNodeIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_GetNodes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetNodes" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    result = (arg1)->GetNodes();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNodeIterator >(static_cast< const csRef<iDocumentNodeIterator >& >(result))), SWIGTYPE_p_csRefTiDocumentNodeIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetNodes__SWIG_1) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csRef<iDocumentNodeIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_GetNodes(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetNodes" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_GetNodes" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->GetNodes((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNodeIterator >(static_cast< const csRef<iDocumentNodeIterator >& >(result))), SWIGTYPE_p_csRefTiDocumentNodeIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetNodes) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocumentNode_GetNodes__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocumentNode_GetNodes__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iDocumentNode_GetNodes'");
  XSRETURN(0);
}


XS(_wrap_iDocumentNode_GetNode) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csRef<iDocumentNode > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_GetNode(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetNode" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_GetNode" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->GetNode((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNode >(static_cast< const csRef<iDocumentNode >& >(result))), SWIGTYPE_p_csRefTiDocumentNode_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_RemoveNode) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    csRef<iDocumentNode > *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_RemoveNode(self,child);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_RemoveNode" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiDocumentNode_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_RemoveNode" "', argument " "2"" of type '" "csRef<iDocumentNode > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDocumentNode_RemoveNode" "', argument " "2"" of type '" "csRef<iDocumentNode > const &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iDocumentNode > * >(argp2);
    (arg1)->RemoveNode((csRef<iDocumentNode > const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_RemoveNodes__SWIG_0) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    SwigValueWrapper<csRef<iDocumentNodeIterator > > arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_RemoveNodes(self,children);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_RemoveNodes" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiDocumentNodeIterator_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_RemoveNodes" "', argument " "2"" of type '" "csRef<iDocumentNodeIterator >""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDocumentNode_RemoveNodes" "', argument " "2"" of type '" "csRef<iDocumentNodeIterator >""'");
      } else {
        arg2 = *(reinterpret_cast< csRef<iDocumentNodeIterator > * >(argp2));
      }
    }
    (arg1)->RemoveNodes(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_RemoveNodes__SWIG_1) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_RemoveNodes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_RemoveNodes" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    (arg1)->RemoveNodes();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_RemoveNodes) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRefTiDocumentNodeIterator_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocumentNode_RemoveNodes__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocumentNode_RemoveNodes__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDocumentNode_RemoveNodes'");
  XSRETURN(0);
}


XS(_wrap_iDocumentNode_CreateNodeBefore__SWIG_0) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    csDocumentNodeType arg2 ;
    iDocumentNode *arg3 = (iDocumentNode *) 0 ;
    SwigValueWrapper<csRef<iDocumentNode > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocumentNode_CreateNodeBefore(self,type,before);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_CreateNodeBefore" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDocumentNode_CreateNodeBefore" "', argument " "2"" of type '" "csDocumentNodeType""'");
    } 
    arg2 = static_cast< csDocumentNodeType >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDocumentNode_CreateNodeBefore" "', argument " "3"" of type '" "iDocumentNode *""'"); 
    }
    arg3 = reinterpret_cast< iDocumentNode * >(argp3);
    result = (arg1)->CreateNodeBefore(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNode >(static_cast< const csRef<iDocumentNode >& >(result))), SWIGTYPE_p_csRefTiDocumentNode_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_CreateNodeBefore__SWIG_1) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    csDocumentNodeType arg2 ;
    SwigValueWrapper<csRef<iDocumentNode > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_CreateNodeBefore(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_CreateNodeBefore" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDocumentNode_CreateNodeBefore" "', argument " "2"" of type '" "csDocumentNodeType""'");
    } 
    arg2 = static_cast< csDocumentNodeType >(val2);
    result = (arg1)->CreateNodeBefore(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNode >(static_cast< const csRef<iDocumentNode >& >(result))), SWIGTYPE_p_csRefTiDocumentNode_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_CreateNodeBefore) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocumentNode_CreateNodeBefore__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocumentNode_CreateNodeBefore__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDocumentNode_CreateNodeBefore'");
  XSRETURN(0);
}


XS(_wrap_iDocumentNode_GetContentsValue) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_GetContentsValue(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetContentsValue" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    result = (char *)(arg1)->GetContentsValue();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetContentsValueAsInt) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_GetContentsValueAsInt(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetContentsValueAsInt" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    result = (int)(arg1)->GetContentsValueAsInt();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetContentsValueAsFloat) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_GetContentsValueAsFloat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetContentsValueAsFloat" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    result = (float)(arg1)->GetContentsValueAsFloat();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetAttributes) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    SwigValueWrapper<csRef<iDocumentAttributeIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_GetAttributes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetAttributes" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    result = (arg1)->GetAttributes();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentAttributeIterator >(static_cast< const csRef<iDocumentAttributeIterator >& >(result))), SWIGTYPE_p_csRefTiDocumentAttributeIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetAttribute) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csRef<iDocumentAttribute > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_GetAttribute(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetAttribute" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_GetAttribute" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->GetAttribute((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentAttribute >(static_cast< const csRef<iDocumentAttribute >& >(result))), SWIGTYPE_p_csRefTiDocumentAttribute_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetAttributeValue) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_GetAttributeValue(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetAttributeValue" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_GetAttributeValue" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (char *)(arg1)->GetAttributeValue((char const *)arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetAttributeValueAsInt) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_GetAttributeValueAsInt(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetAttributeValueAsInt" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_GetAttributeValueAsInt" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (int)(arg1)->GetAttributeValueAsInt((char const *)arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetAttributeValueAsFloat) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_GetAttributeValueAsFloat(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetAttributeValueAsFloat" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_GetAttributeValueAsFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (float)(arg1)->GetAttributeValueAsFloat((char const *)arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetAttributeValueAsBool__SWIG_0) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocumentNode_GetAttributeValueAsBool(self,name,defaultvalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetAttributeValueAsBool" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_GetAttributeValueAsBool" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDocumentNode_GetAttributeValueAsBool" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->GetAttributeValueAsBool((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetAttributeValueAsBool__SWIG_1) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_GetAttributeValueAsBool(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_GetAttributeValueAsBool" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_GetAttributeValueAsBool" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->GetAttributeValueAsBool((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_GetAttributeValueAsBool) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocumentNode_GetAttributeValueAsBool__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocumentNode_GetAttributeValueAsBool__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDocumentNode_GetAttributeValueAsBool'");
  XSRETURN(0);
}


XS(_wrap_iDocumentNode_RemoveAttribute) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    csRef<iDocumentAttribute > *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocumentNode_RemoveAttribute(self,attr);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_RemoveAttribute" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiDocumentAttribute_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_RemoveAttribute" "', argument " "2"" of type '" "csRef<iDocumentAttribute > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDocumentNode_RemoveAttribute" "', argument " "2"" of type '" "csRef<iDocumentAttribute > const &""'"); 
    }
    arg2 = reinterpret_cast< csRef<iDocumentAttribute > * >(argp2);
    (arg1)->RemoveAttribute((csRef<iDocumentAttribute > const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_RemoveAttributes) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentNode_RemoveAttributes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_RemoveAttributes" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    (arg1)->RemoveAttributes();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_SetAttribute) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocumentNode_SetAttribute(self,name,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_SetAttribute" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_SetAttribute" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDocumentNode_SetAttribute" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    (arg1)->SetAttribute((char const *)arg2,(char const *)arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_SetAttributeAsInt) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocumentNode_SetAttributeAsInt(self,name,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_SetAttributeAsInt" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_SetAttributeAsInt" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDocumentNode_SetAttributeAsInt" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetAttributeAsInt((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentNode_SetAttributeAsFloat) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocumentNode_SetAttributeAsFloat(self,name,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentNode_SetAttributeAsFloat" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocumentNode_SetAttributeAsFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDocumentNode_SetAttributeAsFloat" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetAttributeAsFloat((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDocumentNode) {
  {
    iDocumentNode *arg1 = (iDocumentNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDocumentNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentNode, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDocumentNode" "', argument " "1"" of type '" "iDocumentNode *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentNode * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Clear) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocument_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Clear" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_CreateRoot) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    SwigValueWrapper<csRef<iDocumentNode > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocument_CreateRoot(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_CreateRoot" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    result = (arg1)->CreateRoot();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNode >(static_cast< const csRef<iDocumentNode >& >(result))), SWIGTYPE_p_csRefTiDocumentNode_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_GetRoot) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    SwigValueWrapper<csRef<iDocumentNode > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocument_GetRoot(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_GetRoot" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    result = (arg1)->GetRoot();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDocumentNode >(static_cast< const csRef<iDocumentNode >& >(result))), SWIGTYPE_p_csRefTiDocumentNode_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse__SWIG_0) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iFile *arg2 = (iFile *) 0 ;
    bool arg3 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocument_Parse(self,file,collapse);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Parse" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Parse" "', argument " "2"" of type '" "iFile *""'"); 
    }
    arg2 = reinterpret_cast< iFile * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDocument_Parse" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (char *)(arg1)->Parse(arg2,arg3);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse__SWIG_1) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iFile *arg2 = (iFile *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocument_Parse(self,file);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Parse" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Parse" "', argument " "2"" of type '" "iFile *""'"); 
    }
    arg2 = reinterpret_cast< iFile * >(argp2);
    result = (char *)(arg1)->Parse(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse__SWIG_2) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    bool arg3 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocument_Parse(self,buf,collapse);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Parse" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Parse" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDocument_Parse" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (char *)(arg1)->Parse(arg2,arg3);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse__SWIG_3) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocument_Parse(self,buf);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Parse" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Parse" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    result = (char *)(arg1)->Parse(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse__SWIG_4) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iString *arg2 = (iString *) 0 ;
    bool arg3 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocument_Parse(self,str,collapse);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Parse" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Parse" "', argument " "2"" of type '" "iString *""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDocument_Parse" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (char *)(arg1)->Parse(arg2,arg3);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse__SWIG_5) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iString *arg2 = (iString *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocument_Parse(self,str);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Parse" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Parse" "', argument " "2"" of type '" "iString *""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    result = (char *)(arg1)->Parse(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse__SWIG_6) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocument_Parse(self,buf,collapse);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Parse" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Parse" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDocument_Parse" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (char *)(arg1)->Parse((char const *)arg2,arg3);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse__SWIG_7) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    char *arg2 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocument_Parse(self,buf);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Parse" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Parse" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (char *)(arg1)->Parse((char const *)arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Parse) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDataBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Parse__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Parse__SWIG_3); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Parse__SWIG_5); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Parse__SWIG_7); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Parse__SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Parse__SWIG_2); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Parse__SWIG_0); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Parse__SWIG_6); return;
    }
  }
  
  croak("No matching function for overloaded 'iDocument_Parse'");
  XSRETURN(0);
}


XS(_wrap_iDocument_Write__SWIG_0) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iFile *arg2 = (iFile *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocument_Write(self,file);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Write" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFile, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Write" "', argument " "2"" of type '" "iFile *""'"); 
    }
    arg2 = reinterpret_cast< iFile * >(argp2);
    result = (char *)(arg1)->Write(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Write__SWIG_1) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iString *arg2 = (iString *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDocument_Write(self,str);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Write" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iString, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Write" "', argument " "2"" of type '" "iString *""'"); 
    }
    arg2 = reinterpret_cast< iString * >(argp2);
    result = (char *)(arg1)->Write(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Write__SWIG_2) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    iVFS *arg2 = (iVFS *) 0 ;
    char *arg3 = (char *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDocument_Write(self,vfs,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Write" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iVFS, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDocument_Write" "', argument " "2"" of type '" "iVFS *""'"); 
    }
    arg2 = reinterpret_cast< iVFS * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDocument_Write" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (char *)(arg1)->Write(arg2,(char const *)arg3);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_Write) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iFile, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iString, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDocument, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iVFS, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Write__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Write__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDocument_Write__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iDocument_Write'");
  XSRETURN(0);
}


XS(_wrap_iDocument_Changeable) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocument_Changeable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocument_Changeable" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    result = (int)(arg1)->Changeable();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDocument) {
  {
    iDocument *arg1 = (iDocument *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDocument(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocument, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDocument" "', argument " "1"" of type '" "iDocument *""'"); 
    }
    arg1 = reinterpret_cast< iDocument * >(argp1);
    delete_iDocument(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocument_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iDocument_scfGetVersion();");
    }
    result = (int)iDocument_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentSystem_CreateDocument) {
  {
    iDocumentSystem *arg1 = (iDocumentSystem *) 0 ;
    SwigValueWrapper<csRef<iDocument > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDocumentSystem_CreateDocument(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDocumentSystem_CreateDocument" "', argument " "1"" of type '" "iDocumentSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentSystem * >(argp1);
    result = (arg1)->CreateDocument();
    {
      csRef<iDocument> rf ((csRef<iDocument>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDocument*)rf, SWIG_TypeQuery("cspace::""iDocument"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDocumentSystem) {
  {
    iDocumentSystem *arg1 = (iDocumentSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDocumentSystem(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDocumentSystem, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDocumentSystem" "', argument " "1"" of type '" "iDocumentSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDocumentSystem * >(argp1);
    delete_iDocumentSystem(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDocumentSystem_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iDocumentSystem_scfGetVersion();");
    }
    result = (int)iDocumentSystem_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTinyDocumentSystem__SWIG_0) {
  {
    iBase *arg1 = (iBase *) 0 ;
    csTinyDocumentSystem *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csTinyDocumentSystem(parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csTinyDocumentSystem" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    result = (csTinyDocumentSystem *)new csTinyDocumentSystem(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTinyDocumentSystem, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTinyDocumentSystem__SWIG_1) {
  {
    csTinyDocumentSystem *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csTinyDocumentSystem();");
    }
    result = (csTinyDocumentSystem *)new csTinyDocumentSystem();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTinyDocumentSystem, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTinyDocumentSystem) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csTinyDocumentSystem__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csTinyDocumentSystem__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csTinyDocumentSystem'");
  XSRETURN(0);
}


XS(_wrap_delete_csTinyDocumentSystem) {
  {
    csTinyDocumentSystem *arg1 = (csTinyDocumentSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csTinyDocumentSystem(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTinyDocumentSystem, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csTinyDocumentSystem" "', argument " "1"" of type '" "csTinyDocumentSystem *""'"); 
    }
    arg1 = reinterpret_cast< csTinyDocumentSystem * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTinyDocumentSystem_CreateDocument) {
  {
    csTinyDocumentSystem *arg1 = (csTinyDocumentSystem *) 0 ;
    SwigValueWrapper<csRef<iDocument > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTinyDocumentSystem_CreateDocument(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTinyDocumentSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTinyDocumentSystem_CreateDocument" "', argument " "1"" of type '" "csTinyDocumentSystem *""'"); 
    }
    arg1 = reinterpret_cast< csTinyDocumentSystem * >(argp1);
    result = (arg1)->CreateDocument();
    {
      csRef<iDocument> rf ((csRef<iDocument>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDocument*)rf, SWIG_TypeQuery("cspace::""iDocument"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDataBuffer_GetSize) {
  {
    iDataBuffer *arg1 = (iDataBuffer *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDataBuffer_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDataBuffer_GetSize" "', argument " "1"" of type '" "iDataBuffer const *""'"); 
    }
    arg1 = reinterpret_cast< iDataBuffer * >(argp1);
    result = ((iDataBuffer const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDataBuffer_GetData) {
  {
    iDataBuffer *arg1 = (iDataBuffer *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDataBuffer_GetData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDataBuffer_GetData" "', argument " "1"" of type '" "iDataBuffer const *""'"); 
    }
    arg1 = reinterpret_cast< iDataBuffer * >(argp1);
    result = (char *)((iDataBuffer const *)arg1)->GetData();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDataBuffer___ref__) {
  {
    iDataBuffer *arg1 = (iDataBuffer *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDataBuffer___ref__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDataBuffer___ref__" "', argument " "1"" of type '" "iDataBuffer const *""'"); 
    }
    arg1 = reinterpret_cast< iDataBuffer * >(argp1);
    result = (char *)((iDataBuffer const *)arg1)->operator *();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDataBuffer_GetUint8) {
  {
    iDataBuffer *arg1 = (iDataBuffer *) 0 ;
    uint8 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDataBuffer_GetUint8(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDataBuffer_GetUint8" "', argument " "1"" of type '" "iDataBuffer *""'"); 
    }
    arg1 = reinterpret_cast< iDataBuffer * >(argp1);
    result = (uint8 *)(arg1)->GetUint8();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_uint8_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDataBuffer) {
  {
    iDataBuffer *arg1 = (iDataBuffer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDataBuffer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDataBuffer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDataBuffer" "', argument " "1"" of type '" "iDataBuffer *""'"); 
    }
    arg1 = reinterpret_cast< iDataBuffer * >(argp1);
    delete_iDataBuffer(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDataBuffer_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iDataBuffer_scfGetVersion();");
    }
    result = (int)iDataBuffer_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iDataBuffer___string__) {
  {
    iDataBuffer *arg1 = (iDataBuffer *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDataBuffer___string__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDataBuffer___string__" "', argument " "1"" of type '" "iDataBuffer *""'"); 
    }
    arg1 = reinterpret_cast< iDataBuffer * >(argp1);
    result = (char *)iDataBuffer___string__(arg1);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDataBuffer___sv__) {
  {
    iDataBuffer *arg1 = (iDataBuffer *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDataBuffer___sv__(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDataBuffer___sv__" "', argument " "1"" of type '" "iDataBuffer *""'"); 
    }
    arg1 = reinterpret_cast< iDataBuffer * >(argp1);
    result = (char *)iDataBuffer___sv__(arg1);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelCoord_x_set) {
  {
    csPixelCoord *arg1 = (csPixelCoord *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelCoord_x_set(self,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelCoord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelCoord_x_set" "', argument " "1"" of type '" "csPixelCoord *""'"); 
    }
    arg1 = reinterpret_cast< csPixelCoord * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelCoord_x_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->x = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelCoord_x_get) {
  {
    csPixelCoord *arg1 = (csPixelCoord *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelCoord_x_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelCoord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelCoord_x_get" "', argument " "1"" of type '" "csPixelCoord *""'"); 
    }
    arg1 = reinterpret_cast< csPixelCoord * >(argp1);
    result = (int) ((arg1)->x);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelCoord_y_set) {
  {
    csPixelCoord *arg1 = (csPixelCoord *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelCoord_y_set(self,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelCoord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelCoord_y_set" "', argument " "1"" of type '" "csPixelCoord *""'"); 
    }
    arg1 = reinterpret_cast< csPixelCoord * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelCoord_y_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->y = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelCoord_y_get) {
  {
    csPixelCoord *arg1 = (csPixelCoord *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelCoord_y_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelCoord, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelCoord_y_get" "', argument " "1"" of type '" "csPixelCoord *""'"); 
    }
    arg1 = reinterpret_cast< csPixelCoord * >(argp1);
    result = (int) ((arg1)->y);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPixelCoord) {
  {
    csPixelCoord *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPixelCoord();");
    }
    result = (csPixelCoord *)new csPixelCoord();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPixelCoord, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPixelCoord) {
  {
    csPixelCoord *arg1 = (csPixelCoord *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPixelCoord(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelCoord, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPixelCoord" "', argument " "1"" of type '" "csPixelCoord *""'"); 
    }
    arg1 = reinterpret_cast< csPixelCoord * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_RedMask_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_RedMask_set(self,RedMask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_RedMask_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixelFormat_RedMask_set" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPixelFormat_RedMask_set" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    if (arg1) (arg1)->RedMask = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_RedMask_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_RedMask_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_RedMask_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result =  ((arg1)->RedMask);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_GreenMask_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_GreenMask_set(self,GreenMask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_GreenMask_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixelFormat_GreenMask_set" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPixelFormat_GreenMask_set" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    if (arg1) (arg1)->GreenMask = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_GreenMask_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_GreenMask_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_GreenMask_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result =  ((arg1)->GreenMask);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_BlueMask_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_BlueMask_set(self,BlueMask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_BlueMask_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixelFormat_BlueMask_set" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPixelFormat_BlueMask_set" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    if (arg1) (arg1)->BlueMask = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_BlueMask_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_BlueMask_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_BlueMask_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result =  ((arg1)->BlueMask);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_AlphaMask_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    uint32 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_AlphaMask_set(self,AlphaMask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_AlphaMask_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint32_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixelFormat_AlphaMask_set" "', argument " "2"" of type '" "uint32""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPixelFormat_AlphaMask_set" "', argument " "2"" of type '" "uint32""'");
      } else {
        arg2 = *(reinterpret_cast< uint32 * >(argp2));
      }
    }
    if (arg1) (arg1)->AlphaMask = arg2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_AlphaMask_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    uint32 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_AlphaMask_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_AlphaMask_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result =  ((arg1)->AlphaMask);
    ST(argvi) = SWIG_NewPointerObj((new uint32(static_cast< const uint32& >(result))), SWIGTYPE_p_uint32_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_RedShift_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_RedShift_set(self,RedShift);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_RedShift_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_RedShift_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->RedShift = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_RedShift_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_RedShift_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_RedShift_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->RedShift);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_GreenShift_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_GreenShift_set(self,GreenShift);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_GreenShift_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_GreenShift_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->GreenShift = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_GreenShift_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_GreenShift_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_GreenShift_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->GreenShift);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_BlueShift_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_BlueShift_set(self,BlueShift);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_BlueShift_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_BlueShift_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->BlueShift = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_BlueShift_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_BlueShift_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_BlueShift_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->BlueShift);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_AlphaShift_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_AlphaShift_set(self,AlphaShift);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_AlphaShift_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_AlphaShift_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->AlphaShift = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_AlphaShift_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_AlphaShift_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_AlphaShift_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->AlphaShift);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_RedBits_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_RedBits_set(self,RedBits);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_RedBits_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_RedBits_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->RedBits = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_RedBits_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_RedBits_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_RedBits_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->RedBits);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_GreenBits_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_GreenBits_set(self,GreenBits);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_GreenBits_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_GreenBits_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->GreenBits = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_GreenBits_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_GreenBits_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_GreenBits_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->GreenBits);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_BlueBits_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_BlueBits_set(self,BlueBits);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_BlueBits_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_BlueBits_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->BlueBits = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_BlueBits_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_BlueBits_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_BlueBits_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->BlueBits);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_AlphaBits_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_AlphaBits_set(self,AlphaBits);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_AlphaBits_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_AlphaBits_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->AlphaBits = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_AlphaBits_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_AlphaBits_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_AlphaBits_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->AlphaBits);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_PalEntries_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_PalEntries_set(self,PalEntries);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_PalEntries_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_PalEntries_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->PalEntries = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_PalEntries_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_PalEntries_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_PalEntries_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->PalEntries);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_PixelBytes_set) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixelFormat_PixelBytes_set(self,PixelBytes);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_PixelBytes_set" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixelFormat_PixelBytes_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->PixelBytes = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_PixelBytes_get) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_PixelBytes_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_PixelBytes_get" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    result = (int) ((arg1)->PixelBytes);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixelFormat_complete) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixelFormat_complete(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixelFormat_complete" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    (arg1)->complete();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPixelFormat) {
  {
    csPixelFormat *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csPixelFormat();");
    }
    result = (csPixelFormat *)new csPixelFormat();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPixelFormat, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csPixelFormat) {
  {
    csPixelFormat *arg1 = (csPixelFormat *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPixelFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csPixelFormat, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPixelFormat" "', argument " "1"" of type '" "csPixelFormat *""'"); 
    }
    arg1 = reinterpret_cast< csPixelFormat * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_x_set) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageArea_x_set(self,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_x_set" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageArea_x_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->x = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_x_get) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageArea_x_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_x_get" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    result = (int) ((arg1)->x);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_y_set) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageArea_y_set(self,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_y_set" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageArea_y_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->y = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_y_get) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageArea_y_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_y_get" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    result = (int) ((arg1)->y);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_w_set) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageArea_w_set(self,w);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_w_set" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageArea_w_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->w = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_w_get) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageArea_w_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_w_get" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    result = (int) ((arg1)->w);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_h_set) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageArea_h_set(self,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_h_set" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageArea_h_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->h = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_h_get) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageArea_h_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_h_get" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    result = (int) ((arg1)->h);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_data_set) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageArea_data_set(self,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_data_set" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csImageArea_data_set" "', argument " "2"" of type '" "char *""'");
    }
    arg2 = buf2;
    if (arg1->data) delete[] arg1->data;
    if (arg2) {
      size_t size = strlen(arg2) + 1;
      arg1->data = reinterpret_cast< char* >(memcpy((new char[size]), arg2, sizeof(char)*(size)));
    } else {
      arg1->data = 0;
    }
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csImageArea_data_get) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageArea_data_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageArea_data_get" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    result = (char *) ((arg1)->data);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csImageArea) {
  {
    int arg1 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    csImageArea *result = 0 ;
    int val1 ;
    int ecode1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: new_csImageArea(sx,sy,sw,sh);");
    }
    ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csImageArea" "', argument " "1"" of type '" "int""'");
    } 
    arg1 = static_cast< int >(val1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csImageArea" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csImageArea" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csImageArea" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (csImageArea *)new csImageArea(arg1,arg2,arg3,arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csImageArea, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csImageArea) {
  {
    csImageArea *arg1 = (csImageArea *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csImageArea(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageArea, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csImageArea" "', argument " "1"" of type '" "csImageArea *""'"); 
    }
    arg1 = reinterpret_cast< csImageArea * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iOffscreenCanvasCallback_FinishDraw) {
  {
    iOffscreenCanvasCallback *arg1 = (iOffscreenCanvasCallback *) 0 ;
    iGraphics2D *arg2 = (iGraphics2D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iOffscreenCanvasCallback_FinishDraw(self,canvas);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iOffscreenCanvasCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iOffscreenCanvasCallback_FinishDraw" "', argument " "1"" of type '" "iOffscreenCanvasCallback *""'"); 
    }
    arg1 = reinterpret_cast< iOffscreenCanvasCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iOffscreenCanvasCallback_FinishDraw" "', argument " "2"" of type '" "iGraphics2D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics2D * >(argp2);
    (arg1)->FinishDraw(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iOffscreenCanvasCallback_SetRGB) {
  {
    iOffscreenCanvasCallback *arg1 = (iOffscreenCanvasCallback *) 0 ;
    iGraphics2D *arg2 = (iGraphics2D *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    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 argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iOffscreenCanvasCallback_SetRGB(self,canvas,idx,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iOffscreenCanvasCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iOffscreenCanvasCallback_SetRGB" "', argument " "1"" of type '" "iOffscreenCanvasCallback *""'"); 
    }
    arg1 = reinterpret_cast< iOffscreenCanvasCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iOffscreenCanvasCallback_SetRGB" "', argument " "2"" of type '" "iGraphics2D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics2D * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iOffscreenCanvasCallback_SetRGB" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iOffscreenCanvasCallback_SetRGB" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iOffscreenCanvasCallback_SetRGB" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iOffscreenCanvasCallback_SetRGB" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    (arg1)->SetRGB(arg2,arg3,arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iOffscreenCanvasCallback) {
  {
    iOffscreenCanvasCallback *arg1 = (iOffscreenCanvasCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iOffscreenCanvasCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iOffscreenCanvasCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iOffscreenCanvasCallback" "', argument " "1"" of type '" "iOffscreenCanvasCallback *""'"); 
    }
    arg1 = reinterpret_cast< iOffscreenCanvasCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Open) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_Open(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Open" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (bool)(arg1)->Open();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Close) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_Close(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Close" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    (arg1)->Close();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetWidth) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetWidth(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetWidth" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (int)(arg1)->GetWidth();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetHeight) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetHeight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetHeight" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (int)(arg1)->GetHeight();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPage) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetPage(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetPage" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (int)(arg1)->GetPage();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_DoubleBuffer) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    bool arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_DoubleBuffer(self,Enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_DoubleBuffer" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_DoubleBuffer" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    result = (bool)(arg1)->DoubleBuffer(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetDoubleBufferState) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetDoubleBufferState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetDoubleBufferState" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (bool)(arg1)->GetDoubleBufferState();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPixelFormat) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    csPixelFormat *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetPixelFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetPixelFormat" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (csPixelFormat *)(arg1)->GetPixelFormat();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPixelFormat, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPixelBytes) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetPixelBytes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetPixelBytes" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (int)(arg1)->GetPixelBytes();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPalEntryCount) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetPalEntryCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetPalEntryCount" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (int)(arg1)->GetPalEntryCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPalette) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    csRGBpixel *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetPalette(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetPalette" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (csRGBpixel *)(arg1)->GetPalette();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBpixel, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetRGB) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics2D_SetRGB(self,i,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetRGB" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_SetRGB" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_SetRGB" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_SetRGB" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_SetRGB" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->SetRGB(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_FindRGB__SWIG_0) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int result;
    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 argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics2D_FindRGB(self,r,g,b,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_FindRGB" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_FindRGB" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_FindRGB" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_FindRGB" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_FindRGB" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (int)(arg1)->FindRGB(arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_FindRGB__SWIG_1) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics2D_FindRGB(self,r,g,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_FindRGB" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_FindRGB" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_FindRGB" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_FindRGB" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (int)(arg1)->FindRGB(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_FindRGB) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_FindRGB__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_FindRGB__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iGraphics2D_FindRGB'");
  XSRETURN(0);
}


XS(_wrap_iGraphics2D_GetRGB) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg3 = &temp3;
    arg4 = &temp4;
    arg5 = &temp5;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_GetRGB(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetRGB" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_GetRGB" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->GetRGB(arg2,*arg3,*arg4,*arg5);
    
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetRGBA) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *arg5 = 0 ;
    int *arg6 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int temp6 ;
    int res6 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg3 = &temp3;
    arg4 = &temp4;
    arg5 = &temp5;
    arg6 = &temp6;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_GetRGBA(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetRGBA" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_GetRGBA" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->GetRGB(arg2,*arg3,*arg4,*arg5,*arg6);
    
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetClipRect) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics2D_SetClipRect(self,nMinX,nMinY,nMaxX,nMaxY);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetClipRect" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_SetClipRect" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_SetClipRect" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_SetClipRect" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_SetClipRect" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->SetClipRect(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetClipRect) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics2D_GetClipRect(self,nMinX,nMinY,nMaxX,nMaxY);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetClipRect" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_GetClipRect" "', argument " "2"" of type '" "int &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics2D_GetClipRect" "', argument " "2"" of type '" "int &""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics2D_GetClipRect" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics2D_GetClipRect" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGraphics2D_GetClipRect" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics2D_GetClipRect" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGraphics2D_GetClipRect" "', argument " "5"" of type '" "int &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics2D_GetClipRect" "', argument " "5"" of type '" "int &""'"); 
    }
    arg5 = reinterpret_cast< int * >(argp5);
    (arg1)->GetClipRect(*arg2,*arg3,*arg4,*arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_BeginDraw) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_BeginDraw(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_BeginDraw" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (bool)(arg1)->BeginDraw();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_FinishDraw) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_FinishDraw(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_FinishDraw" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    (arg1)->FinishDraw();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Print) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    csRect *arg2 = (csRect *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_Print(self,pArea);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Print" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_Print" "', argument " "2"" of type '" "csRect const *""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Print((csRect const *)arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Clear) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_Clear(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Clear" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_Clear" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->Clear(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_ClearAll) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_ClearAll(self,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_ClearAll" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_ClearAll" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->ClearAll(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_DrawLine) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    int arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iGraphics2D_DrawLine(self,x1,y1,x2,y2,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_DrawLine" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_DrawLine" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_DrawLine" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_DrawLine" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_DrawLine" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics2D_DrawLine" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    (arg1)->DrawLine(arg2,arg3,arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_DrawBox) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iGraphics2D_DrawBox(self,x,y,w,h,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_DrawBox" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_DrawBox" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_DrawBox" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_DrawBox" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_DrawBox" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics2D_DrawBox" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    (arg1)->DrawBox(arg2,arg3,arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_ClipLine) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    float *arg4 = 0 ;
    float *arg5 = 0 ;
    int arg6 ;
    int arg7 ;
    int arg8 ;
    int arg9 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float temp2 ;
    int res2 = SWIG_TMPOBJ ;
    float temp3 ;
    int res3 = SWIG_TMPOBJ ;
    float temp4 ;
    int res4 = SWIG_TMPOBJ ;
    float temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int val6 ;
    int ecode6 = 0 ;
    int val7 ;
    int ecode7 = 0 ;
    int val8 ;
    int ecode8 = 0 ;
    int val9 ;
    int ecode9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    arg4 = &temp4;
    arg5 = &temp5;
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics2D_ClipLine(self,xmin,ymin,xmax,ymax);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_ClipLine" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics2D_ClipLine" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    ecode7 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iGraphics2D_ClipLine" "', argument " "7"" of type '" "int""'");
    } 
    arg7 = static_cast< int >(val7);
    ecode8 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iGraphics2D_ClipLine" "', argument " "8"" of type '" "int""'");
    } 
    arg8 = static_cast< int >(val8);
    ecode9 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "iGraphics2D_ClipLine" "', argument " "9"" of type '" "int""'");
    } 
    arg9 = static_cast< int >(val9);
    result = (bool)(arg1)->ClipLine(*arg2,*arg3,*arg4,*arg5,arg6,arg7,arg8,arg9);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_DrawPixel) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics2D_DrawPixel(self,x,y,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_DrawPixel" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_DrawPixel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_DrawPixel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_DrawPixel" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->DrawPixel(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_DrawPixels) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    csPixelCoord *arg2 = (csPixelCoord *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics2D_DrawPixels(self,pixels,num_pixels,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_DrawPixels" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csPixelCoord, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_DrawPixels" "', argument " "2"" of type '" "csPixelCoord const *""'"); 
    }
    arg2 = reinterpret_cast< csPixelCoord * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_DrawPixels" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_DrawPixels" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->DrawPixels((csPixelCoord const *)arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Blit) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    unsigned char *arg6 = (unsigned char *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iGraphics2D_Blit(self,x,y,width,height,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Blit" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_Blit" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_Blit" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_Blit" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_Blit" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_unsigned_char, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iGraphics2D_Blit" "', argument " "6"" of type '" "unsigned char const *""'"); 
    }
    arg6 = reinterpret_cast< unsigned char * >(argp6);
    (arg1)->Blit(arg2,arg3,arg4,arg5,(unsigned char const *)arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPixelAt) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    unsigned char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics2D_GetPixelAt(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetPixelAt" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_GetPixelAt" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_GetPixelAt" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (unsigned char *)(arg1)->GetPixelAt(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_unsigned_char, 0 | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPixel__SWIG_0) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    uint8 *arg4 = 0 ;
    uint8 *arg5 = 0 ;
    uint8 *arg6 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    uint8 temp4 ;
    int res4 = SWIG_TMPOBJ ;
    uint8 temp5 ;
    int res5 = SWIG_TMPOBJ ;
    uint8 temp6 ;
    int res6 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg4 = &temp4;
    arg5 = &temp5;
    arg6 = &temp6;
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics2D_GetPixel(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetPixel" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_GetPixel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_GetPixel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->GetPixel(arg2,arg3,*arg4,*arg5,*arg6);
    
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPixel__SWIG_1) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    uint8 *arg4 = 0 ;
    uint8 *arg5 = 0 ;
    uint8 *arg6 = 0 ;
    uint8 *arg7 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    uint8 temp4 ;
    int res4 = SWIG_TMPOBJ ;
    uint8 temp5 ;
    int res5 = SWIG_TMPOBJ ;
    uint8 temp6 ;
    int res6 = SWIG_TMPOBJ ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg4 = &temp4;
    arg5 = &temp5;
    arg6 = &temp6;
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics2D_GetPixel(self,x,y,oA);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetPixel" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_GetPixel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_GetPixel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res7 = SWIG_ConvertPtr(ST(3), &argp7, SWIGTYPE_p_uint8_t,  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iGraphics2D_GetPixel" "', argument " "7"" of type '" "uint8 &""'"); 
    }
    if (!argp7) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics2D_GetPixel" "', argument " "7"" of type '" "uint8 &""'"); 
    }
    arg7 = reinterpret_cast< uint8 * >(argp7);
    (arg1)->GetPixel(arg2,arg3,*arg4,*arg5,*arg6,*arg7);
    
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res6)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg6)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res6) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg6), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetPixel) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_GetPixel__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_GetPixel__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iGraphics2D_GetPixel'");
  XSRETURN(0);
}


XS(_wrap_iGraphics2D_SaveArea) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    csImageArea *result = 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics2D_SaveArea(self,x,y,w,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SaveArea" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_SaveArea" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_SaveArea" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_SaveArea" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_SaveArea" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (csImageArea *)(arg1)->SaveArea(arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csImageArea, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_RestoreArea) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    csImageArea *arg2 = (csImageArea *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics2D_RestoreArea(self,Area,Free);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_RestoreArea" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_RestoreArea" "', argument " "2"" of type '" "csImageArea *""'"); 
    }
    arg2 = reinterpret_cast< csImageArea * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_RestoreArea" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->RestoreArea(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_FreeArea) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    csImageArea *arg2 = (csImageArea *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_FreeArea(self,Area);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_FreeArea" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csImageArea, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_FreeArea" "', argument " "2"" of type '" "csImageArea *""'"); 
    }
    arg2 = reinterpret_cast< csImageArea * >(argp2);
    (arg1)->FreeArea(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Write__SWIG_0) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iFont *arg2 = (iFont *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    char *arg7 = (char *) 0 ;
    uint arg8 ;
    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 res7 ;
    char *buf7 = 0 ;
    int alloc7 = 0 ;
    unsigned int val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iGraphics2D_Write(self,font,x,y,fg,bg,str,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Write" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_Write" "', argument " "2"" of type '" "iFont *""'"); 
    }
    arg2 = reinterpret_cast< iFont * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_Write" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_Write" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_Write" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics2D_Write" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    res7 = SWIG_AsCharPtrAndSize(ST(6), &buf7, NULL, &alloc7);
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iGraphics2D_Write" "', argument " "7"" of type '" "char const *""'");
    }
    arg7 = buf7;
    ecode8 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iGraphics2D_Write" "', argument " "8"" of type '" "uint""'");
    } 
    arg8 = static_cast< uint >(val8);
    (arg1)->Write(arg2,arg3,arg4,arg5,arg6,(char const *)arg7,arg8);
    
    
    
    
    
    
    
    if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Write__SWIG_1) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iFont *arg2 = (iFont *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    char *arg7 = (char *) 0 ;
    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 res7 ;
    char *buf7 = 0 ;
    int alloc7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iGraphics2D_Write(self,font,x,y,fg,bg,str);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Write" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_Write" "', argument " "2"" of type '" "iFont *""'"); 
    }
    arg2 = reinterpret_cast< iFont * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_Write" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_Write" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_Write" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics2D_Write" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    res7 = SWIG_AsCharPtrAndSize(ST(6), &buf7, NULL, &alloc7);
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iGraphics2D_Write" "', argument " "7"" of type '" "char const *""'");
    }
    arg7 = buf7;
    (arg1)->Write(arg2,arg3,arg4,arg5,arg6,(char const *)arg7);
    
    
    
    
    
    
    
    if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_WriteBaseline) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iFont *arg2 = (iFont *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    char *arg7 = (char *) 0 ;
    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 res7 ;
    char *buf7 = 0 ;
    int alloc7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iGraphics2D_WriteBaseline(self,font,x,y,fg,bg,str);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_WriteBaseline" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_WriteBaseline" "', argument " "2"" of type '" "iFont *""'"); 
    }
    arg2 = reinterpret_cast< iFont * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_WriteBaseline" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_WriteBaseline" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_WriteBaseline" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics2D_WriteBaseline" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    res7 = SWIG_AsCharPtrAndSize(ST(6), &buf7, NULL, &alloc7);
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iGraphics2D_WriteBaseline" "', argument " "7"" of type '" "char const *""'");
    }
    arg7 = buf7;
    (arg1)->WriteBaseline(arg2,arg3,arg4,arg5,arg6,(char const *)arg7);
    
    
    
    
    
    
    
    if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    if (alloc7 == SWIG_NEWOBJ) delete[] buf7;
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_AllowResize) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_AllowResize(self,iAllow);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_AllowResize" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_AllowResize" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->AllowResize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Resize) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics2D_Resize(self,w,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Resize" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_Resize" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_Resize" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)(arg1)->Resize(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetFontServer) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iFontServer *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetFontServer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetFontServer" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (iFontServer *)(arg1)->GetFontServer();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iFontServer, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_PerformExtension) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    char *arg2 = (char *) 0 ;
    void *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 2) {
      SWIG_croak("Usage: iGraphics2D_PerformExtension(self,command,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_PerformExtension" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_PerformExtension" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->PerformExtension((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_ScreenShot) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    SwigValueWrapper<csPtr<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_ScreenShot(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_ScreenShot" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (arg1)->ScreenShot();
    {
      csRef<iImage> rf ((csPtr<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetNativeWindow) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iNativeWindow *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetNativeWindow(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetNativeWindow" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (iNativeWindow *)(arg1)->GetNativeWindow();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iNativeWindow, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetFullScreen) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetFullScreen(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetFullScreen" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (bool)(arg1)->GetFullScreen();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetFullScreen) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_SetFullScreen(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetFullScreen" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_SetFullScreen" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetFullScreen(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMousePosition) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    int arg2 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics2D_SetMousePosition(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetMousePosition" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_SetMousePosition" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_SetMousePosition" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)(arg1)->SetMousePosition(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMouseCursor__SWIG_0) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    csMouseCursorID arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_SetMouseCursor(self,iShape);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "2"" of type '" "csMouseCursorID""'");
    } 
    arg2 = static_cast< csMouseCursorID >(val2);
    result = (bool)(arg1)->SetMouseCursor(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMouseCursor__SWIG_1) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    csRGBcolor *arg3 = (csRGBcolor *) 0 ;
    int arg4 ;
    int arg5 ;
    csRGBcolor arg6 ;
    csRGBcolor arg7 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    void *argp6 ;
    int res6 = 0 ;
    void *argp7 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iGraphics2D_SetMouseCursor(self,image,keycolor,hotspot_x,hotspot_y,fg,bg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "3"" of type '" "csRGBcolor const *""'"); 
    }
    arg3 = reinterpret_cast< csRGBcolor * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    {
      res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csRGBcolor,  0 );
      if (!SWIG_IsOK(res6)) {
        SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "6"" of type '" "csRGBcolor""'"); 
      }  
      if (!argp6) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics2D_SetMouseCursor" "', argument " "6"" of type '" "csRGBcolor""'");
      } else {
        arg6 = *(reinterpret_cast< csRGBcolor * >(argp6));
      }
    }
    {
      res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_csRGBcolor,  0 );
      if (!SWIG_IsOK(res7)) {
        SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "7"" of type '" "csRGBcolor""'"); 
      }  
      if (!argp7) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics2D_SetMouseCursor" "', argument " "7"" of type '" "csRGBcolor""'");
      } else {
        arg7 = *(reinterpret_cast< csRGBcolor * >(argp7));
      }
    }
    result = (bool)(arg1)->SetMouseCursor(arg2,(csRGBcolor const *)arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMouseCursor__SWIG_2) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    csRGBcolor *arg3 = (csRGBcolor *) 0 ;
    int arg4 ;
    int arg5 ;
    csRGBcolor arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    void *argp6 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iGraphics2D_SetMouseCursor(self,image,keycolor,hotspot_x,hotspot_y,fg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "3"" of type '" "csRGBcolor const *""'"); 
    }
    arg3 = reinterpret_cast< csRGBcolor * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    {
      res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csRGBcolor,  0 );
      if (!SWIG_IsOK(res6)) {
        SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "6"" of type '" "csRGBcolor""'"); 
      }  
      if (!argp6) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics2D_SetMouseCursor" "', argument " "6"" of type '" "csRGBcolor""'");
      } else {
        arg6 = *(reinterpret_cast< csRGBcolor * >(argp6));
      }
    }
    result = (bool)(arg1)->SetMouseCursor(arg2,(csRGBcolor const *)arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMouseCursor__SWIG_3) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    csRGBcolor *arg3 = (csRGBcolor *) 0 ;
    int arg4 ;
    int arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics2D_SetMouseCursor(self,image,keycolor,hotspot_x,hotspot_y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "3"" of type '" "csRGBcolor const *""'"); 
    }
    arg3 = reinterpret_cast< csRGBcolor * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (bool)(arg1)->SetMouseCursor(arg2,(csRGBcolor const *)arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMouseCursor__SWIG_4) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    csRGBcolor *arg3 = (csRGBcolor *) 0 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics2D_SetMouseCursor(self,image,keycolor,hotspot_x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "3"" of type '" "csRGBcolor const *""'"); 
    }
    arg3 = reinterpret_cast< csRGBcolor * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->SetMouseCursor(arg2,(csRGBcolor const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMouseCursor__SWIG_5) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    csRGBcolor *arg3 = (csRGBcolor *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics2D_SetMouseCursor(self,image,keycolor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "3"" of type '" "csRGBcolor const *""'"); 
    }
    arg3 = reinterpret_cast< csRGBcolor * >(argp3);
    result = (bool)(arg1)->SetMouseCursor(arg2,(csRGBcolor const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMouseCursor__SWIG_6) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_SetMouseCursor(self,image);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_SetMouseCursor" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    result = (bool)(arg1)->SetMouseCursor(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_SetMouseCursor) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_csRGBcolor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_SetMouseCursor__SWIG_6); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_SetMouseCursor__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_SetMouseCursor__SWIG_5); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_SetMouseCursor__SWIG_4); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_SetMouseCursor__SWIG_3); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_SetMouseCursor__SWIG_2); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_SetMouseCursor__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iGraphics2D_SetMouseCursor'");
  XSRETURN(0);
}


XS(_wrap_iGraphics2D_SetGamma) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    float arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics2D_SetGamma(self,gamma);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_SetGamma" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics2D_SetGamma" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    result = (bool)(arg1)->SetGamma(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetGamma) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetGamma(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetGamma" "', argument " "1"" of type '" "iGraphics2D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (float)((iGraphics2D const *)arg1)->GetGamma();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_GetName) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics2D_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_GetName" "', argument " "1"" of type '" "iGraphics2D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    result = (char *)((iGraphics2D const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_CreateOffscreenCanvas) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    void *arg2 = (void *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    iOffscreenCanvasCallback *arg6 = (iOffscreenCanvasCallback *) 0 ;
    SwigValueWrapper<csPtr<iGraphics2D > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iGraphics2D_CreateOffscreenCanvas(self,memory,width,height,depth,ofscb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_CreateOffscreenCanvas" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, 0);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_CreateOffscreenCanvas" "', argument " "2"" of type '" "void *""'"); 
    }
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_CreateOffscreenCanvas" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_CreateOffscreenCanvas" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_CreateOffscreenCanvas" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_iOffscreenCanvasCallback, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iGraphics2D_CreateOffscreenCanvas" "', argument " "6"" of type '" "iOffscreenCanvasCallback *""'"); 
    }
    arg6 = reinterpret_cast< iOffscreenCanvasCallback * >(argp6);
    result = (arg1)->CreateOffscreenCanvas(arg2,arg3,arg4,arg5,arg6);
    {
      csRef<iGraphics2D> rf ((csPtr<iGraphics2D>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iGraphics2D*)rf, SWIG_TypeQuery("cspace::""iGraphics2D"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Write__SWIG_2) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iFont *arg2 = (iFont *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    wchar_t *arg7 = (wchar_t *) 0 ;
    uint arg8 ;
    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 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    unsigned int val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iGraphics2D_Write(self,font,x,y,fg,bg,str,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Write" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_Write" "', argument " "2"" of type '" "iFont *""'"); 
    }
    arg2 = reinterpret_cast< iFont * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_Write" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_Write" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_Write" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics2D_Write" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_wchar_t, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iGraphics2D_Write" "', argument " "7"" of type '" "wchar_t const *""'"); 
    }
    arg7 = reinterpret_cast< wchar_t * >(argp7);
    ecode8 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iGraphics2D_Write" "', argument " "8"" of type '" "uint""'");
    } 
    arg8 = static_cast< uint >(val8);
    (arg1)->Write(arg2,arg3,arg4,arg5,arg6,(wchar_t const *)arg7,arg8);
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Write__SWIG_3) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    iFont *arg2 = (iFont *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    wchar_t *arg7 = (wchar_t *) 0 ;
    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 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iGraphics2D_Write(self,font,x,y,fg,bg,str);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics2D_Write" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics2D_Write" "', argument " "2"" of type '" "iFont *""'"); 
    }
    arg2 = reinterpret_cast< iFont * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics2D_Write" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics2D_Write" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics2D_Write" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics2D_Write" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_wchar_t, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iGraphics2D_Write" "', argument " "7"" of type '" "wchar_t const *""'"); 
    }
    arg7 = reinterpret_cast< wchar_t * >(argp7);
    (arg1)->Write(arg2,arg3,arg4,arg5,arg6,(wchar_t const *)arg7);
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_Write) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iFont, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_wchar_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iFont, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(6), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iFont, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_wchar_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics2D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iFont, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(6), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_Write__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_Write__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_Write__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics2D_Write__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iGraphics2D_Write'");
  XSRETURN(0);
}


XS(_wrap_delete_iGraphics2D) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGraphics2D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGraphics2D" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    delete_iGraphics2D(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics2D_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iGraphics2D_scfGetVersion();");
    }
    result = (int)iGraphics2D_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csAlphaMode_autoAlphaMode_set) {
  {
    csAlphaMode *arg1 = (csAlphaMode *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csAlphaMode_autoAlphaMode_set(self,autoAlphaMode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csAlphaMode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csAlphaMode_autoAlphaMode_set" "', argument " "1"" of type '" "csAlphaMode *""'"); 
    }
    arg1 = reinterpret_cast< csAlphaMode * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csAlphaMode_autoAlphaMode_set" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    if (arg1) (arg1)->autoAlphaMode = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csAlphaMode_autoAlphaMode_get) {
  {
    csAlphaMode *arg1 = (csAlphaMode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csAlphaMode_autoAlphaMode_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csAlphaMode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csAlphaMode_autoAlphaMode_get" "', argument " "1"" of type '" "csAlphaMode *""'"); 
    }
    arg1 = reinterpret_cast< csAlphaMode * >(argp1);
    result = (bool) ((arg1)->autoAlphaMode);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csAlphaMode) {
  {
    csAlphaMode *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csAlphaMode();");
    }
    result = (csAlphaMode *)new csAlphaMode();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csAlphaMode, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csAlphaMode) {
  {
    csAlphaMode *arg1 = (csAlphaMode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csAlphaMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csAlphaMode, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csAlphaMode" "', argument " "1"" of type '" "csAlphaMode *""'"); 
    }
    arg1 = reinterpret_cast< csAlphaMode * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_minTexHeight_set) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGraphics3DCaps_minTexHeight_set(self,minTexHeight);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_minTexHeight_set" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGraphics3DCaps_minTexHeight_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->minTexHeight = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_minTexHeight_get) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGraphics3DCaps_minTexHeight_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_minTexHeight_get" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    result = (int) ((arg1)->minTexHeight);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_minTexWidth_set) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGraphics3DCaps_minTexWidth_set(self,minTexWidth);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_minTexWidth_set" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGraphics3DCaps_minTexWidth_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->minTexWidth = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_minTexWidth_get) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGraphics3DCaps_minTexWidth_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_minTexWidth_get" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    result = (int) ((arg1)->minTexWidth);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_maxTexHeight_set) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGraphics3DCaps_maxTexHeight_set(self,maxTexHeight);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_maxTexHeight_set" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGraphics3DCaps_maxTexHeight_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->maxTexHeight = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_maxTexHeight_get) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGraphics3DCaps_maxTexHeight_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_maxTexHeight_get" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    result = (int) ((arg1)->maxTexHeight);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_maxTexWidth_set) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGraphics3DCaps_maxTexWidth_set(self,maxTexWidth);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_maxTexWidth_set" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGraphics3DCaps_maxTexWidth_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->maxTexWidth = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_maxTexWidth_get) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGraphics3DCaps_maxTexWidth_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_maxTexWidth_get" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    result = (int) ((arg1)->maxTexWidth);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_SupportsPointSprites_set) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGraphics3DCaps_SupportsPointSprites_set(self,SupportsPointSprites);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_SupportsPointSprites_set" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGraphics3DCaps_SupportsPointSprites_set" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    if (arg1) (arg1)->SupportsPointSprites = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_SupportsPointSprites_get) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGraphics3DCaps_SupportsPointSprites_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_SupportsPointSprites_get" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    result = (bool) ((arg1)->SupportsPointSprites);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_DestinationAlpha_set) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGraphics3DCaps_DestinationAlpha_set(self,DestinationAlpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_DestinationAlpha_set" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGraphics3DCaps_DestinationAlpha_set" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    if (arg1) (arg1)->DestinationAlpha = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_DestinationAlpha_get) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGraphics3DCaps_DestinationAlpha_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_DestinationAlpha_get" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    result = (bool) ((arg1)->DestinationAlpha);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_StencilShadows_set) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGraphics3DCaps_StencilShadows_set(self,StencilShadows);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_StencilShadows_set" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGraphics3DCaps_StencilShadows_set" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    if (arg1) (arg1)->StencilShadows = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGraphics3DCaps_StencilShadows_get) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGraphics3DCaps_StencilShadows_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGraphics3DCaps_StencilShadows_get" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    result = (bool) ((arg1)->StencilShadows);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csGraphics3DCaps) {
  {
    csGraphics3DCaps *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csGraphics3DCaps();");
    }
    result = (csGraphics3DCaps *)new csGraphics3DCaps();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csGraphics3DCaps, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csGraphics3DCaps) {
  {
    csGraphics3DCaps *arg1 = (csGraphics3DCaps *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csGraphics3DCaps(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGraphics3DCaps, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csGraphics3DCaps" "', argument " "1"" of type '" "csGraphics3DCaps *""'"); 
    }
    arg1 = reinterpret_cast< csGraphics3DCaps * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_meshtype_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csRenderMeshType arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_meshtype_set(self,meshtype);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_meshtype_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSimpleRenderMesh_meshtype_set" "', argument " "2"" of type '" "csRenderMeshType""'");
    } 
    arg2 = static_cast< csRenderMeshType >(val2);
    if (arg1) (arg1)->meshtype = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_meshtype_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csRenderMeshType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_meshtype_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_meshtype_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (csRenderMeshType) ((arg1)->meshtype);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_indexCount_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_indexCount_set(self,indexCount);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_indexCount_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSimpleRenderMesh_indexCount_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->indexCount = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_indexCount_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_indexCount_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_indexCount_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (uint) ((arg1)->indexCount);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_indices_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    uint *arg2 = (uint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_indices_set(self,indices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_indices_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_unsigned_int, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_indices_set" "', argument " "2"" of type '" "uint const *""'"); 
    }
    arg2 = reinterpret_cast< uint * >(argp2);
    if (arg1) (arg1)->indices = (uint const *)arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_indices_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    uint *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_indices_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_indices_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (uint *) ((arg1)->indices);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_unsigned_int, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_vertexCount_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_vertexCount_set(self,vertexCount);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_vertexCount_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSimpleRenderMesh_vertexCount_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->vertexCount = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_vertexCount_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_vertexCount_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_vertexCount_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (uint) ((arg1)->vertexCount);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_vertices_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_vertices_set(self,vertices);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_vertices_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_vertices_set" "', argument " "2"" of type '" "csVector3 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->vertices = (csVector3 const *)arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_vertices_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_vertices_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_vertices_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (csVector3 *) ((arg1)->vertices);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_texcoords_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csVector2 *arg2 = (csVector2 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_texcoords_set(self,texcoords);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_texcoords_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector2, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_texcoords_set" "', argument " "2"" of type '" "csVector2 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector2 * >(argp2);
    if (arg1) (arg1)->texcoords = (csVector2 const *)arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_texcoords_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_texcoords_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_texcoords_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (csVector2 *) ((arg1)->texcoords);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_colors_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csVector4 *arg2 = (csVector4 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_colors_set(self,colors);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_colors_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector4, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_colors_set" "', argument " "2"" of type '" "csVector4 const *""'"); 
    }
    arg2 = reinterpret_cast< csVector4 * >(argp2);
    if (arg1) (arg1)->colors = (csVector4 const *)arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_colors_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csVector4 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_colors_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_colors_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (csVector4 *) ((arg1)->colors);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector4, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_texture_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_texture_set(self,texture);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_texture_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_texture_set" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    if (arg1) (arg1)->texture = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_texture_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_texture_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_texture_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (iTextureHandle *) ((arg1)->texture);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_shader_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    iShader *arg2 = (iShader *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_shader_set(self,shader);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_shader_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShader, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_shader_set" "', argument " "2"" of type '" "iShader *""'"); 
    }
    arg2 = reinterpret_cast< iShader * >(argp2);
    if (arg1) (arg1)->shader = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_shader_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    iShader *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_shader_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_shader_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (iShader *) ((arg1)->shader);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShader, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_dynDomain_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    iShaderVariableContext *arg2 = (iShaderVariableContext *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_dynDomain_set(self,dynDomain);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_dynDomain_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShaderVariableContext, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_dynDomain_set" "', argument " "2"" of type '" "iShaderVariableContext *""'"); 
    }
    arg2 = reinterpret_cast< iShaderVariableContext * >(argp2);
    if (arg1) (arg1)->dynDomain = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_dynDomain_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    iShaderVariableContext *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_dynDomain_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_dynDomain_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (iShaderVariableContext *) ((arg1)->dynDomain);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShaderVariableContext, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_alphaType_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csAlphaMode *arg2 = (csAlphaMode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_alphaType_set(self,alphaType);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_alphaType_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csAlphaMode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_alphaType_set" "', argument " "2"" of type '" "csAlphaMode *""'"); 
    }
    arg2 = reinterpret_cast< csAlphaMode * >(argp2);
    if (arg1) (arg1)->alphaType = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_alphaType_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csAlphaMode *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_alphaType_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_alphaType_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (csAlphaMode *)& ((arg1)->alphaType);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csAlphaMode, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_z_buf_mode_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csZBufMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_z_buf_mode_set(self,z_buf_mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_z_buf_mode_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSimpleRenderMesh_z_buf_mode_set" "', argument " "2"" of type '" "csZBufMode""'");
    } 
    arg2 = static_cast< csZBufMode >(val2);
    if (arg1) (arg1)->z_buf_mode = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_z_buf_mode_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csZBufMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_z_buf_mode_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_z_buf_mode_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (csZBufMode) ((arg1)->z_buf_mode);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_mixmode_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_mixmode_set(self,mixmode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_mixmode_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csSimpleRenderMesh_mixmode_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->mixmode = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_mixmode_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_mixmode_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_mixmode_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (uint) ((arg1)->mixmode);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_object2world_set) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csReversibleTransform *arg2 = (csReversibleTransform *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csSimpleRenderMesh_object2world_set(self,object2world);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_object2world_set" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csSimpleRenderMesh_object2world_set" "', argument " "2"" of type '" "csReversibleTransform *""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    if (arg1) (arg1)->object2world = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csSimpleRenderMesh_object2world_get) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csSimpleRenderMesh_object2world_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csSimpleRenderMesh_object2world_get" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    result = (csReversibleTransform *)& ((arg1)->object2world);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csSimpleRenderMesh) {
  {
    csSimpleRenderMesh *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csSimpleRenderMesh();");
    }
    result = (csSimpleRenderMesh *)new csSimpleRenderMesh();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSimpleRenderMesh, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csSimpleRenderMesh) {
  {
    csSimpleRenderMesh *arg1 = (csSimpleRenderMesh *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csSimpleRenderMesh(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimpleRenderMesh, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csSimpleRenderMesh" "', argument " "1"" of type '" "csSimpleRenderMesh *""'"); 
    }
    arg1 = reinterpret_cast< csSimpleRenderMesh * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_Open) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_Open(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_Open" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (bool)(arg1)->Open();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_Close) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_Close(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_Close" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    (arg1)->Close();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetDriver2D) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iGraphics2D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetDriver2D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetDriver2D" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (iGraphics2D *)(arg1)->GetDriver2D();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGraphics2D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetTextureManager) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetTextureManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetTextureManager" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (iTextureManager *)(arg1)->GetTextureManager();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureManager, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetDimensions) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_SetDimensions(self,width,height);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetDimensions" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_SetDimensions" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_SetDimensions" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetDimensions(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetWidth) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetWidth(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetWidth" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (int)((iGraphics3D const *)arg1)->GetWidth();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetHeight) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetHeight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetHeight" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (int)((iGraphics3D const *)arg1)->GetHeight();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetCaps) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csGraphics3DCaps *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetCaps(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetCaps" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (csGraphics3DCaps *)((iGraphics3D const *)arg1)->GetCaps();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csGraphics3DCaps, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetPerspectiveCenter) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_SetPerspectiveCenter(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetPerspectiveCenter" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_SetPerspectiveCenter" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_SetPerspectiveCenter" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetPerspectiveCenter(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetPerspectiveCenter) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetPerspectiveCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetPerspectiveCenter" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ((iGraphics3D const *)arg1)->GetPerspectiveCenter(*arg2,*arg3);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetPerspectiveAspect) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_SetPerspectiveAspect(self,aspect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetPerspectiveAspect" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_SetPerspectiveAspect" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetPerspectiveAspect(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetPerspectiveAspect) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetPerspectiveAspect(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetPerspectiveAspect" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (float)((iGraphics3D const *)arg1)->GetPerspectiveAspect();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetRenderTarget__SWIG_0) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics3D_SetRenderTarget(self,handle,persistent,subtexture);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->SetRenderTarget(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetRenderTarget__SWIG_1) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_SetRenderTarget(self,handle,persistent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->SetRenderTarget(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetRenderTarget__SWIG_2) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_SetRenderTarget(self,handle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_SetRenderTarget" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    (arg1)->SetRenderTarget(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetRenderTarget) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_SetRenderTarget__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_SetRenderTarget__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_SetRenderTarget__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iGraphics3D_SetRenderTarget'");
  XSRETURN(0);
}


XS(_wrap_iGraphics3D_GetRenderTarget) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetRenderTarget(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetRenderTarget" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (iTextureHandle *)((iGraphics3D const *)arg1)->GetRenderTarget();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_BeginDraw) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_BeginDraw(self,DrawFlags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_BeginDraw" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_BeginDraw" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (bool)(arg1)->BeginDraw(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_FinishDraw) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_FinishDraw(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_FinishDraw" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    (arg1)->FinishDraw();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_Print) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csRect *arg2 = (csRect *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_Print(self,area);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_Print" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_Print" "', argument " "2"" of type '" "csRect const *""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Print((csRect const *)arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_DrawMesh) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csCoreRenderMesh *arg2 = (csCoreRenderMesh *) 0 ;
    csRenderMeshModes *arg3 = 0 ;
    iShaderVarStack *arg4 = (iShaderVarStack *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics3D_DrawMesh(self,mymesh,modes,stacks);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_DrawMesh" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csCoreRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_DrawMesh" "', argument " "2"" of type '" "csCoreRenderMesh const *""'"); 
    }
    arg2 = reinterpret_cast< csCoreRenderMesh * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRenderMeshModes,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics3D_DrawMesh" "', argument " "3"" of type '" "csRenderMeshModes const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_DrawMesh" "', argument " "3"" of type '" "csRenderMeshModes const &""'"); 
    }
    arg3 = reinterpret_cast< csRenderMeshModes * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iShaderVarStack, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGraphics3D_DrawMesh" "', argument " "4"" of type '" "iShaderVarStack const *""'"); 
    }
    arg4 = reinterpret_cast< iShaderVarStack * >(argp4);
    (arg1)->DrawMesh((csCoreRenderMesh const *)arg2,(csRenderMeshModes const &)*arg3,(iShaderVarStack const *)arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_DrawSimpleMesh__SWIG_0) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csSimpleRenderMesh *arg2 = 0 ;
    uint arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_DrawSimpleMesh(self,mesh,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_DrawSimpleMesh" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSimpleRenderMesh,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_DrawSimpleMesh" "', argument " "2"" of type '" "csSimpleRenderMesh const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_DrawSimpleMesh" "', argument " "2"" of type '" "csSimpleRenderMesh const &""'"); 
    }
    arg2 = reinterpret_cast< csSimpleRenderMesh * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_DrawSimpleMesh" "', argument " "3"" of type '" "uint""'");
    } 
    arg3 = static_cast< uint >(val3);
    (arg1)->DrawSimpleMesh((csSimpleRenderMesh const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_DrawSimpleMesh__SWIG_1) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csSimpleRenderMesh *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_DrawSimpleMesh(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_DrawSimpleMesh" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSimpleRenderMesh,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_DrawSimpleMesh" "', argument " "2"" of type '" "csSimpleRenderMesh const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_DrawSimpleMesh" "', argument " "2"" of type '" "csSimpleRenderMesh const &""'"); 
    }
    arg2 = reinterpret_cast< csSimpleRenderMesh * >(argp2);
    (arg1)->DrawSimpleMesh((csSimpleRenderMesh const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_DrawSimpleMesh) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSimpleRenderMesh, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csSimpleRenderMesh, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_DrawSimpleMesh__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_DrawSimpleMesh__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iGraphics3D_DrawSimpleMesh'");
  XSRETURN(0);
}


XS(_wrap_iGraphics3D_DrawPixmap__SWIG_0) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    int arg7 ;
    int arg8 ;
    int arg9 ;
    int arg10 ;
    uint8 arg11 ;
    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 ;
    int val8 ;
    int ecode8 = 0 ;
    int val9 ;
    int ecode9 = 0 ;
    int val10 ;
    int ecode10 = 0 ;
    void *argp11 ;
    int res11 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 11) || (items > 11)) {
      SWIG_croak("Usage: iGraphics3D_DrawPixmap(self,hTex,sx,sy,sw,sh,tx,ty,tw,th,Alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_DrawPixmap" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_DrawPixmap" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_DrawPixmap" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics3D_DrawPixmap" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics3D_DrawPixmap" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics3D_DrawPixmap" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    ecode7 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iGraphics3D_DrawPixmap" "', argument " "7"" of type '" "int""'");
    } 
    arg7 = static_cast< int >(val7);
    ecode8 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iGraphics3D_DrawPixmap" "', argument " "8"" of type '" "int""'");
    } 
    arg8 = static_cast< int >(val8);
    ecode9 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "iGraphics3D_DrawPixmap" "', argument " "9"" of type '" "int""'");
    } 
    arg9 = static_cast< int >(val9);
    ecode10 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(9), &val10);
    if (!SWIG_IsOK(ecode10)) {
      SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "iGraphics3D_DrawPixmap" "', argument " "10"" of type '" "int""'");
    } 
    arg10 = static_cast< int >(val10);
    {
      res11 = SWIG_ConvertPtr(ST(10), &argp11, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res11)) {
        SWIG_exception_fail(SWIG_ArgError(res11), "in method '" "iGraphics3D_DrawPixmap" "', argument " "11"" of type '" "uint8""'"); 
      }  
      if (!argp11) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_DrawPixmap" "', argument " "11"" of type '" "uint8""'");
      } else {
        arg11 = *(reinterpret_cast< uint8 * >(argp11));
      }
    }
    (arg1)->DrawPixmap(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
    
    
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_DrawPixmap__SWIG_1) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    int arg7 ;
    int arg8 ;
    int arg9 ;
    int arg10 ;
    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 ;
    int val8 ;
    int ecode8 = 0 ;
    int val9 ;
    int ecode9 = 0 ;
    int val10 ;
    int ecode10 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 10) || (items > 10)) {
      SWIG_croak("Usage: iGraphics3D_DrawPixmap(self,hTex,sx,sy,sw,sh,tx,ty,tw,th);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_DrawPixmap" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_DrawPixmap" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_DrawPixmap" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics3D_DrawPixmap" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics3D_DrawPixmap" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics3D_DrawPixmap" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    ecode7 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iGraphics3D_DrawPixmap" "', argument " "7"" of type '" "int""'");
    } 
    arg7 = static_cast< int >(val7);
    ecode8 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iGraphics3D_DrawPixmap" "', argument " "8"" of type '" "int""'");
    } 
    arg8 = static_cast< int >(val8);
    ecode9 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "iGraphics3D_DrawPixmap" "', argument " "9"" of type '" "int""'");
    } 
    arg9 = static_cast< int >(val9);
    ecode10 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(9), &val10);
    if (!SWIG_IsOK(ecode10)) {
      SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "iGraphics3D_DrawPixmap" "', argument " "10"" of type '" "int""'");
    } 
    arg10 = static_cast< int >(val10);
    (arg1)->DrawPixmap(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10);
    
    
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_DrawPixmap) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 10) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(9), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 11) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(8), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(9), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(10), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_DrawPixmap__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_DrawPixmap__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iGraphics3D_DrawPixmap'");
  XSRETURN(0);
}


XS(_wrap_iGraphics3D_DrawLine) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    int arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics3D_DrawLine(self,v1,v2,fov,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_DrawLine" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_DrawLine" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_DrawLine" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics3D_DrawLine" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_DrawLine" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics3D_DrawLine" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics3D_DrawLine" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->DrawLine((csVector3 const &)*arg2,(csVector3 const &)*arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_ActivateBuffers__SWIG_0) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csRenderBufferHolder *arg2 = (csRenderBufferHolder *) 0 ;
    csRenderBufferName *arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_ActivateBuffers(self,holder,mapping);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_ActivateBuffers" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csRenderBufferHolder, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_ActivateBuffers" "', argument " "2"" of type '" "csRenderBufferHolder *""'"); 
    }
    arg2 = reinterpret_cast< csRenderBufferHolder * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csRenderBufferName, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics3D_ActivateBuffers" "', argument " "3"" of type '" "csRenderBufferName [15+1]""'"); 
    } 
    arg3 = reinterpret_cast< csRenderBufferName * >(argp3);
    result = (bool)(arg1)->ActivateBuffers(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_ActivateBuffers__SWIG_1) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csVertexAttrib *arg2 = (csVertexAttrib *) 0 ;
    iRenderBuffer **arg3 = (iRenderBuffer **) 0 ;
    unsigned int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics3D_ActivateBuffers(self,attribs,buffers,count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_ActivateBuffers" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVertexAttrib, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_ActivateBuffers" "', argument " "2"" of type '" "csVertexAttrib *""'"); 
    }
    arg2 = reinterpret_cast< csVertexAttrib * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_p_iRenderBuffer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics3D_ActivateBuffers" "', argument " "3"" of type '" "iRenderBuffer **""'"); 
    }
    arg3 = reinterpret_cast< iRenderBuffer ** >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics3D_ActivateBuffers" "', argument " "4"" of type '" "unsigned int""'");
    } 
    arg4 = static_cast< unsigned int >(val4);
    result = (bool)(arg1)->ActivateBuffers(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_ActivateBuffers) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRenderBufferHolder, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRenderBufferName, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVertexAttrib, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_p_iRenderBuffer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_ActivateBuffers__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iGraphics3D_ActivateBuffers__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iGraphics3D_ActivateBuffers'");
  XSRETURN(0);
}


XS(_wrap_iGraphics3D_DeactivateBuffers) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csVertexAttrib *arg2 = (csVertexAttrib *) 0 ;
    unsigned int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_DeactivateBuffers(self,attribs,count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_DeactivateBuffers" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVertexAttrib, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_DeactivateBuffers" "', argument " "2"" of type '" "csVertexAttrib *""'"); 
    }
    arg2 = reinterpret_cast< csVertexAttrib * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_DeactivateBuffers" "', argument " "3"" of type '" "unsigned int""'");
    } 
    arg3 = static_cast< unsigned int >(val3);
    (arg1)->DeactivateBuffers(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetTextureState) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int *arg2 = (int *) 0 ;
    iTextureHandle **arg3 = (iTextureHandle **) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iGraphics3D_SetTextureState(self,units,textures,count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetTextureState" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_int, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_SetTextureState" "', argument " "2"" of type '" "int *""'"); 
    }
    arg2 = reinterpret_cast< int * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics3D_SetTextureState" "', argument " "3"" of type '" "iTextureHandle **""'"); 
    }
    arg3 = reinterpret_cast< iTextureHandle ** >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics3D_SetTextureState" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->SetTextureState(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetClipper) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iClipper2D *arg2 = (iClipper2D *) 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_SetClipper(self,clipper,cliptype);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetClipper" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iClipper2D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_SetClipper" "', argument " "2"" of type '" "iClipper2D *""'"); 
    }
    arg2 = reinterpret_cast< iClipper2D * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_SetClipper" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetClipper(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetClipper) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iClipper2D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetClipper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetClipper" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (iClipper2D *)(arg1)->GetClipper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iClipper2D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetClipType) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetClipType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetClipType" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (int)((iGraphics3D const *)arg1)->GetClipType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetNearPlane) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csPlane3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_SetNearPlane(self,pl);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetNearPlane" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_SetNearPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_SetNearPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    (arg1)->SetNearPlane((csPlane3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_ResetNearPlane) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_ResetNearPlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_ResetNearPlane" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    (arg1)->ResetNearPlane();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetNearPlane) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csPlane3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetNearPlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetNearPlane" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    {
      csPlane3 const &_result_ref = ((iGraphics3D const *)arg1)->GetNearPlane();
      result = (csPlane3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csPlane3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_HasNearPlane) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_HasNearPlane(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_HasNearPlane" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (bool)((iGraphics3D const *)arg1)->HasNearPlane();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetRenderState) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    G3D_RENDERSTATEOPTION arg2 ;
    long arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    long val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_SetRenderState(self,op,val);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetRenderState" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_SetRenderState" "', argument " "2"" of type '" "G3D_RENDERSTATEOPTION""'");
    } 
    arg2 = static_cast< G3D_RENDERSTATEOPTION >(val2);
    ecode3 = SWIG_AsVal_long SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_SetRenderState" "', argument " "3"" of type '" "long""'");
    } 
    arg3 = static_cast< long >(val3);
    result = (bool)(arg1)->SetRenderState(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetRenderState) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    G3D_RENDERSTATEOPTION arg2 ;
    long result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_GetRenderState(self,op);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetRenderState" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_GetRenderState" "', argument " "2"" of type '" "G3D_RENDERSTATEOPTION""'");
    } 
    arg2 = static_cast< G3D_RENDERSTATEOPTION >(val2);
    result = (long)((iGraphics3D const *)arg1)->GetRenderState(arg2);
    ST(argvi) = SWIG_From_long  SWIG_PERL_CALL_ARGS_1(static_cast< long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetOption) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_SetOption(self,char const *,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetOption" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_SetOption" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics3D_SetOption" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->SetOption((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetWriteMask) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    bool arg2 ;
    bool arg3 ;
    bool arg4 ;
    bool arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics3D_SetWriteMask(self,red,green,blue,alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetWriteMask" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_SetWriteMask" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_SetWriteMask" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics3D_SetWriteMask" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iGraphics3D_SetWriteMask" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    (arg1)->SetWriteMask(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetWriteMask) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    bool *arg2 = 0 ;
    bool *arg3 = 0 ;
    bool *arg4 = 0 ;
    bool *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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics3D_GetWriteMask(self,red,green,blue,alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetWriteMask" "', argument " "1"" of type '" "iGraphics3D const *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_GetWriteMask" "', argument " "2"" of type '" "bool &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_GetWriteMask" "', argument " "2"" of type '" "bool &""'"); 
    }
    arg2 = reinterpret_cast< bool * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics3D_GetWriteMask" "', argument " "3"" of type '" "bool &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_GetWriteMask" "', argument " "3"" of type '" "bool &""'"); 
    }
    arg3 = reinterpret_cast< bool * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGraphics3D_GetWriteMask" "', argument " "4"" of type '" "bool &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_GetWriteMask" "', argument " "4"" of type '" "bool &""'"); 
    }
    arg4 = reinterpret_cast< bool * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGraphics3D_GetWriteMask" "', argument " "5"" of type '" "bool &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_GetWriteMask" "', argument " "5"" of type '" "bool &""'"); 
    }
    arg5 = reinterpret_cast< bool * >(argp5);
    ((iGraphics3D const *)arg1)->GetWriteMask(*arg2,*arg3,*arg4,*arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetZMode) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csZBufMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_SetZMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetZMode" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_SetZMode" "', argument " "2"" of type '" "csZBufMode""'");
    } 
    arg2 = static_cast< csZBufMode >(val2);
    (arg1)->SetZMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetZMode) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csZBufMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetZMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetZMode" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    result = (csZBufMode)(arg1)->GetZMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_EnableZOffset) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_EnableZOffset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_EnableZOffset" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    (arg1)->EnableZOffset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_DisableZOffset) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_DisableZOffset(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_DisableZOffset" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    (arg1)->DisableZOffset();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetShadowState) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_SetShadowState(self,state);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetShadowState" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_SetShadowState" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetShadowState(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetZBuffValue) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int arg2 ;
    int arg3 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iGraphics3D_GetZBuffValue(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetZBuffValue" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_GetZBuffValue" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_GetZBuffValue" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (float)(arg1)->GetZBuffValue(arg2,arg3);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_OpenPortal) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    size_t arg2 ;
    csVector2 *arg3 = (csVector2 *) 0 ;
    csPlane3 *arg4 = 0 ;
    csFlags arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iGraphics3D_OpenPortal(self,numVertices,vertices,normal,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_OpenPortal" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_OpenPortal" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iGraphics3D_OpenPortal" "', argument " "3"" of type '" "csVector2 const *""'"); 
    }
    arg3 = reinterpret_cast< csVector2 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iGraphics3D_OpenPortal" "', argument " "4"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_OpenPortal" "', argument " "4"" of type '" "csPlane3 const &""'"); 
    }
    arg4 = reinterpret_cast< csPlane3 * >(argp4);
    {
      res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csFlags,  0 );
      if (!SWIG_IsOK(res5)) {
        SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGraphics3D_OpenPortal" "', argument " "5"" of type '" "csFlags""'"); 
      }  
      if (!argp5) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_OpenPortal" "', argument " "5"" of type '" "csFlags""'");
      } else {
        arg5 = *(reinterpret_cast< csFlags * >(argp5));
      }
    }
    (arg1)->OpenPortal(arg2,(csVector2 const *)arg3,(csPlane3 const &)*arg4,arg5);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_ClosePortal) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_ClosePortal(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_ClosePortal" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    (arg1)->ClosePortal();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_CreateHalo) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    unsigned char *arg5 = (unsigned char *) 0 ;
    int arg6 ;
    int arg7 ;
    iHalo *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    int val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iGraphics3D_CreateHalo(self,iR,iG,iB,iAlpha,iWidth,iHeight);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_CreateHalo" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iGraphics3D_CreateHalo" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iGraphics3D_CreateHalo" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iGraphics3D_CreateHalo" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_unsigned_char, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iGraphics3D_CreateHalo" "', argument " "5"" of type '" "unsigned char *""'"); 
    }
    arg5 = reinterpret_cast< unsigned char * >(argp5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iGraphics3D_CreateHalo" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    ecode7 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iGraphics3D_CreateHalo" "', argument " "7"" of type '" "int""'");
    } 
    arg7 = static_cast< int >(val7);
    result = (iHalo *)(arg1)->CreateHalo(arg2,arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iHalo, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_RemoveFromCache) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iRendererLightmap *arg2 = (iRendererLightmap *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_RemoveFromCache(self,rlm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_RemoveFromCache" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRendererLightmap, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_RemoveFromCache" "', argument " "2"" of type '" "iRendererLightmap *""'"); 
    }
    arg2 = reinterpret_cast< iRendererLightmap * >(argp2);
    (arg1)->RemoveFromCache(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_SetWorldToCamera) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csReversibleTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iGraphics3D_SetWorldToCamera(self,w2c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_SetWorldToCamera" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csReversibleTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_SetWorldToCamera" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iGraphics3D_SetWorldToCamera" "', argument " "2"" of type '" "csReversibleTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csReversibleTransform * >(argp2);
    (arg1)->SetWorldToCamera((csReversibleTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_PerformExtension) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    char *arg2 = (char *) 0 ;
    void *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 2) {
      SWIG_croak("Usage: iGraphics3D_PerformExtension(self,command,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_PerformExtension" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iGraphics3D_PerformExtension" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->PerformExtension((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_GetWorldToCamera) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csReversibleTransform *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iGraphics3D_GetWorldToCamera(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iGraphics3D_GetWorldToCamera" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    {
      csReversibleTransform const &_result_ref = (arg1)->GetWorldToCamera();
      result = (csReversibleTransform *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReversibleTransform, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iGraphics3D) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iGraphics3D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iGraphics3D" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    delete_iGraphics3D(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iGraphics3D_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iGraphics3D_scfGetVersion();");
    }
    result = (int)iGraphics3D_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iNativeWindowManager_Alert__SWIG_0) {
  {
    iNativeWindowManager *arg1 = (iNativeWindowManager *) 0 ;
    int arg2 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    void *arg6 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 5) {
      SWIG_croak("Usage: iNativeWindowManager_Alert(self,type,title,okMsg,msg,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iNativeWindowManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iNativeWindowManager_Alert" "', argument " "1"" of type '" "iNativeWindowManager *""'"); 
    }
    arg1 = reinterpret_cast< iNativeWindowManager * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iNativeWindowManager_Alert" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iNativeWindowManager_Alert" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iNativeWindowManager_Alert" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iNativeWindowManager_Alert" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    (arg1)->Alert(arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
    
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    SWIG_croak_null();
  }
}


XS(_wrap_iNativeWindowManager_Alert__SWIG_1) {
  {
    iNativeWindowManager *arg1 = (iNativeWindowManager *) 0 ;
    int arg2 ;
    wchar_t *arg3 = (wchar_t *) 0 ;
    wchar_t *arg4 = (wchar_t *) 0 ;
    wchar_t *arg5 = (wchar_t *) 0 ;
    void *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 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 5) {
      SWIG_croak("Usage: iNativeWindowManager_Alert(self,type,title,okMsg,msg,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iNativeWindowManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iNativeWindowManager_Alert" "', argument " "1"" of type '" "iNativeWindowManager *""'"); 
    }
    arg1 = reinterpret_cast< iNativeWindowManager * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iNativeWindowManager_Alert" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_wchar_t, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iNativeWindowManager_Alert" "', argument " "3"" of type '" "wchar_t const *""'"); 
    }
    arg3 = reinterpret_cast< wchar_t * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_wchar_t, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iNativeWindowManager_Alert" "', argument " "4"" of type '" "wchar_t const *""'"); 
    }
    arg4 = reinterpret_cast< wchar_t * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_wchar_t, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iNativeWindowManager_Alert" "', argument " "5"" of type '" "wchar_t const *""'"); 
    }
    arg5 = reinterpret_cast< wchar_t * >(argp5);
    (arg1)->Alert(arg2,(wchar_t const *)arg3,(wchar_t const *)arg4,(wchar_t const *)arg5,arg6);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iNativeWindowManager_Alert) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items >= 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iNativeWindowManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_wchar_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_wchar_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_wchar_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items >= 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iNativeWindowManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(4), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iNativeWindowManager_Alert__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iNativeWindowManager_Alert__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iNativeWindowManager_Alert'");
  XSRETURN(0);
}


XS(_wrap_delete_iNativeWindowManager) {
  {
    iNativeWindowManager *arg1 = (iNativeWindowManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iNativeWindowManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iNativeWindowManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iNativeWindowManager" "', argument " "1"" of type '" "iNativeWindowManager *""'"); 
    }
    arg1 = reinterpret_cast< iNativeWindowManager * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iNativeWindow_SetTitle__SWIG_0) {
  {
    iNativeWindow *arg1 = (iNativeWindow *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iNativeWindow_SetTitle(self,title);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iNativeWindow, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iNativeWindow_SetTitle" "', argument " "1"" of type '" "iNativeWindow *""'"); 
    }
    arg1 = reinterpret_cast< iNativeWindow * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iNativeWindow_SetTitle" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetTitle((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iNativeWindow_SetTitle__SWIG_1) {
  {
    iNativeWindow *arg1 = (iNativeWindow *) 0 ;
    wchar_t *arg2 = (wchar_t *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iNativeWindow_SetTitle(self,title);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iNativeWindow, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iNativeWindow_SetTitle" "', argument " "1"" of type '" "iNativeWindow *""'"); 
    }
    arg1 = reinterpret_cast< iNativeWindow * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_wchar_t, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iNativeWindow_SetTitle" "', argument " "2"" of type '" "wchar_t const *""'"); 
    }
    arg2 = reinterpret_cast< wchar_t * >(argp2);
    (arg1)->SetTitle((wchar_t const *)arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iNativeWindow_SetTitle) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iNativeWindow, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_wchar_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iNativeWindow, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iNativeWindow_SetTitle__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iNativeWindow_SetTitle__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iNativeWindow_SetTitle'");
  XSRETURN(0);
}


XS(_wrap_delete_iNativeWindow) {
  {
    iNativeWindow *arg1 = (iNativeWindow *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iNativeWindow(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iNativeWindow, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iNativeWindow" "', argument " "1"" of type '" "iNativeWindow *""'"); 
    }
    arg1 = reinterpret_cast< iNativeWindow * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFontDeleteNotify_BeforeDelete) {
  {
    iFontDeleteNotify *arg1 = (iFontDeleteNotify *) 0 ;
    iFont *arg2 = (iFont *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFontDeleteNotify_BeforeDelete(self,font);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFontDeleteNotify, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFontDeleteNotify_BeforeDelete" "', argument " "1"" of type '" "iFontDeleteNotify *""'"); 
    }
    arg1 = reinterpret_cast< iFontDeleteNotify * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFontDeleteNotify_BeforeDelete" "', argument " "2"" of type '" "iFont *""'"); 
    }
    arg2 = reinterpret_cast< iFont * >(argp2);
    (arg1)->BeforeDelete(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iFontDeleteNotify) {
  {
    iFontDeleteNotify *arg1 = (iFontDeleteNotify *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iFontDeleteNotify(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFontDeleteNotify, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iFontDeleteNotify" "', argument " "1"" of type '" "iFontDeleteNotify *""'"); 
    }
    arg1 = reinterpret_cast< iFontDeleteNotify * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBitmapMetrics_width_set) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBitmapMetrics_width_set(self,width);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBitmapMetrics_width_set" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBitmapMetrics_width_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->width = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBitmapMetrics_width_get) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBitmapMetrics_width_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBitmapMetrics_width_get" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    result = (int) ((arg1)->width);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBitmapMetrics_height_set) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBitmapMetrics_height_set(self,height);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBitmapMetrics_height_set" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBitmapMetrics_height_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->height = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBitmapMetrics_height_get) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBitmapMetrics_height_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBitmapMetrics_height_get" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    result = (int) ((arg1)->height);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBitmapMetrics_left_set) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBitmapMetrics_left_set(self,left);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBitmapMetrics_left_set" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBitmapMetrics_left_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->left = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBitmapMetrics_left_get) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBitmapMetrics_left_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBitmapMetrics_left_get" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    result = (int) ((arg1)->left);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBitmapMetrics_top_set) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csBitmapMetrics_top_set(self,top);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBitmapMetrics_top_set" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csBitmapMetrics_top_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->top = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csBitmapMetrics_top_get) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csBitmapMetrics_top_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csBitmapMetrics_top_get" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    result = (int) ((arg1)->top);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csBitmapMetrics) {
  {
    csBitmapMetrics *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csBitmapMetrics();");
    }
    result = (csBitmapMetrics *)new csBitmapMetrics();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBitmapMetrics, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csBitmapMetrics) {
  {
    csBitmapMetrics *arg1 = (csBitmapMetrics *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csBitmapMetrics(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csBitmapMetrics, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csBitmapMetrics" "', argument " "1"" of type '" "csBitmapMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csBitmapMetrics * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGlyphMetrics_advance_set) {
  {
    csGlyphMetrics *arg1 = (csGlyphMetrics *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGlyphMetrics_advance_set(self,advance);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGlyphMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGlyphMetrics_advance_set" "', argument " "1"" of type '" "csGlyphMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csGlyphMetrics * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGlyphMetrics_advance_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->advance = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGlyphMetrics_advance_get) {
  {
    csGlyphMetrics *arg1 = (csGlyphMetrics *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csGlyphMetrics_advance_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGlyphMetrics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGlyphMetrics_advance_get" "', argument " "1"" of type '" "csGlyphMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csGlyphMetrics * >(argp1);
    result = (int) ((arg1)->advance);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csGlyphMetrics) {
  {
    csGlyphMetrics *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csGlyphMetrics();");
    }
    result = (csGlyphMetrics *)new csGlyphMetrics();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csGlyphMetrics, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csGlyphMetrics) {
  {
    csGlyphMetrics *arg1 = (csGlyphMetrics *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csGlyphMetrics(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csGlyphMetrics, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csGlyphMetrics" "', argument " "1"" of type '" "csGlyphMetrics *""'"); 
    }
    arg1 = reinterpret_cast< csGlyphMetrics * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_AddDeleteCallback) {
  {
    iFont *arg1 = (iFont *) 0 ;
    iFontDeleteNotify *arg2 = (iFontDeleteNotify *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFont_AddDeleteCallback(self,func);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_AddDeleteCallback" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFontDeleteNotify, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFont_AddDeleteCallback" "', argument " "2"" of type '" "iFontDeleteNotify *""'"); 
    }
    arg2 = reinterpret_cast< iFontDeleteNotify * >(argp2);
    (arg1)->AddDeleteCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_RemoveDeleteCallback) {
  {
    iFont *arg1 = (iFont *) 0 ;
    iFontDeleteNotify *arg2 = (iFontDeleteNotify *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFont_RemoveDeleteCallback(self,func);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_RemoveDeleteCallback" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFontDeleteNotify, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFont_RemoveDeleteCallback" "', argument " "2"" of type '" "iFontDeleteNotify *""'"); 
    }
    arg2 = reinterpret_cast< iFontDeleteNotify * >(argp2);
    result = (bool)(arg1)->RemoveDeleteCallback(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetSize) {
  {
    iFont *arg1 = (iFont *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFont_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetSize" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    result = (float)(arg1)->GetSize();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetMaxSize) {
  {
    iFont *arg1 = (iFont *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFont_GetMaxSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetMaxSize" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    (arg1)->GetMaxSize(*arg2,*arg3);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetGlyphMetrics) {
  {
    iFont *arg1 = (iFont *) 0 ;
    utf32_char arg2 ;
    csGlyphMetrics *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iFont_GetGlyphMetrics(self,c,metrics);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetGlyphMetrics" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFont_GetGlyphMetrics" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csGlyphMetrics,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iFont_GetGlyphMetrics" "', argument " "3"" of type '" "csGlyphMetrics &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iFont_GetGlyphMetrics" "', argument " "3"" of type '" "csGlyphMetrics &""'"); 
    }
    arg3 = reinterpret_cast< csGlyphMetrics * >(argp3);
    result = (bool)(arg1)->GetGlyphMetrics(arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetGlyphBitmap) {
  {
    iFont *arg1 = (iFont *) 0 ;
    utf32_char arg2 ;
    csBitmapMetrics *arg3 = 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iFont_GetGlyphBitmap(self,c,metrics);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetGlyphBitmap" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFont_GetGlyphBitmap" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBitmapMetrics,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iFont_GetGlyphBitmap" "', argument " "3"" of type '" "csBitmapMetrics &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iFont_GetGlyphBitmap" "', argument " "3"" of type '" "csBitmapMetrics &""'"); 
    }
    arg3 = reinterpret_cast< csBitmapMetrics * >(argp3);
    result = (arg1)->GetGlyphBitmap(arg2,*arg3);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetGlyphAlphaBitmap) {
  {
    iFont *arg1 = (iFont *) 0 ;
    utf32_char arg2 ;
    csBitmapMetrics *arg3 = 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iFont_GetGlyphAlphaBitmap(self,c,metrics);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetGlyphAlphaBitmap" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFont_GetGlyphAlphaBitmap" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBitmapMetrics,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iFont_GetGlyphAlphaBitmap" "', argument " "3"" of type '" "csBitmapMetrics &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iFont_GetGlyphAlphaBitmap" "', argument " "3"" of type '" "csBitmapMetrics &""'"); 
    }
    arg3 = reinterpret_cast< csBitmapMetrics * >(argp3);
    result = (arg1)->GetGlyphAlphaBitmap(arg2,*arg3);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetDimensions) {
  {
    iFont *arg1 = (iFont *) 0 ;
    char *arg2 = (char *) 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int temp5 ;
    int res5 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg3 = &temp3;
    arg4 = &temp4;
    arg5 = &temp5;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFont_GetDimensions(self,text);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetDimensions" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFont_GetDimensions" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->GetDimensions((char const *)arg2,*arg3,*arg4,*arg5);
    
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res5)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg5)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res5) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg5), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetLength) {
  {
    iFont *arg1 = (iFont *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iFont_GetLength(self,text,maxwidth);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetLength" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFont_GetLength" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iFont_GetLength" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (int)(arg1)->GetLength((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetDescent) {
  {
    iFont *arg1 = (iFont *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFont_GetDescent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetDescent" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    result = (int)(arg1)->GetDescent();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetAscent) {
  {
    iFont *arg1 = (iFont *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFont_GetAscent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetAscent" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    result = (int)(arg1)->GetAscent();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_HasGlyph) {
  {
    iFont *arg1 = (iFont *) 0 ;
    utf32_char arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFont_HasGlyph(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_HasGlyph" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFont_HasGlyph" "', argument " "2"" of type '" "utf32_char""'");
    } 
    arg2 = static_cast< utf32_char >(val2);
    result = (bool)(arg1)->HasGlyph(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetTextHeight) {
  {
    iFont *arg1 = (iFont *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFont_GetTextHeight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetTextHeight" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    result = (int)(arg1)->GetTextHeight();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetUnderlinePosition) {
  {
    iFont *arg1 = (iFont *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFont_GetUnderlinePosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetUnderlinePosition" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    result = (int)(arg1)->GetUnderlinePosition();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_GetUnderlineThickness) {
  {
    iFont *arg1 = (iFont *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFont_GetUnderlineThickness(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFont_GetUnderlineThickness" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    result = (int)(arg1)->GetUnderlineThickness();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iFont) {
  {
    iFont *arg1 = (iFont *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iFont(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFont, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iFont" "', argument " "1"" of type '" "iFont *""'"); 
    }
    arg1 = reinterpret_cast< iFont * >(argp1);
    delete_iFont(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFont_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iFont_scfGetVersion();");
    }
    result = (int)iFont_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iFontServer_LoadFont__SWIG_0) {
  {
    iFontServer *arg1 = (iFontServer *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    SwigValueWrapper<csPtr<iFont > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iFontServer_LoadFont(self,filename,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFontServer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFontServer_LoadFont" "', argument " "1"" of type '" "iFontServer *""'"); 
    }
    arg1 = reinterpret_cast< iFontServer * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFontServer_LoadFont" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iFontServer_LoadFont" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (arg1)->LoadFont((char const *)arg2,arg3);
    {
      csRef<iFont> rf ((csPtr<iFont>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iFont*)rf, SWIG_TypeQuery("cspace::""iFont"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFontServer_LoadFont__SWIG_1) {
  {
    iFontServer *arg1 = (iFontServer *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iFont > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFontServer_LoadFont(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFontServer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFontServer_LoadFont" "', argument " "1"" of type '" "iFontServer *""'"); 
    }
    arg1 = reinterpret_cast< iFontServer * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iFontServer_LoadFont" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->LoadFont((char const *)arg2);
    {
      csRef<iFont> rf ((csPtr<iFont>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iFont*)rf, SWIG_TypeQuery("cspace::""iFont"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iFontServer_LoadFont) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iFontServer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iFontServer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iFontServer_LoadFont__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iFontServer_LoadFont__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iFontServer_LoadFont'");
  XSRETURN(0);
}


XS(_wrap_iFontServer_SetWarnOnError) {
  {
    iFontServer *arg1 = (iFontServer *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iFontServer_SetWarnOnError(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFontServer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFontServer_SetWarnOnError" "', argument " "1"" of type '" "iFontServer *""'"); 
    }
    arg1 = reinterpret_cast< iFontServer * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iFontServer_SetWarnOnError" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetWarnOnError(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFontServer_GetWarnOnError) {
  {
    iFontServer *arg1 = (iFontServer *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iFontServer_GetWarnOnError(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFontServer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iFontServer_GetWarnOnError" "', argument " "1"" of type '" "iFontServer *""'"); 
    }
    arg1 = reinterpret_cast< iFontServer * >(argp1);
    result = (bool)(arg1)->GetWarnOnError();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iFontServer) {
  {
    iFontServer *arg1 = (iFontServer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iFontServer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iFontServer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iFontServer" "', argument " "1"" of type '" "iFontServer *""'"); 
    }
    arg1 = reinterpret_cast< iFontServer * >(argp1);
    delete_iFontServer(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iFontServer_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iFontServer_scfGetVersion();");
    }
    result = (int)iFontServer_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iHalo_GetWidth) {
  {
    iHalo *arg1 = (iHalo *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iHalo_GetWidth(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iHalo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iHalo_GetWidth" "', argument " "1"" of type '" "iHalo *""'"); 
    }
    arg1 = reinterpret_cast< iHalo * >(argp1);
    result = (int)(arg1)->GetWidth();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iHalo_GetHeight) {
  {
    iHalo *arg1 = (iHalo *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iHalo_GetHeight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iHalo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iHalo_GetHeight" "', argument " "1"" of type '" "iHalo *""'"); 
    }
    arg1 = reinterpret_cast< iHalo * >(argp1);
    result = (int)(arg1)->GetHeight();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iHalo_SetColor) {
  {
    iHalo *arg1 = (iHalo *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    float *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float temp2 ;
    int res2 = 0 ;
    float temp3 ;
    int res3 = 0 ;
    float temp4 ;
    int res4 = 0 ;
    int argvi = 0;
    SV * _saved[3] ;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iHalo_SetColor(self,iR,iG,iB);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iHalo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iHalo_SetColor" "', argument " "1"" of type '" "iHalo *""'"); 
    }
    arg1 = reinterpret_cast< iHalo * >(argp1);
    if (!(SWIG_IsOK((res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2),SWIGTYPE_p_float,0))))) {
      float val; 
      int ecode = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val);
      if (!SWIG_IsOK(ecode)) {
        SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "iHalo_SetColor" "', argument " "2"" of type '" "float""'");
      }
      temp2 = static_cast< float >(val);
      arg2 = &temp2;
      res2 = SWIG_AddTmpMask(ecode);
    }
    if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(ST(2),SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_float,0))))) {
      float val; 
      int ecode = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val);
      if (!SWIG_IsOK(ecode)) {
        SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "iHalo_SetColor" "', argument " "3"" of type '" "float""'");
      }
      temp3 = static_cast< float >(val);
      arg3 = &temp3;
      res3 = SWIG_AddTmpMask(ecode);
    }
    if (!(SWIG_IsOK((res4 = SWIG_ConvertPtr(ST(3),SWIG_as_voidptrptr(&arg4),SWIGTYPE_p_float,0))))) {
      float val; 
      int ecode = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val);
      if (!SWIG_IsOK(ecode)) {
        SWIG_exception_fail(SWIG_ArgError(ecode), "in method '" "iHalo_SetColor" "', argument " "4"" of type '" "float""'");
      }
      temp4 = static_cast< float >(val);
      arg4 = &temp4;
      res4 = SWIG_AddTmpMask(ecode);
    }
    _saved[0] = ST(1);
    _saved[1] = ST(2);
    _saved[2] = ST(3);
    (arg1)->SetColor(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iHalo_GetColor) {
  {
    iHalo *arg1 = (iHalo *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    float *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float temp2 ;
    int res2 = SWIG_TMPOBJ ;
    float temp3 ;
    int res3 = SWIG_TMPOBJ ;
    float temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iHalo_GetColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iHalo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iHalo_GetColor" "', argument " "1"" of type '" "iHalo *""'"); 
    }
    arg1 = reinterpret_cast< iHalo * >(argp1);
    (arg1)->GetColor(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_float, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iHalo_Draw) {
  {
    iHalo *arg1 = (iHalo *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    csVector2 *arg7 = (csVector2 *) 0 ;
    size_t arg8 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    size_t val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iHalo_Draw(self,x,y,w,h,iIntensity,iVertices,iVertCount);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iHalo, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iHalo_Draw" "', argument " "1"" of type '" "iHalo *""'"); 
    }
    arg1 = reinterpret_cast< iHalo * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iHalo_Draw" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iHalo_Draw" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iHalo_Draw" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iHalo_Draw" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iHalo_Draw" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_csVector2, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "iHalo_Draw" "', argument " "7"" of type '" "csVector2 *""'"); 
    }
    arg7 = reinterpret_cast< csVector2 * >(argp7);
    ecode8 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iHalo_Draw" "', argument " "8"" of type '" "size_t""'");
    } 
    arg8 = static_cast< size_t >(val8);
    (arg1)->Draw(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iHalo) {
  {
    iHalo *arg1 = (iHalo *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iHalo(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iHalo, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iHalo" "', argument " "1"" of type '" "iHalo *""'"); 
    }
    arg1 = reinterpret_cast< iHalo * >(argp1);
    delete_iHalo(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iHalo_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iHalo_scfGetVersion();");
    }
    result = (int)iHalo_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iShaderVarStack) {
  {
    iShaderVarStack *arg1 = (iShaderVarStack *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iShaderVarStack(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVarStack, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iShaderVarStack" "', argument " "1"" of type '" "iShaderVarStack *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVarStack * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGetShaderVariableFromStack__SWIG_0) {
  {
    csShaderVarStack *arg1 = 0 ;
    csStringID *arg2 = 0 ;
    csShaderVariable *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    csStringID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGetShaderVariableFromStack(stack,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGetShaderVariableFromStack" "', argument " "1"" of type '" "csShaderVarStack const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csGetShaderVariableFromStack" "', argument " "1"" of type '" "csShaderVarStack const &""'"); 
    }
    arg1 = reinterpret_cast< csShaderVarStack * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGetShaderVariableFromStack" "', argument " "2"" of type '" "csStringID""'");
    } 
    temp2 = static_cast< csStringID >(val2);
    arg2 = &temp2;
    result = (csShaderVariable *)csGetShaderVariableFromStack((csArray<csShaderVariable *,csArrayElementHandler<csShaderVariable * >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > const &)*arg1,(unsigned long const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGetShaderVariableFromStack__SWIG_1) {
  {
    iShaderVarStack *arg1 = (iShaderVarStack *) 0 ;
    csStringID *arg2 = 0 ;
    csShaderVariable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    csStringID temp2 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csGetShaderVariableFromStack(stack,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVarStack, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csGetShaderVariableFromStack" "', argument " "1"" of type '" "iShaderVarStack const *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVarStack * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csGetShaderVariableFromStack" "', argument " "2"" of type '" "csStringID""'");
    } 
    temp2 = static_cast< csStringID >(val2);
    arg2 = &temp2;
    result = (csShaderVariable *)csGetShaderVariableFromStack((iShaderVarStack const *)arg1,(unsigned long const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csGetShaderVariableFromStack) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iShaderVarStack, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csGetShaderVariableFromStack__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csGetShaderVariableFromStack__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csGetShaderVariableFromStack'");
  XSRETURN(0);
}


XS(_wrap_iShaderVariableContext_AddVariable) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    csShaderVariable *arg2 = (csShaderVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderVariableContext_AddVariable(self,variable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_AddVariable" "', argument " "1"" of type '" "iShaderVariableContext *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderVariableContext_AddVariable" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    arg2 = reinterpret_cast< csShaderVariable * >(argp2);
    (arg1)->AddVariable(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_GetVariable) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    csStringID arg2 ;
    csShaderVariable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderVariableContext_GetVariable(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_GetVariable" "', argument " "1"" of type '" "iShaderVariableContext const *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShaderVariableContext_GetVariable" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (csShaderVariable *)((iShaderVariableContext const *)arg1)->GetVariable(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_GetVariableAdd) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    csStringID arg2 ;
    csShaderVariable *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderVariableContext_GetVariableAdd(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_GetVariableAdd" "', argument " "1"" of type '" "iShaderVariableContext *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShaderVariableContext_GetVariableAdd" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (csShaderVariable *)(arg1)->GetVariableAdd(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderVariable, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_GetShaderVariables) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    csRefArray<csShaderVariable > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShaderVariableContext_GetShaderVariables(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_GetShaderVariables" "', argument " "1"" of type '" "iShaderVariableContext const *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    {
      csRefArray<csShaderVariable > const &_result_ref = ((iShaderVariableContext const *)arg1)->GetShaderVariables();
      result = (csRefArray<csShaderVariable > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRefArrayTcsShaderVariable_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_PushVariables) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    iShaderVarStack *arg2 = (iShaderVarStack *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderVariableContext_PushVariables(self,stacks);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_PushVariables" "', argument " "1"" of type '" "iShaderVariableContext const *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShaderVarStack, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderVariableContext_PushVariables" "', argument " "2"" of type '" "iShaderVarStack *""'"); 
    }
    arg2 = reinterpret_cast< iShaderVarStack * >(argp2);
    ((iShaderVariableContext const *)arg1)->PushVariables(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_IsEmpty) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShaderVariableContext_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_IsEmpty" "', argument " "1"" of type '" "iShaderVariableContext const *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    result = (bool)((iShaderVariableContext const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_ReplaceVariable) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    csShaderVariable *arg2 = (csShaderVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderVariableContext_ReplaceVariable(self,variable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_ReplaceVariable" "', argument " "1"" of type '" "iShaderVariableContext *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderVariableContext_ReplaceVariable" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    arg2 = reinterpret_cast< csShaderVariable * >(argp2);
    (arg1)->ReplaceVariable(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_Clear) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShaderVariableContext_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_Clear" "', argument " "1"" of type '" "iShaderVariableContext *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_RemoveVariable) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    csShaderVariable *arg2 = (csShaderVariable *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderVariableContext_RemoveVariable(self,variable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderVariableContext_RemoveVariable" "', argument " "1"" of type '" "iShaderVariableContext *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csShaderVariable, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderVariableContext_RemoveVariable" "', argument " "2"" of type '" "csShaderVariable *""'"); 
    }
    arg2 = reinterpret_cast< csShaderVariable * >(argp2);
    result = (bool)(arg1)->RemoveVariable(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iShaderVariableContext) {
  {
    iShaderVariableContext *arg1 = (iShaderVariableContext *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iShaderVariableContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderVariableContext, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iShaderVariableContext" "', argument " "1"" of type '" "iShaderVariableContext *""'"); 
    }
    arg1 = reinterpret_cast< iShaderVariableContext * >(argp1);
    delete_iShaderVariableContext(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderVariableContext_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iShaderVariableContext_scfGetVersion();");
    }
    result = (int)iShaderVariableContext_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_RegisterShader) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    iShader *arg2 = (iShader *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderManager_RegisterShader(self,shader);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_RegisterShader" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderManager_RegisterShader" "', argument " "2"" of type '" "iShader *""'"); 
    }
    arg2 = reinterpret_cast< iShader * >(argp2);
    (arg1)->RegisterShader(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_UnregisterShader) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    iShader *arg2 = (iShader *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderManager_UnregisterShader(self,shader);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_UnregisterShader" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderManager_UnregisterShader" "', argument " "2"" of type '" "iShader *""'"); 
    }
    arg2 = reinterpret_cast< iShader * >(argp2);
    (arg1)->UnregisterShader(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_GetShader) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iShader *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderManager_GetShader(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_GetShader" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderManager_GetShader" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iShader *)(arg1)->GetShader((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShader, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_GetShaders) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    csRefArray<iShader > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShaderManager_GetShaders(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_GetShaders" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    {
      csRefArray<iShader > const &_result_ref = (arg1)->GetShaders();
      result = (csRefArray<iShader > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRefArrayTiShader_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_RegisterCompiler) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    iShaderCompiler *arg2 = (iShaderCompiler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderManager_RegisterCompiler(self,compiler);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_RegisterCompiler" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iShaderCompiler, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderManager_RegisterCompiler" "', argument " "2"" of type '" "iShaderCompiler *""'"); 
    }
    arg2 = reinterpret_cast< iShaderCompiler * >(argp2);
    (arg1)->RegisterCompiler(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_GetCompiler) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iShaderCompiler *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderManager_GetCompiler(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_GetCompiler" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderManager_GetCompiler" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iShaderCompiler *)(arg1)->GetCompiler((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShaderCompiler, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_GetShaderVariableStack) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    iShaderVarStack *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShaderManager_GetShaderVariableStack(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_GetShaderVariableStack" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    result = (iShaderVarStack *)(arg1)->GetShaderVariableStack();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShaderVarStack, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_SetTagOptions__SWIG_0) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    csStringID arg2 ;
    csShaderTagPresence arg3 ;
    int arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iShaderManager_SetTagOptions(self,tag,presence,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_SetTagOptions" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShaderManager_SetTagOptions" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iShaderManager_SetTagOptions" "', argument " "3"" of type '" "csShaderTagPresence""'");
    } 
    arg3 = static_cast< csShaderTagPresence >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iShaderManager_SetTagOptions" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->SetTagOptions(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_SetTagOptions__SWIG_1) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    csStringID arg2 ;
    csShaderTagPresence arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iShaderManager_SetTagOptions(self,tag,presence);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_SetTagOptions" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShaderManager_SetTagOptions" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iShaderManager_SetTagOptions" "', argument " "3"" of type '" "csShaderTagPresence""'");
    } 
    arg3 = static_cast< csShaderTagPresence >(val3);
    (arg1)->SetTagOptions(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_SetTagOptions) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iShaderManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iShaderManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iShaderManager_SetTagOptions__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iShaderManager_SetTagOptions__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iShaderManager_SetTagOptions'");
  XSRETURN(0);
}


XS(_wrap_iShaderManager_GetTagOptions) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    csStringID arg2 ;
    csShaderTagPresence *arg3 = 0 ;
    int *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iShaderManager_GetTagOptions(self,tag,presence,priority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_GetTagOptions" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShaderManager_GetTagOptions" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csShaderTagPresence,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iShaderManager_GetTagOptions" "', argument " "3"" of type '" "csShaderTagPresence &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iShaderManager_GetTagOptions" "', argument " "3"" of type '" "csShaderTagPresence &""'"); 
    }
    arg3 = reinterpret_cast< csShaderTagPresence * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iShaderManager_GetTagOptions" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iShaderManager_GetTagOptions" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    (arg1)->GetTagOptions(arg2,*arg3,*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_GetTags) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    csShaderTagPresence arg2 ;
    int *arg3 = 0 ;
    csSet<csStringID > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iShaderManager_GetTags(self,presence,count);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_GetTags" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShaderManager_GetTags" "', argument " "2"" of type '" "csShaderTagPresence""'");
    } 
    arg2 = static_cast< csShaderTagPresence >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iShaderManager_GetTags" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iShaderManager_GetTags" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    {
      csSet<csStringID > const &_result_ref = (arg1)->GetTags(arg2,*arg3);
      result = (csSet<csStringID > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_SetActiveLights) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    csArray<iLight * > *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderManager_SetActiveLights(self,lights);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_SetActiveLights" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderManager_SetActiveLights" "', argument " "2"" of type '" "csArray<iLight * > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iShaderManager_SetActiveLights" "', argument " "2"" of type '" "csArray<iLight * > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<iLight * > * >(argp2);
    (arg1)->SetActiveLights((csArray<iLight * > const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_GetActiveLights) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    csArray<iLight * > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShaderManager_GetActiveLights(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderManager_GetActiveLights" "', argument " "1"" of type '" "iShaderManager const *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    {
      csArray<iLight * > const &_result_ref = ((iShaderManager const *)arg1)->GetActiveLights();
      result = (csArray<iLight * > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iShaderManager) {
  {
    iShaderManager *arg1 = (iShaderManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iShaderManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iShaderManager" "', argument " "1"" of type '" "iShaderManager *""'"); 
    }
    arg1 = reinterpret_cast< iShaderManager * >(argp1);
    delete_iShaderManager(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderManager_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iShaderManager_scfGetVersion();");
    }
    result = (int)iShaderManager_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderMetadata_description_set) {
  {
    csShaderMetadata *arg1 = (csShaderMetadata *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderMetadata_description_set(self,description);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderMetadata, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderMetadata_description_set" "', argument " "1"" of type '" "csShaderMetadata *""'"); 
    }
    arg1 = reinterpret_cast< csShaderMetadata * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csShaderMetadata_description_set" "', argument " "2"" of type '" "char *""'");
    }
    arg2 = buf2;
    if (arg1->description) delete[] arg1->description;
    if (arg2) {
      size_t size = strlen(arg2) + 1;
      arg1->description = reinterpret_cast< char* >(memcpy((new char[size]), arg2, sizeof(char)*(size)));
    } else {
      arg1->description = 0;
    }
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderMetadata_description_get) {
  {
    csShaderMetadata *arg1 = (csShaderMetadata *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderMetadata_description_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderMetadata, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderMetadata_description_get" "', argument " "1"" of type '" "csShaderMetadata *""'"); 
    }
    arg1 = reinterpret_cast< csShaderMetadata * >(argp1);
    result = (char *) ((arg1)->description);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderMetadata_numberOfLights_set) {
  {
    csShaderMetadata *arg1 = (csShaderMetadata *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csShaderMetadata_numberOfLights_set(self,numberOfLights);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderMetadata, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderMetadata_numberOfLights_set" "', argument " "1"" of type '" "csShaderMetadata *""'"); 
    }
    arg1 = reinterpret_cast< csShaderMetadata * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csShaderMetadata_numberOfLights_set" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    if (arg1) (arg1)->numberOfLights = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csShaderMetadata_numberOfLights_get) {
  {
    csShaderMetadata *arg1 = (csShaderMetadata *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csShaderMetadata_numberOfLights_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderMetadata, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csShaderMetadata_numberOfLights_get" "', argument " "1"" of type '" "csShaderMetadata *""'"); 
    }
    arg1 = reinterpret_cast< csShaderMetadata * >(argp1);
    result = (uint) ((arg1)->numberOfLights);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csShaderMetadata) {
  {
    csShaderMetadata *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csShaderMetadata();");
    }
    result = (csShaderMetadata *)new csShaderMetadata();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderMetadata, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csShaderMetadata) {
  {
    csShaderMetadata *arg1 = (csShaderMetadata *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csShaderMetadata(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csShaderMetadata, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csShaderMetadata" "', argument " "1"" of type '" "csShaderMetadata *""'"); 
    }
    arg1 = reinterpret_cast< csShaderMetadata * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_QueryObject) {
  {
    iShader *arg1 = (iShader *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShader_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_QueryObject" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_GetFileName) {
  {
    iShader *arg1 = (iShader *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShader_GetFileName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_GetFileName" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    result = (char *)(arg1)->GetFileName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_SetFileName) {
  {
    iShader *arg1 = (iShader *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShader_SetFileName(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_SetFileName" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShader_SetFileName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetFileName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_GetTicket) {
  {
    iShader *arg1 = (iShader *) 0 ;
    csRenderMeshModes *arg2 = 0 ;
    iShaderVarStack *arg3 = (iShaderVarStack *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iShader_GetTicket(self,modes,stacks);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_GetTicket" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRenderMeshModes,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShader_GetTicket" "', argument " "2"" of type '" "csRenderMeshModes const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iShader_GetTicket" "', argument " "2"" of type '" "csRenderMeshModes const &""'"); 
    }
    arg2 = reinterpret_cast< csRenderMeshModes * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iShaderVarStack, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iShader_GetTicket" "', argument " "3"" of type '" "iShaderVarStack const *""'"); 
    }
    arg3 = reinterpret_cast< iShaderVarStack * >(argp3);
    result = (arg1)->GetTicket((csRenderMeshModes const &)*arg2,(iShaderVarStack const *)arg3);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_GetNumberOfPasses) {
  {
    iShader *arg1 = (iShader *) 0 ;
    size_t arg2 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShader_GetNumberOfPasses(self,ticket);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_GetNumberOfPasses" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShader_GetNumberOfPasses" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (arg1)->GetNumberOfPasses(arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_ActivatePass) {
  {
    iShader *arg1 = (iShader *) 0 ;
    size_t arg2 ;
    size_t arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iShader_ActivatePass(self,ticket,number);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_ActivatePass" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShader_ActivatePass" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iShader_ActivatePass" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (bool)(arg1)->ActivatePass(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_SetupPass) {
  {
    iShader *arg1 = (iShader *) 0 ;
    size_t arg2 ;
    csRenderMesh *arg3 = (csRenderMesh *) 0 ;
    csRenderMeshModes *arg4 = 0 ;
    iShaderVarStack *arg5 = (iShaderVarStack *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iShader_SetupPass(self,ticket,mesh,modes,stacks);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_SetupPass" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShader_SetupPass" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csRenderMesh, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iShader_SetupPass" "', argument " "3"" of type '" "csRenderMesh const *""'"); 
    }
    arg3 = reinterpret_cast< csRenderMesh * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csRenderMeshModes,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iShader_SetupPass" "', argument " "4"" of type '" "csRenderMeshModes &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iShader_SetupPass" "', argument " "4"" of type '" "csRenderMeshModes &""'"); 
    }
    arg4 = reinterpret_cast< csRenderMeshModes * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iShaderVarStack, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iShader_SetupPass" "', argument " "5"" of type '" "iShaderVarStack const *""'"); 
    }
    arg5 = reinterpret_cast< iShaderVarStack * >(argp5);
    result = (bool)(arg1)->SetupPass(arg2,(csRenderMesh const *)arg3,*arg4,(iShaderVarStack const *)arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_TeardownPass) {
  {
    iShader *arg1 = (iShader *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShader_TeardownPass(self,ticket);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_TeardownPass" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShader_TeardownPass" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->TeardownPass(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_DeactivatePass) {
  {
    iShader *arg1 = (iShader *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShader_DeactivatePass(self,ticket);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_DeactivatePass" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShader_DeactivatePass" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeactivatePass(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShader_GetMetadata) {
  {
    iShader *arg1 = (iShader *) 0 ;
    size_t arg2 ;
    csShaderMetadata *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShader_GetMetadata(self,ticket);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShader_GetMetadata" "', argument " "1"" of type '" "iShader const *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShader_GetMetadata" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csShaderMetadata const &_result_ref = ((iShader const *)arg1)->GetMetadata(arg2);
      result = (csShaderMetadata *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csShaderMetadata, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iShader) {
  {
    iShader *arg1 = (iShader *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iShader(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShader, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iShader" "', argument " "1"" of type '" "iShader *""'"); 
    }
    arg1 = reinterpret_cast< iShader * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderPriorityList_GetCount) {
  {
    iShaderPriorityList *arg1 = (iShaderPriorityList *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShaderPriorityList_GetCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderPriorityList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderPriorityList_GetCount" "', argument " "1"" of type '" "iShaderPriorityList const *""'"); 
    }
    arg1 = reinterpret_cast< iShaderPriorityList * >(argp1);
    result = ((iShaderPriorityList const *)arg1)->GetCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderPriorityList_GetPriority) {
  {
    iShaderPriorityList *arg1 = (iShaderPriorityList *) 0 ;
    size_t arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderPriorityList_GetPriority(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderPriorityList, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderPriorityList_GetPriority" "', argument " "1"" of type '" "iShaderPriorityList const *""'"); 
    }
    arg1 = reinterpret_cast< iShaderPriorityList * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iShaderPriorityList_GetPriority" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (int)((iShaderPriorityList const *)arg1)->GetPriority(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iShaderPriorityList) {
  {
    iShaderPriorityList *arg1 = (iShaderPriorityList *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iShaderPriorityList(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderPriorityList, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iShaderPriorityList" "', argument " "1"" of type '" "iShaderPriorityList *""'"); 
    }
    arg1 = reinterpret_cast< iShaderPriorityList * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderCompiler_GetName) {
  {
    iShaderCompiler *arg1 = (iShaderCompiler *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iShaderCompiler_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderCompiler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderCompiler_GetName" "', argument " "1"" of type '" "iShaderCompiler *""'"); 
    }
    arg1 = reinterpret_cast< iShaderCompiler * >(argp1);
    result = (char *)(arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderCompiler_CompileShader__SWIG_0) {
  {
    iShaderCompiler *arg1 = (iShaderCompiler *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iShader > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iShaderCompiler_CompileShader(self,templ,forcepriority);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderCompiler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderCompiler_CompileShader" "', argument " "1"" of type '" "iShaderCompiler *""'"); 
    }
    arg1 = reinterpret_cast< iShaderCompiler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderCompiler_CompileShader" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iShaderCompiler_CompileShader" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->CompileShader(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iShader >(static_cast< const csPtr<iShader >& >(result))), SWIGTYPE_p_csPtrTiShader_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderCompiler_CompileShader__SWIG_1) {
  {
    iShaderCompiler *arg1 = (iShaderCompiler *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    SwigValueWrapper<csPtr<iShader > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderCompiler_CompileShader(self,templ);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderCompiler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderCompiler_CompileShader" "', argument " "1"" of type '" "iShaderCompiler *""'"); 
    }
    arg1 = reinterpret_cast< iShaderCompiler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderCompiler_CompileShader" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (arg1)->CompileShader(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iShader >(static_cast< const csPtr<iShader >& >(result))), SWIGTYPE_p_csPtrTiShader_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderCompiler_CompileShader) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iShaderCompiler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iShaderCompiler, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDocumentNode, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iShaderCompiler_CompileShader__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iShaderCompiler_CompileShader__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iShaderCompiler_CompileShader'");
  XSRETURN(0);
}


XS(_wrap_iShaderCompiler_ValidateTemplate) {
  {
    iShaderCompiler *arg1 = (iShaderCompiler *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderCompiler_ValidateTemplate(self,templ);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderCompiler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderCompiler_ValidateTemplate" "', argument " "1"" of type '" "iShaderCompiler *""'"); 
    }
    arg1 = reinterpret_cast< iShaderCompiler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderCompiler_ValidateTemplate" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (bool)(arg1)->ValidateTemplate(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderCompiler_IsTemplateToCompiler) {
  {
    iShaderCompiler *arg1 = (iShaderCompiler *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderCompiler_IsTemplateToCompiler(self,templ);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderCompiler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderCompiler_IsTemplateToCompiler" "', argument " "1"" of type '" "iShaderCompiler *""'"); 
    }
    arg1 = reinterpret_cast< iShaderCompiler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderCompiler_IsTemplateToCompiler" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (bool)(arg1)->IsTemplateToCompiler(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iShaderCompiler_GetPriorities) {
  {
    iShaderCompiler *arg1 = (iShaderCompiler *) 0 ;
    iDocumentNode *arg2 = (iDocumentNode *) 0 ;
    SwigValueWrapper<csPtr<iShaderPriorityList > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iShaderCompiler_GetPriorities(self,templ);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderCompiler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iShaderCompiler_GetPriorities" "', argument " "1"" of type '" "iShaderCompiler *""'"); 
    }
    arg1 = reinterpret_cast< iShaderCompiler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDocumentNode, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iShaderCompiler_GetPriorities" "', argument " "2"" of type '" "iDocumentNode *""'"); 
    }
    arg2 = reinterpret_cast< iDocumentNode * >(argp2);
    result = (arg1)->GetPriorities(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iShaderPriorityList >(static_cast< const csPtr<iShaderPriorityList >& >(result))), SWIGTYPE_p_csPtrTiShaderPriorityList_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iShaderCompiler) {
  {
    iShaderCompiler *arg1 = (iShaderCompiler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iShaderCompiler(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iShaderCompiler, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iShaderCompiler" "', argument " "1"" of type '" "iShaderCompiler *""'"); 
    }
    arg1 = reinterpret_cast< iShaderCompiler * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetFlags) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetFlags(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetFlags" "', argument " "1"" of type '" "iTextureHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (int)((iTextureHandle const *)arg1)->GetFlags();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_SetKeyColor__SWIG_0) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureHandle_SetKeyColor(self,Enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_SetKeyColor" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureHandle_SetKeyColor" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetKeyColor(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_SetKeyColor__SWIG_1) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    uint8 arg2 ;
    uint8 arg3 ;
    uint8 arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iTextureHandle_SetKeyColor(self,red,green,blue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_SetKeyColor" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureHandle_SetKeyColor" "', argument " "2"" of type '" "uint8""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTextureHandle_SetKeyColor" "', argument " "2"" of type '" "uint8""'");
      } else {
        arg2 = *(reinterpret_cast< uint8 * >(argp2));
      }
    }
    {
      res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res3)) {
        SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iTextureHandle_SetKeyColor" "', argument " "3"" of type '" "uint8""'"); 
      }  
      if (!argp3) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTextureHandle_SetKeyColor" "', argument " "3"" of type '" "uint8""'");
      } else {
        arg3 = *(reinterpret_cast< uint8 * >(argp3));
      }
    }
    {
      res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res4)) {
        SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iTextureHandle_SetKeyColor" "', argument " "4"" of type '" "uint8""'"); 
      }  
      if (!argp4) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTextureHandle_SetKeyColor" "', argument " "4"" of type '" "uint8""'");
      } else {
        arg4 = *(reinterpret_cast< uint8 * >(argp4));
      }
    }
    (arg1)->SetKeyColor(arg2,arg3,arg4);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_SetKeyColor) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureHandle_SetKeyColor__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureHandle_SetKeyColor__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iTextureHandle_SetKeyColor'");
  XSRETURN(0);
}


XS(_wrap_iTextureHandle_GetKeyColorStatus) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetKeyColorStatus(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetKeyColorStatus" "', argument " "1"" of type '" "iTextureHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (bool)((iTextureHandle const *)arg1)->GetKeyColor();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetKeyColor) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    uint8 *arg2 = 0 ;
    uint8 *arg3 = 0 ;
    uint8 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    uint8 temp2 ;
    int res2 = SWIG_TMPOBJ ;
    uint8 temp3 ;
    int res3 = SWIG_TMPOBJ ;
    uint8 temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetKeyColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetKeyColor" "', argument " "1"" of type '" "iTextureHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    ((iTextureHandle const *)arg1)->GetKeyColor(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_unsigned_SS_char  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_uint8_t, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetRendererDimensions__SWIG_0) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetRendererDimensions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetRendererDimensions" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (bool)(arg1)->GetRendererDimensions(*arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetOriginalDimensions__SWIG_0) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetOriginalDimensions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetOriginalDimensions" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    (arg1)->GetOriginalDimensions(*arg2,*arg3);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetRendererDimensions__SWIG_1) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureHandle_GetRendererDimensions(self,md);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetRendererDimensions" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    res4 = SWIG_ConvertPtr(ST(1), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iTextureHandle_GetRendererDimensions" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTextureHandle_GetRendererDimensions" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    result = (bool)(arg1)->GetRendererDimensions(*arg2,*arg3,*arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetRendererDimensions) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureHandle_GetRendererDimensions__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureHandle_GetRendererDimensions__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iTextureHandle_GetRendererDimensions'");
  XSRETURN(0);
}


XS(_wrap_iTextureHandle_GetOriginalDimensions__SWIG_1) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureHandle_GetOriginalDimensions(self,md);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetOriginalDimensions" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    res4 = SWIG_ConvertPtr(ST(1), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iTextureHandle_GetOriginalDimensions" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTextureHandle_GetOriginalDimensions" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    (arg1)->GetOriginalDimensions(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetOriginalDimensions) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureHandle_GetOriginalDimensions__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureHandle_GetOriginalDimensions__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iTextureHandle_GetOriginalDimensions'");
  XSRETURN(0);
}


XS(_wrap_iTextureHandle_GetTextureTarget) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetTextureTarget(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetTextureTarget" "', argument " "1"" of type '" "iTextureHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (int)((iTextureHandle const *)arg1)->GetTextureTarget();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_Blit__SWIG_0) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    unsigned char *arg6 = (unsigned char *) 0 ;
    iTextureHandle::TextureBlitDataFormat 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 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iTextureHandle_Blit(self,x,y,width,height,data,format);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_Blit" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureHandle_Blit" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTextureHandle_Blit" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTextureHandle_Blit" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iTextureHandle_Blit" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_unsigned_char, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iTextureHandle_Blit" "', argument " "6"" of type '" "unsigned char const *""'"); 
    }
    arg6 = reinterpret_cast< unsigned char * >(argp6);
    ecode7 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iTextureHandle_Blit" "', argument " "7"" of type '" "iTextureHandle::TextureBlitDataFormat""'");
    } 
    arg7 = static_cast< iTextureHandle::TextureBlitDataFormat >(val7);
    (arg1)->Blit(arg2,arg3,arg4,arg5,(unsigned char const *)arg6,arg7);
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_Blit__SWIG_1) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    unsigned char *arg6 = (unsigned char *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iTextureHandle_Blit(self,x,y,width,height,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_Blit" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureHandle_Blit" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTextureHandle_Blit" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTextureHandle_Blit" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iTextureHandle_Blit" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_unsigned_char, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "iTextureHandle_Blit" "', argument " "6"" of type '" "unsigned char const *""'"); 
    }
    arg6 = reinterpret_cast< unsigned char * >(argp6);
    (arg1)->Blit(arg2,arg3,arg4,arg5,(unsigned char const *)arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_Blit) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_unsigned_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_unsigned_char, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureHandle_Blit__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTextureHandle_Blit__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iTextureHandle_Blit'");
  XSRETURN(0);
}


XS(_wrap_iTextureHandle_GetImageName) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetImageName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetImageName" "', argument " "1"" of type '" "iTextureHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (char *)((iTextureHandle const *)arg1)->GetImageName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetPrivateObject) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    void *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetPrivateObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetPrivateObject" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (void *)(arg1)->GetPrivateObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetAlphaMap) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetAlphaMap(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetAlphaMap" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (bool)(arg1)->GetAlphaMap();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetAlphaType) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    csAlphaMode::AlphaType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetAlphaType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetAlphaType" "', argument " "1"" of type '" "iTextureHandle const *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (csAlphaMode::AlphaType)((iTextureHandle const *)arg1)->GetAlphaType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_Precache) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_Precache(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_Precache" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    (arg1)->Precache();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_SetTextureClass) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureHandle_SetTextureClass(self,className);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_SetTextureClass" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureHandle_SetTextureClass" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetTextureClass((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_GetTextureClass) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureHandle_GetTextureClass(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_GetTextureClass" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (char *)(arg1)->GetTextureClass();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_SetAlphaType) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    csAlphaMode::AlphaType arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureHandle_SetAlphaType(self,alphaType);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureHandle_SetAlphaType" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureHandle_SetAlphaType" "', argument " "2"" of type '" "csAlphaMode::AlphaType""'");
    } 
    arg2 = static_cast< csAlphaMode::AlphaType >(val2);
    (arg1)->SetAlphaType(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTextureHandle) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTextureHandle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTextureHandle" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    delete_iTextureHandle(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureHandle_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iTextureHandle_scfGetVersion();");
    }
    result = (int)iTextureHandle_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iRendererLightmap_GetSLMCoords) {
  {
    iRendererLightmap *arg1 = (iRendererLightmap *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    int *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iRendererLightmap_GetSLMCoords(self,width,height);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRendererLightmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRendererLightmap_GetSLMCoords" "', argument " "1"" of type '" "iRendererLightmap *""'"); 
    }
    arg1 = reinterpret_cast< iRendererLightmap * >(argp1);
    res4 = SWIG_ConvertPtr(ST(1), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iRendererLightmap_GetSLMCoords" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRendererLightmap_GetSLMCoords" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    res5 = SWIG_ConvertPtr(ST(2), &argp5, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iRendererLightmap_GetSLMCoords" "', argument " "5"" of type '" "int &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRendererLightmap_GetSLMCoords" "', argument " "5"" of type '" "int &""'"); 
    }
    arg5 = reinterpret_cast< int * >(argp5);
    (arg1)->GetSLMCoords(*arg2,*arg3,*arg4,*arg5);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRendererLightmap_SetData) {
  {
    iRendererLightmap *arg1 = (iRendererLightmap *) 0 ;
    csRGBcolor *arg2 = (csRGBcolor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRendererLightmap_SetData(self,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRendererLightmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRendererLightmap_SetData" "', argument " "1"" of type '" "iRendererLightmap *""'"); 
    }
    arg1 = reinterpret_cast< iRendererLightmap * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csRGBcolor, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRendererLightmap_SetData" "', argument " "2"" of type '" "csRGBcolor *""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    (arg1)->SetData(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRendererLightmap_SetLightCellSize) {
  {
    iRendererLightmap *arg1 = (iRendererLightmap *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRendererLightmap_SetLightCellSize(self,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRendererLightmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRendererLightmap_SetLightCellSize" "', argument " "1"" of type '" "iRendererLightmap *""'"); 
    }
    arg1 = reinterpret_cast< iRendererLightmap * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRendererLightmap_SetLightCellSize" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetLightCellSize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iRendererLightmap) {
  {
    iRendererLightmap *arg1 = (iRendererLightmap *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iRendererLightmap(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRendererLightmap, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iRendererLightmap" "', argument " "1"" of type '" "iRendererLightmap *""'"); 
    }
    arg1 = reinterpret_cast< iRendererLightmap * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSuperLightmap_RegisterLightmap) {
  {
    iSuperLightmap *arg1 = (iSuperLightmap *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    SwigValueWrapper<csPtr<iRendererLightmap > > result;
    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 argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSuperLightmap_RegisterLightmap(self,left,top,width,height);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSuperLightmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSuperLightmap_RegisterLightmap" "', argument " "1"" of type '" "iSuperLightmap *""'"); 
    }
    arg1 = reinterpret_cast< iSuperLightmap * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSuperLightmap_RegisterLightmap" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSuperLightmap_RegisterLightmap" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSuperLightmap_RegisterLightmap" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSuperLightmap_RegisterLightmap" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (arg1)->RegisterLightmap(arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iRendererLightmap >(static_cast< const csPtr<iRendererLightmap >& >(result))), SWIGTYPE_p_csPtrTiRendererLightmap_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSuperLightmap_Dump) {
  {
    iSuperLightmap *arg1 = (iSuperLightmap *) 0 ;
    SwigValueWrapper<csPtr<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSuperLightmap_Dump(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSuperLightmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSuperLightmap_Dump" "', argument " "1"" of type '" "iSuperLightmap *""'"); 
    }
    arg1 = reinterpret_cast< iSuperLightmap * >(argp1);
    result = (arg1)->Dump();
    {
      csRef<iImage> rf ((csPtr<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSuperLightmap_GetTexture) {
  {
    iSuperLightmap *arg1 = (iSuperLightmap *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSuperLightmap_GetTexture(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSuperLightmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSuperLightmap_GetTexture" "', argument " "1"" of type '" "iSuperLightmap *""'"); 
    }
    arg1 = reinterpret_cast< iSuperLightmap * >(argp1);
    result = (iTextureHandle *)(arg1)->GetTexture();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSuperLightmap) {
  {
    iSuperLightmap *arg1 = (iSuperLightmap *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSuperLightmap(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSuperLightmap, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSuperLightmap" "', argument " "1"" of type '" "iSuperLightmap *""'"); 
    }
    arg1 = reinterpret_cast< iSuperLightmap * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureManager_RegisterTexture) {
  {
    iTextureManager *arg1 = (iTextureManager *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iTextureHandle > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iTextureManager_RegisterTexture(self,image,flags);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureManager_RegisterTexture" "', argument " "1"" of type '" "iTextureManager *""'"); 
    }
    arg1 = reinterpret_cast< iTextureManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTextureManager_RegisterTexture" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTextureManager_RegisterTexture" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->RegisterTexture(arg2,arg3);
    {
      csRef<iTextureHandle> rf ((csPtr<iTextureHandle>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTextureHandle*)rf, SWIG_TypeQuery("cspace::""iTextureHandle"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureManager_GetTextureFormat) {
  {
    iTextureManager *arg1 = (iTextureManager *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTextureManager_GetTextureFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureManager_GetTextureFormat" "', argument " "1"" of type '" "iTextureManager *""'"); 
    }
    arg1 = reinterpret_cast< iTextureManager * >(argp1);
    result = (int)(arg1)->GetTextureFormat();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureManager_CreateSuperLightmap) {
  {
    iTextureManager *arg1 = (iTextureManager *) 0 ;
    int arg2 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iSuperLightmap > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iTextureManager_CreateSuperLightmap(self,width,height);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureManager_CreateSuperLightmap" "', argument " "1"" of type '" "iTextureManager *""'"); 
    }
    arg1 = reinterpret_cast< iTextureManager * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTextureManager_CreateSuperLightmap" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTextureManager_CreateSuperLightmap" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->CreateSuperLightmap(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iSuperLightmap >(static_cast< const csPtr<iSuperLightmap >& >(result))), SWIGTYPE_p_csPtrTiSuperLightmap_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureManager_GetMaxTextureSize) {
  {
    iTextureManager *arg1 = (iTextureManager *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTextureManager_GetMaxTextureSize(self,aspect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTextureManager_GetMaxTextureSize" "', argument " "1"" of type '" "iTextureManager *""'"); 
    }
    arg1 = reinterpret_cast< iTextureManager * >(argp1);
    res4 = SWIG_ConvertPtr(ST(1), &argp4, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iTextureManager_GetMaxTextureSize" "', argument " "4"" of type '" "int &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTextureManager_GetMaxTextureSize" "', argument " "4"" of type '" "int &""'"); 
    }
    arg4 = reinterpret_cast< int * >(argp4);
    (arg1)->GetMaxTextureSize(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTextureManager) {
  {
    iTextureManager *arg1 = (iTextureManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTextureManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTextureManager" "', argument " "1"" of type '" "iTextureManager *""'"); 
    }
    arg1 = reinterpret_cast< iTextureManager * >(argp1);
    delete_iTextureManager(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTextureManager_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iTextureManager_scfGetVersion();");
    }
    result = (int)iTextureManager_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_SetShader) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    csStringID arg2 ;
    iShader *arg3 = (iShader *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMaterial_SetShader(self,type,shader);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterial_SetShader" "', argument " "1"" of type '" "iMaterial *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMaterial_SetShader" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iShader, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iMaterial_SetShader" "', argument " "3"" of type '" "iShader *""'"); 
    }
    arg3 = reinterpret_cast< iShader * >(argp3);
    (arg1)->SetShader(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_GetShader) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    csStringID arg2 ;
    iShader *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterial_GetShader(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterial_GetShader" "', argument " "1"" of type '" "iMaterial *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMaterial_GetShader" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (iShader *)(arg1)->GetShader(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iShader, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_GetShaders) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    csHash<csRef<iShader >,csStringID > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterial_GetShaders(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterial_GetShaders" "', argument " "1"" of type '" "iMaterial const *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    {
      csHash<csRef<iShader >,csStringID > const &_result_ref = ((iMaterial const *)arg1)->GetShaders();
      result = (csHash<csRef<iShader >,csStringID > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csHashTcsRefTiShader_t_unsigned_long_CS__Memory__AllocatorMalloc_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_GetTexture__SWIG_0) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMaterial_GetTexture(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterial_GetTexture" "', argument " "1"" of type '" "iMaterial *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    result = (iTextureHandle *)(arg1)->GetTexture();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_GetTexture__SWIG_1) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    csStringID arg2 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterial_GetTexture(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterial_GetTexture" "', argument " "1"" of type '" "iMaterial *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iMaterial_GetTexture" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (iTextureHandle *)(arg1)->GetTexture(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_GetTexture) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMaterial, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMaterial, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMaterial_GetTexture__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMaterial_GetTexture__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iMaterial_GetTexture'");
  XSRETURN(0);
}


XS(_wrap_iMaterial_GetFlatColor__SWIG_0) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    csRGBpixel *arg2 = 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iMaterial_GetFlatColor(self,oColor,useTextureMean);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterial_GetFlatColor" "', argument " "1"" of type '" "iMaterial *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterial_GetFlatColor" "', argument " "2"" of type '" "csRGBpixel &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMaterial_GetFlatColor" "', argument " "2"" of type '" "csRGBpixel &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iMaterial_GetFlatColor" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->GetFlatColor(*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_GetFlatColor__SWIG_1) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    csRGBpixel *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterial_GetFlatColor(self,oColor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterial_GetFlatColor" "', argument " "1"" of type '" "iMaterial *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBpixel,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterial_GetFlatColor" "', argument " "2"" of type '" "csRGBpixel &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMaterial_GetFlatColor" "', argument " "2"" of type '" "csRGBpixel &""'"); 
    }
    arg2 = reinterpret_cast< csRGBpixel * >(argp2);
    (arg1)->GetFlatColor(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_GetFlatColor) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMaterial, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iMaterial, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRGBpixel, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMaterial_GetFlatColor__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iMaterial_GetFlatColor__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iMaterial_GetFlatColor'");
  XSRETURN(0);
}


XS(_wrap_iMaterial_SetFlatColor) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    csRGBcolor *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMaterial_SetFlatColor(self,col);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMaterial_SetFlatColor" "', argument " "1"" of type '" "iMaterial *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRGBcolor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMaterial_SetFlatColor" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMaterial_SetFlatColor" "', argument " "2"" of type '" "csRGBcolor const &""'"); 
    }
    arg2 = reinterpret_cast< csRGBcolor * >(argp2);
    (arg1)->SetFlatColor((csRGBcolor const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMaterial) {
  {
    iMaterial *arg1 = (iMaterial *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMaterial(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMaterial, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMaterial" "', argument " "1"" of type '" "iMaterial *""'"); 
    }
    arg1 = reinterpret_cast< iMaterial * >(argp1);
    delete_iMaterial(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMaterial_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMaterial_scfGetVersion();");
    }
    result = (int)iMaterial_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetImageData) {
  {
    iImage *arg1 = (iImage *) 0 ;
    void *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetImageData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetImageData" "', argument " "1"" of type '" "iImage *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (void *)(arg1)->GetImageData();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetWidth) {
  {
    iImage *arg1 = (iImage *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetWidth(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetWidth" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (int)((iImage const *)arg1)->GetWidth();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetHeight) {
  {
    iImage *arg1 = (iImage *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetHeight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetHeight" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (int)((iImage const *)arg1)->GetHeight();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetDepth) {
  {
    iImage *arg1 = (iImage *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetDepth(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetDepth" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (int)((iImage const *)arg1)->GetDepth();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_SetName) {
  {
    iImage *arg1 = (iImage *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iImage_SetName(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_SetName" "', argument " "1"" of type '" "iImage *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iImage_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetName) {
  {
    iImage *arg1 = (iImage *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetName" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (char *)((iImage const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetFormat) {
  {
    iImage *arg1 = (iImage *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetFormat" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (int)((iImage const *)arg1)->GetFormat();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetPalette) {
  {
    iImage *arg1 = (iImage *) 0 ;
    csRGBpixel *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetPalette(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetPalette" "', argument " "1"" of type '" "iImage *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (csRGBpixel *)(arg1)->GetPalette();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csRGBpixel, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetAlpha) {
  {
    iImage *arg1 = (iImage *) 0 ;
    uint8 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetAlpha(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetAlpha" "', argument " "1"" of type '" "iImage *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (uint8 *)(arg1)->GetAlpha();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_uint8_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_HasKeyColor) {
  {
    iImage *arg1 = (iImage *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_HasKeyColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_HasKeyColor" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (bool)((iImage const *)arg1)->HasKeyColor();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_HasKeycolor) {
  {
    iImage *arg1 = (iImage *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_HasKeycolor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_HasKeycolor" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (bool)((iImage const *)arg1)->HasKeycolor();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetKeyColor) {
  {
    iImage *arg1 = (iImage *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetKeyColor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetKeyColor" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    ((iImage const *)arg1)->GetKeyColor(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetKeycolor) {
  {
    iImage *arg1 = (iImage *) 0 ;
    int *arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int temp2 ;
    int res2 = SWIG_TMPOBJ ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    arg2 = &temp2;
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetKeycolor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetKeycolor" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    ((iImage const *)arg1)->GetKeycolor(*arg2,*arg3,*arg4);
    
    if (SWIG_IsTmpObj(res2)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_HasMipmaps) {
  {
    iImage *arg1 = (iImage *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_HasMipmaps(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_HasMipmaps" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (uint)((iImage const *)arg1)->HasMipmaps();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetMipmap) {
  {
    iImage *arg1 = (iImage *) 0 ;
    uint arg2 ;
    SwigValueWrapper<csRef<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iImage_GetMipmap(self,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetMipmap" "', argument " "1"" of type '" "iImage *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iImage_GetMipmap" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (arg1)->GetMipmap(arg2);
    {
      csRef<iImage> rf ((csRef<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetRawFormat) {
  {
    iImage *arg1 = (iImage *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetRawFormat(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetRawFormat" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (char *)((iImage const *)arg1)->GetRawFormat();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetRawData) {
  {
    iImage *arg1 = (iImage *) 0 ;
    SwigValueWrapper<csRef<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetRawData(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetRawData" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = ((iImage const *)arg1)->GetRawData();
    {
      csRef<iDataBuffer> rf ((csRef<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetImageType) {
  {
    iImage *arg1 = (iImage *) 0 ;
    csImageType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_GetImageType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetImageType" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (csImageType)((iImage const *)arg1)->GetImageType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_HasSubImages) {
  {
    iImage *arg1 = (iImage *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImage_HasSubImages(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_HasSubImages" "', argument " "1"" of type '" "iImage const *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    result = (uint)((iImage const *)arg1)->HasSubImages();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_GetSubImage) {
  {
    iImage *arg1 = (iImage *) 0 ;
    uint arg2 ;
    SwigValueWrapper<csRef<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iImage_GetSubImage(self,num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImage_GetSubImage" "', argument " "1"" of type '" "iImage *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iImage_GetSubImage" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (arg1)->GetSubImage(arg2);
    {
      csRef<iImage> rf ((csRef<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iImage) {
  {
    iImage *arg1 = (iImage *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iImage(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImage, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iImage" "', argument " "1"" of type '" "iImage *""'"); 
    }
    arg1 = reinterpret_cast< iImage * >(argp1);
    delete_iImage(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImage_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iImage_scfGetVersion();");
    }
    result = (int)iImage_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_0) {
  {
    size_t arg1 ;
    csArrayCapacityDefault *arg2 = 0 ;
    csArray<csImageIOFileFormatDescription const * > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csImageIOFileFormatDescriptions(in_capacity,ch);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayCapacityDefault,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "2"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "2"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    arg2 = reinterpret_cast< csArrayCapacityDefault * >(argp2);
    result = (csArray<csImageIOFileFormatDescription const * > *)new csArray<csImageIOFileFormatDescription const * >(arg1,(csArrayCapacityDefault const &)*arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_1) {
  {
    size_t arg1 ;
    csArray<csImageIOFileFormatDescription const * > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csImageIOFileFormatDescriptions(in_capacity);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    result = (csArray<csImageIOFileFormatDescription const * > *)new csArray<csImageIOFileFormatDescription const * >(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_2) {
  {
    csArray<csImageIOFileFormatDescription const * > *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csImageIOFileFormatDescriptions();");
    }
    result = (csArray<csImageIOFileFormatDescription const * > *)new csArray<csImageIOFileFormatDescription const * >();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_3) {
  {
    size_t arg1 ;
    CS::Memory::AllocatorMalloc *arg2 = 0 ;
    csArrayCapacityDefault *arg3 = 0 ;
    csArray<csImageIOFileFormatDescription const * > *result = 0 ;
    size_t val1 ;
    int ecode1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csImageIOFileFormatDescriptions(in_capacity,alloc,ch);");
    }
    ecode1 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "1"" of type '" "size_t""'");
    } 
    arg1 = static_cast< size_t >(val1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_CS__Memory__AllocatorMalloc,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "2"" of type '" "CS::Memory::AllocatorMalloc const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "2"" of type '" "CS::Memory::AllocatorMalloc const &""'"); 
    }
    arg2 = reinterpret_cast< CS::Memory::AllocatorMalloc * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csArrayCapacityDefault,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "3"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "3"" of type '" "csArrayCapacityDefault const &""'"); 
    }
    arg3 = reinterpret_cast< csArrayCapacityDefault * >(argp3);
    result = (csArray<csImageIOFileFormatDescription const * > *)new csArray<csImageIOFileFormatDescription const * >(arg1,(CS::Memory::AllocatorMalloc const &)*arg2,(csArrayCapacityDefault const &)*arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csImageIOFileFormatDescriptions) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csImageIOFileFormatDescriptions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csImageIOFileFormatDescriptions" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_4) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = 0 ;
    csArray<csImageIOFileFormatDescription const * > *result = 0 ;
    void *argp1 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csImageIOFileFormatDescriptions(source);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csImageIOFileFormatDescriptions" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const &""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    result = (csArray<csImageIOFileFormatDescription const * > *)new csArray<csImageIOFileFormatDescription const * >((csArray<csImageIOFileFormatDescription const * > const &)*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csImageIOFileFormatDescriptions) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csArrayCapacityDefault, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(0), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_CS__Memory__AllocatorMalloc, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csArrayCapacityDefault, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_0); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csImageIOFileFormatDescriptions__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csImageIOFileFormatDescriptions'");
  XSRETURN(0);
}


XS(_wrap_csImageIOFileFormatDescriptions_GetSize) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_GetSize(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_GetSize" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    result = ((csArray<csImageIOFileFormatDescription const * > const *)arg1)->GetSize();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Length) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Length(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Length" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    result = ((csArray<csImageIOFileFormatDescription const * > const *)arg1)->Length();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Get__SWIG_0) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    csImageIOFileFormatDescription **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Get" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csImageIOFileFormatDescription const *&_result_ref = (arg1)->Get(arg2);
      result = (csImageIOFileFormatDescription **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_csImageIOFileFormatDescription, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Get__SWIG_1) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    csImageIOFileFormatDescription **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Get(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Get" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_Get" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    {
      csImageIOFileFormatDescription const *const &_result_ref = ((csArray<csImageIOFileFormatDescription const * > const *)arg1)->Get(arg2);
      result = (csImageIOFileFormatDescription **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_csImageIOFileFormatDescription, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Get) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csImageIOFileFormatDescriptions_Get__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csImageIOFileFormatDescriptions_Get__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csImageIOFileFormatDescriptions_Get'");
  XSRETURN(0);
}


XS(_wrap_csImageIOFileFormatDescriptions_Put) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    csImageIOFileFormatDescription **arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Put(self,n,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Put" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_Put" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_csImageIOFileFormatDescription,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csImageIOFileFormatDescriptions_Put" "', argument " "3"" of type '" "csImageIOFileFormatDescription const *const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csImageIOFileFormatDescriptions_Put" "', argument " "3"" of type '" "csImageIOFileFormatDescription const *const &""'"); 
    }
    arg3 = reinterpret_cast< csImageIOFileFormatDescription ** >(argp3);
    (arg1)->Put(arg2,(csImageIOFileFormatDescription const *const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Push) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    csImageIOFileFormatDescription **arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Push(self,what);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Push" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_p_csImageIOFileFormatDescription,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csImageIOFileFormatDescriptions_Push" "', argument " "2"" of type '" "csImageIOFileFormatDescription const *const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csImageIOFileFormatDescriptions_Push" "', argument " "2"" of type '" "csImageIOFileFormatDescription const *const &""'"); 
    }
    arg2 = reinterpret_cast< csImageIOFileFormatDescription ** >(argp2);
    result = (arg1)->Push((csImageIOFileFormatDescription const *const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Pop) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    csImageIOFileFormatDescription *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Pop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Pop" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    result = (csImageIOFileFormatDescription *)(arg1)->Pop();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csImageIOFileFormatDescription, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Top__SWIG_0) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    csImageIOFileFormatDescription **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Top" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    {
      csImageIOFileFormatDescription const *const &_result_ref = ((csArray<csImageIOFileFormatDescription const * > const *)arg1)->Top();
      result = (csImageIOFileFormatDescription **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_csImageIOFileFormatDescription, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Top__SWIG_1) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    csImageIOFileFormatDescription **result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Top(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Top" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    {
      csImageIOFileFormatDescription const *&_result_ref = (arg1)->Top();
      result = (csImageIOFileFormatDescription **) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_csImageIOFileFormatDescription, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Top) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csImageIOFileFormatDescriptions_Top__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csImageIOFileFormatDescriptions_Top__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csImageIOFileFormatDescriptions_Top'");
  XSRETURN(0);
}


XS(_wrap_csImageIOFileFormatDescriptions_Insert) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    csImageIOFileFormatDescription **arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Insert(self,n,item);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Insert" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_Insert" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_p_csImageIOFileFormatDescription,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csImageIOFileFormatDescriptions_Insert" "', argument " "3"" of type '" "csImageIOFileFormatDescription const *const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csImageIOFileFormatDescriptions_Insert" "', argument " "3"" of type '" "csImageIOFileFormatDescription const *const &""'"); 
    }
    arg3 = reinterpret_cast< csImageIOFileFormatDescription ** >(argp3);
    result = (bool)(arg1)->Insert(arg2,(csImageIOFileFormatDescription const *const &)*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Contains) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    csImageIOFileFormatDescription **arg2 = 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Contains(self,which);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Contains" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_p_csImageIOFileFormatDescription,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csImageIOFileFormatDescriptions_Contains" "', argument " "2"" of type '" "csImageIOFileFormatDescription const *const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csImageIOFileFormatDescriptions_Contains" "', argument " "2"" of type '" "csImageIOFileFormatDescription const *const &""'"); 
    }
    arg2 = reinterpret_cast< csImageIOFileFormatDescription ** >(argp2);
    result = ((csArray<csImageIOFileFormatDescription const * > const *)arg1)->Contains((csImageIOFileFormatDescription const *const &)*arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Truncate) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Truncate(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Truncate" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_Truncate" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->Truncate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_Empty) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_Empty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_Empty" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    (arg1)->Empty();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_IsEmpty) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_IsEmpty(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_IsEmpty" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    result = (bool)((csArray<csImageIOFileFormatDescription const * > const *)arg1)->IsEmpty();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_SetMinimalCapacity) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_SetMinimalCapacity(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_SetMinimalCapacity" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_SetMinimalCapacity" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    (arg1)->SetMinimalCapacity(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_DeleteIndex) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_DeleteIndex(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_DeleteIndex" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_DeleteIndex" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndex(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_DeleteIndexFast) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_DeleteIndexFast(self,n);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_DeleteIndexFast" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_DeleteIndexFast" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (bool)(arg1)->DeleteIndexFast(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_DeleteRange) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    size_t arg2 ;
    size_t arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    size_t val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_DeleteRange(self,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_DeleteRange" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescriptions_DeleteRange" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    ecode3 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csImageIOFileFormatDescriptions_DeleteRange" "', argument " "3"" of type '" "size_t""'");
    } 
    arg3 = static_cast< size_t >(val3);
    result = (bool)(arg1)->DeleteRange(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions___eq__) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    csArray<csImageIOFileFormatDescription const * > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions___eq__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions___eq__" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csImageIOFileFormatDescriptions___eq__" "', argument " "2"" of type '" "csArray<csImageIOFileFormatDescription const * > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csImageIOFileFormatDescriptions___eq__" "', argument " "2"" of type '" "csArray<csImageIOFileFormatDescription const * > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp2);
    result = (bool)((csArray<csImageIOFileFormatDescription const * > const *)arg1)->operator ==((csArray<csImageIOFileFormatDescription const * > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions___ne__) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    csArray<csImageIOFileFormatDescription const * > *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions___ne__(self,other);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions___ne__" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csImageIOFileFormatDescriptions___ne__" "', argument " "2"" of type '" "csArray<csImageIOFileFormatDescription const * > const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csImageIOFileFormatDescriptions___ne__" "', argument " "2"" of type '" "csArray<csImageIOFileFormatDescription const * > const &""'"); 
    }
    arg2 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp2);
    result = (bool)((csArray<csImageIOFileFormatDescription const * > const *)arg1)->operator !=((csArray<csImageIOFileFormatDescription const * > const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescriptions_GetAllocator) {
  {
    csArray<csImageIOFileFormatDescription const * > *arg1 = (csArray<csImageIOFileFormatDescription const * > *) 0 ;
    CS::Memory::AllocatorMalloc *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescriptions_GetAllocator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescriptions_GetAllocator" "', argument " "1"" of type '" "csArray<csImageIOFileFormatDescription const * > const *""'"); 
    }
    arg1 = reinterpret_cast< csArray<csImageIOFileFormatDescription const * > * >(argp1);
    {
      CS::Memory::AllocatorMalloc const &_result_ref = ((csArray<csImageIOFileFormatDescription const * > const *)arg1)->GetAllocator();
      result = (CS::Memory::AllocatorMalloc *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CS__Memory__AllocatorMalloc, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescription_mime_get) {
  {
    csImageIOFileFormatDescription *arg1 = (csImageIOFileFormatDescription *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescription_mime_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageIOFileFormatDescription, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescription_mime_get" "', argument " "1"" of type '" "csImageIOFileFormatDescription *""'"); 
    }
    arg1 = reinterpret_cast< csImageIOFileFormatDescription * >(argp1);
    result = (char *) ((arg1)->mime);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescription_subtype_get) {
  {
    csImageIOFileFormatDescription *arg1 = (csImageIOFileFormatDescription *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescription_subtype_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageIOFileFormatDescription, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescription_subtype_get" "', argument " "1"" of type '" "csImageIOFileFormatDescription *""'"); 
    }
    arg1 = reinterpret_cast< csImageIOFileFormatDescription * >(argp1);
    result = (char *) ((arg1)->subtype);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescription_cap_set) {
  {
    csImageIOFileFormatDescription *arg1 = (csImageIOFileFormatDescription *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csImageIOFileFormatDescription_cap_set(self,cap);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageIOFileFormatDescription, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescription_cap_set" "', argument " "1"" of type '" "csImageIOFileFormatDescription *""'"); 
    }
    arg1 = reinterpret_cast< csImageIOFileFormatDescription * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csImageIOFileFormatDescription_cap_set" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    if (arg1) (arg1)->cap = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csImageIOFileFormatDescription_cap_get) {
  {
    csImageIOFileFormatDescription *arg1 = (csImageIOFileFormatDescription *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csImageIOFileFormatDescription_cap_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageIOFileFormatDescription, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csImageIOFileFormatDescription_cap_get" "', argument " "1"" of type '" "csImageIOFileFormatDescription *""'"); 
    }
    arg1 = reinterpret_cast< csImageIOFileFormatDescription * >(argp1);
    result = (int) ((arg1)->cap);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csImageIOFileFormatDescription) {
  {
    csImageIOFileFormatDescription *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csImageIOFileFormatDescription();");
    }
    result = (csImageIOFileFormatDescription *)new csImageIOFileFormatDescription();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csImageIOFileFormatDescription, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csImageIOFileFormatDescription) {
  {
    csImageIOFileFormatDescription *arg1 = (csImageIOFileFormatDescription *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csImageIOFileFormatDescription(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csImageIOFileFormatDescription, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csImageIOFileFormatDescription" "', argument " "1"" of type '" "csImageIOFileFormatDescription *""'"); 
    }
    arg1 = reinterpret_cast< csImageIOFileFormatDescription * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_GetDescription) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    csImageIOFileFormatDescriptions *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iImageIO_GetDescription(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImageIO_GetDescription" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    {
      csImageIOFileFormatDescriptions const &_result_ref = (arg1)->GetDescription();
      result = (csImageIOFileFormatDescriptions *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_Load) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    iDataBuffer *arg2 = (iDataBuffer *) 0 ;
    int arg3 ;
    SwigValueWrapper<csPtr<iImage > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iImageIO_Load(self,buf,iFormat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImageIO_Load" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDataBuffer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iImageIO_Load" "', argument " "2"" of type '" "iDataBuffer *""'"); 
    }
    arg2 = reinterpret_cast< iDataBuffer * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iImageIO_Load" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (arg1)->Load(arg2,arg3);
    {
      csRef<iImage> rf ((csPtr<iImage>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iImage*)rf, SWIG_TypeQuery("cspace::""iImage"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_SetDithering) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iImageIO_SetDithering(self,iEnable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImageIO_SetDithering" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iImageIO_SetDithering" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetDithering(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_Save__SWIG_0) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    iImageIO::FileFormatDescription *arg3 = (iImageIO::FileFormatDescription *) 0 ;
    char *arg4 = (char *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iImageIO_Save(self,image,format,extraoptions);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImageIO_Save" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iImageIO_Save" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csImageIOFileFormatDescription, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iImageIO_Save" "', argument " "3"" of type '" "iImageIO::FileFormatDescription *""'"); 
    }
    arg3 = reinterpret_cast< iImageIO::FileFormatDescription * >(argp3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iImageIO_Save" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = (arg1)->Save(arg2,arg3,(char const *)arg4);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_Save__SWIG_1) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    iImageIO::FileFormatDescription *arg3 = (iImageIO::FileFormatDescription *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iImageIO_Save(self,image,format);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImageIO_Save" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iImageIO_Save" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csImageIOFileFormatDescription, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iImageIO_Save" "', argument " "3"" of type '" "iImageIO::FileFormatDescription *""'"); 
    }
    arg3 = reinterpret_cast< iImageIO::FileFormatDescription * >(argp3);
    result = (arg1)->Save(arg2,arg3);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_Save__SWIG_2) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iImageIO_Save(self,image,mime,extraoptions);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImageIO_Save" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iImageIO_Save" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iImageIO_Save" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iImageIO_Save" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = (arg1)->Save(arg2,(char const *)arg3,(char const *)arg4);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_Save__SWIG_3) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    char *arg3 = (char *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iImageIO_Save(self,image,mime);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImageIO_Save" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iImageIO_Save" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iImageIO_Save" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->Save(arg2,(char const *)arg3);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_Save__SWIG_4) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    SwigValueWrapper<csPtr<iDataBuffer > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iImageIO_Save(self,image);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iImageIO_Save" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iImageIO_Save" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    result = (arg1)->Save(arg2);
    {
      csRef<iDataBuffer> rf ((csPtr<iDataBuffer>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDataBuffer*)rf, SWIG_TypeQuery("cspace::""iDataBuffer"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_Save) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iImageIO, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iImageIO, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csImageIOFileFormatDescription, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iImageIO, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iImageIO, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csImageIOFileFormatDescription, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iImageIO, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iImageIO_Save__SWIG_4); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iImageIO_Save__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iImageIO_Save__SWIG_3); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iImageIO_Save__SWIG_0); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iImageIO_Save__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iImageIO_Save'");
  XSRETURN(0);
}


XS(_wrap_delete_iImageIO) {
  {
    iImageIO *arg1 = (iImageIO *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iImageIO(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iImageIO, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iImageIO" "', argument " "1"" of type '" "iImageIO *""'"); 
    }
    arg1 = reinterpret_cast< iImageIO * >(argp1);
    delete_iImageIO(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iImageIO_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iImageIO_scfGetVersion();");
    }
    result = (int)iImageIO_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iReporterListener_Report) {
  {
    iReporterListener *arg1 = (iReporterListener *) 0 ;
    iReporter *arg2 = (iReporter *) 0 ;
    int arg3 ;
    char *arg4 = (char *) 0 ;
    char *arg5 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int res5 ;
    char *buf5 = 0 ;
    int alloc5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iReporterListener_Report(self,reporter,severity,msgId,description);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporterListener_Report" "', argument " "1"" of type '" "iReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iReporterListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporterListener_Report" "', argument " "2"" of type '" "iReporter *""'"); 
    }
    arg2 = reinterpret_cast< iReporter * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iReporterListener_Report" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iReporterListener_Report" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    res5 = SWIG_AsCharPtrAndSize(ST(4), &buf5, NULL, &alloc5);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iReporterListener_Report" "', argument " "5"" of type '" "char const *""'");
    }
    arg5 = buf5;
    result = (bool)(arg1)->Report(arg2,arg3,(char const *)arg4,(char const *)arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    if (alloc5 == SWIG_NEWOBJ) delete[] buf5;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iReporterListener) {
  {
    iReporterListener *arg1 = (iReporterListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iReporterListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporterListener, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iReporterListener" "', argument " "1"" of type '" "iReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iReporterListener * >(argp1);
    delete_iReporterListener(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporterListener_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iReporterListener_scfGetVersion();");
    }
    result = (int)iReporterListener_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iReporterIterator_HasNext) {
  {
    iReporterIterator *arg1 = (iReporterIterator *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iReporterIterator_HasNext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporterIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporterIterator_HasNext" "', argument " "1"" of type '" "iReporterIterator *""'"); 
    }
    arg1 = reinterpret_cast< iReporterIterator * >(argp1);
    result = (bool)(arg1)->HasNext();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporterIterator_Next) {
  {
    iReporterIterator *arg1 = (iReporterIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iReporterIterator_Next(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporterIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporterIterator_Next" "', argument " "1"" of type '" "iReporterIterator *""'"); 
    }
    arg1 = reinterpret_cast< iReporterIterator * >(argp1);
    (arg1)->Next();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporterIterator_GetMessageSeverity) {
  {
    iReporterIterator *arg1 = (iReporterIterator *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iReporterIterator_GetMessageSeverity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporterIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporterIterator_GetMessageSeverity" "', argument " "1"" of type '" "iReporterIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iReporterIterator * >(argp1);
    result = (int)((iReporterIterator const *)arg1)->GetMessageSeverity();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporterIterator_GetMessageId) {
  {
    iReporterIterator *arg1 = (iReporterIterator *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iReporterIterator_GetMessageId(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporterIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporterIterator_GetMessageId" "', argument " "1"" of type '" "iReporterIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iReporterIterator * >(argp1);
    result = (char *)((iReporterIterator const *)arg1)->GetMessageId();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporterIterator_GetMessageDescription) {
  {
    iReporterIterator *arg1 = (iReporterIterator *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iReporterIterator_GetMessageDescription(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporterIterator, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporterIterator_GetMessageDescription" "', argument " "1"" of type '" "iReporterIterator const *""'"); 
    }
    arg1 = reinterpret_cast< iReporterIterator * >(argp1);
    result = (char *)((iReporterIterator const *)arg1)->GetMessageDescription();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iReporterIterator) {
  {
    iReporterIterator *arg1 = (iReporterIterator *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iReporterIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporterIterator, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iReporterIterator" "', argument " "1"" of type '" "iReporterIterator *""'"); 
    }
    arg1 = reinterpret_cast< iReporterIterator * >(argp1);
    delete_iReporterIterator(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporterIterator_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iReporterIterator_scfGetVersion();");
    }
    result = (int)iReporterIterator_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_Report) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    int arg2 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iReporter_Report(self,severity,msgId,description,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_Report" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iReporter_Report" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iReporter_Report" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    (arg1)->Report(arg2,(char const *)arg3,(char const *)arg4,arg5);
    
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_Clear__SWIG_0) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iReporter_Clear(self,severity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_Clear" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iReporter_Clear" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->Clear(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_Clear__SWIG_1) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iReporter_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_Clear" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_Clear__SWIG_2) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iReporter_Clear(self,mask);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_Clear" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_Clear" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->Clear((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_Clear) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iReporter, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iReporter, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iReporter, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iReporter_Clear__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iReporter_Clear__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iReporter_Clear__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iReporter_Clear'");
  XSRETURN(0);
}


XS(_wrap_iReporter_GetMessageIterator) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    SwigValueWrapper<csPtr<iReporterIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iReporter_GetMessageIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_GetMessageIterator" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    result = (arg1)->GetMessageIterator();
    {
      csRef<iReporterIterator> rf ((csPtr<iReporterIterator>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iReporterIterator*)rf, SWIG_TypeQuery("cspace::""iReporterIterator"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_AddReporterListener) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    iReporterListener *arg2 = (iReporterListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iReporter_AddReporterListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_AddReporterListener" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_AddReporterListener" "', argument " "2"" of type '" "iReporterListener *""'"); 
    }
    arg2 = reinterpret_cast< iReporterListener * >(argp2);
    (arg1)->AddReporterListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_RemoveReporterListener) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    iReporterListener *arg2 = (iReporterListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iReporter_RemoveReporterListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_RemoveReporterListener" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_RemoveReporterListener" "', argument " "2"" of type '" "iReporterListener *""'"); 
    }
    arg2 = reinterpret_cast< iReporterListener * >(argp2);
    (arg1)->RemoveReporterListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_FindReporterListener) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    iReporterListener *arg2 = (iReporterListener *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iReporter_FindReporterListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_FindReporterListener" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_FindReporterListener" "', argument " "2"" of type '" "iReporterListener *""'"); 
    }
    arg2 = reinterpret_cast< iReporterListener * >(argp2);
    result = (bool)(arg1)->FindReporterListener(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_ReportError) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 3) {
      SWIG_croak("Usage: iReporter_ReportError(self,msgId,description,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_ReportError" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_ReportError" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      arg3 = "%s";
      arg4 = SvPV_nolen (ST(2));
    }
    (arg1)->ReportError((char const *)arg2,(char const *)arg3,arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_ReportWarning) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 3) {
      SWIG_croak("Usage: iReporter_ReportWarning(self,msgId,description,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_ReportWarning" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_ReportWarning" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      arg3 = "%s";
      arg4 = SvPV_nolen (ST(2));
    }
    (arg1)->ReportWarning((char const *)arg2,(char const *)arg3,arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_ReportNotify) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 3) {
      SWIG_croak("Usage: iReporter_ReportNotify(self,msgId,description,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_ReportNotify" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_ReportNotify" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      arg3 = "%s";
      arg4 = SvPV_nolen (ST(2));
    }
    (arg1)->ReportNotify((char const *)arg2,(char const *)arg3,arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_ReportBug) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 3) {
      SWIG_croak("Usage: iReporter_ReportBug(self,msgId,description,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_ReportBug" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_ReportBug" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      arg3 = "%s";
      arg4 = SvPV_nolen (ST(2));
    }
    (arg1)->ReportBug((char const *)arg2,(char const *)arg3,arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_ReportDebug) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 3) {
      SWIG_croak("Usage: iReporter_ReportDebug(self,msgId,description,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iReporter_ReportDebug" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iReporter_ReportDebug" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      arg3 = "%s";
      arg4 = SvPV_nolen (ST(2));
    }
    (arg1)->ReportDebug((char const *)arg2,(char const *)arg3,arg4);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iReporter) {
  {
    iReporter *arg1 = (iReporter *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iReporter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iReporter, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iReporter" "', argument " "1"" of type '" "iReporter *""'"); 
    }
    arg1 = reinterpret_cast< iReporter * >(argp1);
    delete_iReporter(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iReporter_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iReporter_scfGetVersion();");
    }
    result = (int)iReporter_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csReporterHelper_Report) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    int arg2 ;
    char *arg3 = (char *) 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: csReporterHelper_Report(reg,severity,msgId,description,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csReporterHelper_Report" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csReporterHelper_Report" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csReporterHelper_Report" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    csReporterHelper::Report(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
    
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_new_csReporterHelper) {
  {
    csReporterHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csReporterHelper();");
    }
    result = (csReporterHelper *)new csReporterHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csReporterHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csReporterHelper) {
  {
    csReporterHelper *arg1 = (csReporterHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csReporterHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csReporterHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csReporterHelper" "', argument " "1"" of type '" "csReporterHelper *""'"); 
    }
    arg1 = reinterpret_cast< csReporterHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleWatcher_ConsoleVisibilityChanged) {
  {
    iConsoleWatcher *arg1 = (iConsoleWatcher *) 0 ;
    iConsoleOutput *arg2 = (iConsoleOutput *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConsoleWatcher_ConsoleVisibilityChanged(self,iConsoleOutput *,visible);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleWatcher, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleWatcher_ConsoleVisibilityChanged" "', argument " "1"" of type '" "iConsoleWatcher *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleWatcher * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConsoleWatcher_ConsoleVisibilityChanged" "', argument " "2"" of type '" "iConsoleOutput *""'"); 
    }
    arg2 = reinterpret_cast< iConsoleOutput * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConsoleWatcher_ConsoleVisibilityChanged" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->ConsoleVisibilityChanged(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iConsoleWatcher) {
  {
    iConsoleWatcher *arg1 = (iConsoleWatcher *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iConsoleWatcher(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleWatcher, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iConsoleWatcher" "', argument " "1"" of type '" "iConsoleWatcher *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleWatcher * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_PutText) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    char *arg2 = (char *) 0 ;
    void *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 2) {
      SWIG_croak("Usage: iConsoleOutput_PutText(self,text,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_PutText" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConsoleOutput_PutText" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->PutText((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_GetLine__SWIG_0) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_GetLine(self,line);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_GetLine" "', argument " "1"" of type '" "iConsoleOutput const *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_GetLine" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (char *)((iConsoleOutput const *)arg1)->GetLine(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_GetLine__SWIG_1) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_GetLine(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_GetLine" "', argument " "1"" of type '" "iConsoleOutput const *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    result = (char *)((iConsoleOutput const *)arg1)->GetLine();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_GetLine) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_GetLine__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_GetLine__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConsoleOutput_GetLine'");
  XSRETURN(0);
}


XS(_wrap_iConsoleOutput_Draw2D__SWIG_0) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    csRect *arg2 = (csRect *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_Draw2D(self,oRect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_Draw2D" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConsoleOutput_Draw2D" "', argument " "2"" of type '" "csRect *""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Draw2D(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_Draw2D__SWIG_1) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_Draw2D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_Draw2D" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    (arg1)->Draw2D();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_Draw2D) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_Draw2D__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_Draw2D__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConsoleOutput_Draw2D'");
  XSRETURN(0);
}


XS(_wrap_iConsoleOutput_Draw3D__SWIG_0) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    csRect *arg2 = (csRect *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_Draw3D(self,oRect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_Draw3D" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csRect, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConsoleOutput_Draw3D" "', argument " "2"" of type '" "csRect *""'"); 
    }
    arg2 = reinterpret_cast< csRect * >(argp2);
    (arg1)->Draw3D(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_Draw3D__SWIG_1) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_Draw3D(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_Draw3D" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    (arg1)->Draw3D();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_Draw3D) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csRect, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_Draw3D__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_Draw3D__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConsoleOutput_Draw3D'");
  XSRETURN(0);
}


XS(_wrap_iConsoleOutput_Clear__SWIG_0) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_Clear(self,wipe);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_Clear" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_Clear" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->Clear(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_Clear__SWIG_1) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_Clear(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_Clear" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    (arg1)->Clear();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_Clear) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_Clear__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_Clear__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConsoleOutput_Clear'");
  XSRETURN(0);
}


XS(_wrap_iConsoleOutput_SetBufferSize) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_SetBufferSize(self,maxLines);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_SetBufferSize" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_SetBufferSize" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetBufferSize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_GetTransparency) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_GetTransparency(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_GetTransparency" "', argument " "1"" of type '" "iConsoleOutput const *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    result = (bool)((iConsoleOutput const *)arg1)->GetTransparency();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_SetTransparency) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_SetTransparency(self,transp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_SetTransparency" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_SetTransparency" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetTransparency(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_GetFont) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    iFont *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_GetFont(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_GetFont" "', argument " "1"" of type '" "iConsoleOutput const *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    result = (iFont *)((iConsoleOutput const *)arg1)->GetFont();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iFont, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_SetFont) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    iFont *arg2 = (iFont *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_SetFont(self,font);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_SetFont" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iFont, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConsoleOutput_SetFont" "', argument " "2"" of type '" "iFont *""'"); 
    }
    arg2 = reinterpret_cast< iFont * >(argp2);
    (arg1)->SetFont(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_GetTopLine) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_GetTopLine(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_GetTopLine" "', argument " "1"" of type '" "iConsoleOutput const *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    result = (int)((iConsoleOutput const *)arg1)->GetTopLine();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_ScrollTo__SWIG_0) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int arg2 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iConsoleOutput_ScrollTo(self,topLine,snap);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_ScrollTo" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_ScrollTo" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iConsoleOutput_ScrollTo" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->ScrollTo(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_ScrollTo__SWIG_1) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_ScrollTo(self,topLine);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_ScrollTo" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_ScrollTo" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->ScrollTo(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_ScrollTo) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iConsoleOutput, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_ScrollTo__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iConsoleOutput_ScrollTo__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iConsoleOutput_ScrollTo'");
  XSRETURN(0);
}


XS(_wrap_iConsoleOutput_GetCursorStyle) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_GetCursorStyle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_GetCursorStyle" "', argument " "1"" of type '" "iConsoleOutput const *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    result = (int)((iConsoleOutput const *)arg1)->GetCursorStyle();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_SetCursorStyle) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_SetCursorStyle(self,style);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_SetCursorStyle" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_SetCursorStyle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetCursorStyle(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_SetVisible) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_SetVisible(self,show);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_SetVisible" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_SetVisible" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetVisible(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_GetVisible) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_GetVisible(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_GetVisible" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    result = (bool)(arg1)->GetVisible();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_AutoUpdate) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_AutoUpdate(self,autoUpdate);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_AutoUpdate" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_AutoUpdate" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->AutoUpdate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_SetCursorPos) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_SetCursorPos(self,charNo);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_SetCursorPos" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iConsoleOutput_SetCursorPos" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetCursorPos(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_GetMaxLineWidth) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iConsoleOutput_GetMaxLineWidth(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_GetMaxLineWidth" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    result = (int)(arg1)->GetMaxLineWidth();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_RegisterWatcher) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    iConsoleWatcher *arg2 = (iConsoleWatcher *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iConsoleOutput_RegisterWatcher(self,iConsoleWatcher *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_RegisterWatcher" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConsoleWatcher, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConsoleOutput_RegisterWatcher" "', argument " "2"" of type '" "iConsoleWatcher *""'"); 
    }
    arg2 = reinterpret_cast< iConsoleWatcher * >(argp2);
    (arg1)->RegisterWatcher(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iConsoleOutput_PerformExtension) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    char *arg2 = (char *) 0 ;
    void *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 2) {
      SWIG_croak("Usage: iConsoleOutput_PerformExtension(self,command,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iConsoleOutput_PerformExtension" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iConsoleOutput_PerformExtension" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->PerformExtension((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iConsoleOutput) {
  {
    iConsoleOutput *arg1 = (iConsoleOutput *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iConsoleOutput(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iConsoleOutput, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iConsoleOutput" "', argument " "1"" of type '" "iConsoleOutput *""'"); 
    }
    arg1 = reinterpret_cast< iConsoleOutput * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetOutputConsole) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    iConsoleOutput *arg2 = (iConsoleOutput *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStandardReporterListener_SetOutputConsole(self,console);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_SetOutputConsole" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iConsoleOutput, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStandardReporterListener_SetOutputConsole" "', argument " "2"" of type '" "iConsoleOutput *""'"); 
    }
    arg2 = reinterpret_cast< iConsoleOutput * >(argp2);
    (arg1)->SetOutputConsole(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetNativeWindowManager) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    iNativeWindowManager *arg2 = (iNativeWindowManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStandardReporterListener_SetNativeWindowManager(self,wm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_SetNativeWindowManager" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iNativeWindowManager, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStandardReporterListener_SetNativeWindowManager" "', argument " "2"" of type '" "iNativeWindowManager *""'"); 
    }
    arg2 = reinterpret_cast< iNativeWindowManager * >(argp2);
    (arg1)->SetNativeWindowManager(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetReporter) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    iReporter *arg2 = (iReporter *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStandardReporterListener_SetReporter(self,rep);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_SetReporter" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iReporter, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStandardReporterListener_SetReporter" "', argument " "2"" of type '" "iReporter *""'"); 
    }
    arg2 = reinterpret_cast< iReporter * >(argp2);
    (arg1)->SetReporter(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetDebugFile__SWIG_0) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iStandardReporterListener_SetDebugFile(self,filename,append);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_SetDebugFile" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStandardReporterListener_SetDebugFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iStandardReporterListener_SetDebugFile" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->SetDebugFile((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetDebugFile__SWIG_1) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iStandardReporterListener_SetDebugFile(self,filename);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_SetDebugFile" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iStandardReporterListener_SetDebugFile" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetDebugFile((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetDebugFile) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStandardReporterListener, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStandardReporterListener, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStandardReporterListener_SetDebugFile__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStandardReporterListener_SetDebugFile__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iStandardReporterListener_SetDebugFile'");
  XSRETURN(0);
}


XS(_wrap_iStandardReporterListener_SetDefaults) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStandardReporterListener_SetDefaults(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_SetDefaults" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    (arg1)->SetDefaults();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetMessageDestination__SWIG_0) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    int arg2 ;
    bool arg3 ;
    bool arg4 ;
    bool arg5 ;
    bool arg6 ;
    bool arg7 ;
    bool arg8 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    bool val7 ;
    int ecode7 = 0 ;
    bool val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iStandardReporterListener_SetMessageDestination(self,severity,do_stdout,do_stderr,do_console,do_alert,do_debug,do_popup);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    ecode7 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "7"" of type '" "bool""'");
    } 
    arg7 = static_cast< bool >(val7);
    ecode8 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "8"" of type '" "bool""'");
    } 
    arg8 = static_cast< bool >(val8);
    (arg1)->SetMessageDestination(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetMessageDestination__SWIG_1) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    int arg2 ;
    bool arg3 ;
    bool arg4 ;
    bool arg5 ;
    bool arg6 ;
    bool arg7 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    bool val6 ;
    int ecode6 = 0 ;
    bool val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iStandardReporterListener_SetMessageDestination(self,severity,do_stdout,do_stderr,do_console,do_alert,do_debug);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    ecode6 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "6"" of type '" "bool""'");
    } 
    arg6 = static_cast< bool >(val6);
    ecode7 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iStandardReporterListener_SetMessageDestination" "', argument " "7"" of type '" "bool""'");
    } 
    arg7 = static_cast< bool >(val7);
    (arg1)->SetMessageDestination(arg2,arg3,arg4,arg5,arg6,arg7);
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_SetMessageDestination) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStandardReporterListener, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iStandardReporterListener, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStandardReporterListener_SetMessageDestination__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iStandardReporterListener_SetMessageDestination__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iStandardReporterListener_SetMessageDestination'");
  XSRETURN(0);
}


XS(_wrap_iStandardReporterListener_RemoveMessages) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    int arg2 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iStandardReporterListener_RemoveMessages(self,severity,remove);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_RemoveMessages" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStandardReporterListener_RemoveMessages" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iStandardReporterListener_RemoveMessages" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->RemoveMessages(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_ShowMessageID) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    int arg2 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iStandardReporterListener_ShowMessageID(self,severity,showid);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_ShowMessageID" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iStandardReporterListener_ShowMessageID" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iStandardReporterListener_ShowMessageID" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->ShowMessageID(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_GetDebugFile) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iStandardReporterListener_GetDebugFile(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iStandardReporterListener_GetDebugFile" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    result = (char *)(arg1)->GetDebugFile();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iStandardReporterListener) {
  {
    iStandardReporterListener *arg1 = (iStandardReporterListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iStandardReporterListener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iStandardReporterListener, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iStandardReporterListener" "', argument " "1"" of type '" "iStandardReporterListener *""'"); 
    }
    arg1 = reinterpret_cast< iStandardReporterListener * >(argp1);
    delete_iStandardReporterListener(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iStandardReporterListener_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iStandardReporterListener_scfGetVersion();");
    }
    result = (int)iStandardReporterListener_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iView_GetEngine) {
  {
    iView *arg1 = (iView *) 0 ;
    iEngine *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iView_GetEngine(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_GetEngine" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    result = (iEngine *)(arg1)->GetEngine();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iEngine, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_SetEngine) {
  {
    iView *arg1 = (iView *) 0 ;
    iEngine *arg2 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iView_SetEngine(self,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_SetEngine" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iView_SetEngine" "', argument " "2"" of type '" "iEngine *""'"); 
    }
    arg2 = reinterpret_cast< iEngine * >(argp2);
    (arg1)->SetEngine(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_GetCamera) {
  {
    iView *arg1 = (iView *) 0 ;
    iCamera *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iView_GetCamera(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_GetCamera" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    result = (iCamera *)(arg1)->GetCamera();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCamera, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_SetCamera) {
  {
    iView *arg1 = (iView *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iView_SetCamera(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_SetCamera" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iView_SetCamera" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    (arg1)->SetCamera(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_GetContext) {
  {
    iView *arg1 = (iView *) 0 ;
    iGraphics3D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iView_GetContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_GetContext" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    result = (iGraphics3D *)(arg1)->GetContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGraphics3D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_SetContext) {
  {
    iView *arg1 = (iView *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iView_SetContext(self,ig3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_SetContext" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iView_SetContext" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    (arg1)->SetContext(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_SetRectangle) {
  {
    iView *arg1 = (iView *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iView_SetRectangle(self,x,y,w,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_SetRectangle" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iView_SetRectangle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iView_SetRectangle" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iView_SetRectangle" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iView_SetRectangle" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->SetRectangle(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_ClearView) {
  {
    iView *arg1 = (iView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iView_ClearView(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_ClearView" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    (arg1)->ClearView();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_AddViewVertex) {
  {
    iView *arg1 = (iView *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iView_AddViewVertex(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_AddViewVertex" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iView_AddViewVertex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iView_AddViewVertex" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->AddViewVertex(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_RestrictClipperToScreen) {
  {
    iView *arg1 = (iView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iView_RestrictClipperToScreen(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_RestrictClipperToScreen" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    (arg1)->RestrictClipperToScreen();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_UpdateClipper) {
  {
    iView *arg1 = (iView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iView_UpdateClipper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_UpdateClipper" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    (arg1)->UpdateClipper();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_GetClipper) {
  {
    iView *arg1 = (iView *) 0 ;
    iClipper2D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iView_GetClipper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_GetClipper" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    result = (iClipper2D *)(arg1)->GetClipper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iClipper2D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_Draw__SWIG_0) {
  {
    iView *arg1 = (iView *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iView_Draw(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_Draw" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iView_Draw" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->Draw(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_Draw__SWIG_1) {
  {
    iView *arg1 = (iView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iView_Draw(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_Draw" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    (arg1)->Draw();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_Draw) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iView, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iView, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iView_Draw__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iView_Draw__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iView_Draw'");
  XSRETURN(0);
}


XS(_wrap_iView_SetAutoResize) {
  {
    iView *arg1 = (iView *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iView_SetAutoResize(self,state);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iView_SetAutoResize" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iView_SetAutoResize" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetAutoResize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iView) {
  {
    iView *arg1 = (iView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iView(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iView, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iView" "', argument " "1"" of type '" "iView *""'"); 
    }
    arg1 = reinterpret_cast< iView * >(argp1);
    delete_iView(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iView_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iView_scfGetVersion();");
    }
    result = (int)iView_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_a1_set) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCollisionPair_a1_set(self,a1);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_a1_set" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCollisionPair_a1_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->a1 = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_a1_get) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCollisionPair_a1_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_a1_get" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    result = (csVector3 *)& ((arg1)->a1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_b1_set) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCollisionPair_b1_set(self,b1);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_b1_set" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCollisionPair_b1_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->b1 = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_b1_get) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCollisionPair_b1_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_b1_get" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    result = (csVector3 *)& ((arg1)->b1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_c1_set) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCollisionPair_c1_set(self,c1);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_c1_set" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCollisionPair_c1_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->c1 = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_c1_get) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCollisionPair_c1_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_c1_get" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    result = (csVector3 *)& ((arg1)->c1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_a2_set) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCollisionPair_a2_set(self,a2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_a2_set" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCollisionPair_a2_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->a2 = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_a2_get) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCollisionPair_a2_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_a2_get" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    result = (csVector3 *)& ((arg1)->a2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_b2_set) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCollisionPair_b2_set(self,b2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_b2_set" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCollisionPair_b2_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->b2 = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_b2_get) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCollisionPair_b2_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_b2_get" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    result = (csVector3 *)& ((arg1)->b2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_c2_set) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csCollisionPair_c2_set(self,c2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_c2_set" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csCollisionPair_c2_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->c2 = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csCollisionPair_c2_get) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csCollisionPair_c2_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csCollisionPair_c2_get" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    result = (csVector3 *)& ((arg1)->c2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csCollisionPair) {
  {
    csCollisionPair *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csCollisionPair();");
    }
    result = (csCollisionPair *)new csCollisionPair();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCollisionPair, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csCollisionPair) {
  {
    csCollisionPair *arg1 = (csCollisionPair *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csCollisionPair(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csCollisionPair, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csCollisionPair" "', argument " "1"" of type '" "csCollisionPair *""'"); 
    }
    arg1 = reinterpret_cast< csCollisionPair * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersectingTriangle_a_set) {
  {
    csIntersectingTriangle *arg1 = (csIntersectingTriangle *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersectingTriangle_a_set(self,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersectingTriangle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersectingTriangle_a_set" "', argument " "1"" of type '" "csIntersectingTriangle *""'"); 
    }
    arg1 = reinterpret_cast< csIntersectingTriangle * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersectingTriangle_a_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->a = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersectingTriangle_a_get) {
  {
    csIntersectingTriangle *arg1 = (csIntersectingTriangle *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csIntersectingTriangle_a_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersectingTriangle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersectingTriangle_a_get" "', argument " "1"" of type '" "csIntersectingTriangle *""'"); 
    }
    arg1 = reinterpret_cast< csIntersectingTriangle * >(argp1);
    result = (csVector3 *)& ((arg1)->a);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersectingTriangle_b_set) {
  {
    csIntersectingTriangle *arg1 = (csIntersectingTriangle *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersectingTriangle_b_set(self,b);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersectingTriangle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersectingTriangle_b_set" "', argument " "1"" of type '" "csIntersectingTriangle *""'"); 
    }
    arg1 = reinterpret_cast< csIntersectingTriangle * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersectingTriangle_b_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->b = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersectingTriangle_b_get) {
  {
    csIntersectingTriangle *arg1 = (csIntersectingTriangle *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csIntersectingTriangle_b_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersectingTriangle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersectingTriangle_b_get" "', argument " "1"" of type '" "csIntersectingTriangle *""'"); 
    }
    arg1 = reinterpret_cast< csIntersectingTriangle * >(argp1);
    result = (csVector3 *)& ((arg1)->b);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersectingTriangle_c_set) {
  {
    csIntersectingTriangle *arg1 = (csIntersectingTriangle *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csIntersectingTriangle_c_set(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersectingTriangle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersectingTriangle_c_set" "', argument " "1"" of type '" "csIntersectingTriangle *""'"); 
    }
    arg1 = reinterpret_cast< csIntersectingTriangle * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csIntersectingTriangle_c_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->c = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csIntersectingTriangle_c_get) {
  {
    csIntersectingTriangle *arg1 = (csIntersectingTriangle *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csIntersectingTriangle_c_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersectingTriangle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csIntersectingTriangle_c_get" "', argument " "1"" of type '" "csIntersectingTriangle *""'"); 
    }
    arg1 = reinterpret_cast< csIntersectingTriangle * >(argp1);
    result = (csVector3 *)& ((arg1)->c);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csIntersectingTriangle) {
  {
    csIntersectingTriangle *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csIntersectingTriangle();");
    }
    result = (csIntersectingTriangle *)new csIntersectingTriangle();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csIntersectingTriangle, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csIntersectingTriangle) {
  {
    csIntersectingTriangle *arg1 = (csIntersectingTriangle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csIntersectingTriangle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csIntersectingTriangle, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csIntersectingTriangle" "', argument " "1"" of type '" "csIntersectingTriangle *""'"); 
    }
    arg1 = reinterpret_cast< csIntersectingTriangle * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollider_GetColliderType) {
  {
    iCollider *arg1 = (iCollider *) 0 ;
    csColliderType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCollider_GetColliderType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollider_GetColliderType" "', argument " "1"" of type '" "iCollider *""'"); 
    }
    arg1 = reinterpret_cast< iCollider * >(argp1);
    result = (csColliderType)(arg1)->GetColliderType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iCollider) {
  {
    iCollider *arg1 = (iCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iCollider(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollider, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iCollider" "', argument " "1"" of type '" "iCollider *""'"); 
    }
    arg1 = reinterpret_cast< iCollider * >(argp1);
    delete_iCollider(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollider_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iCollider_scfGetVersion();");
    }
    result = (int)iCollider_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_CreateCollider__SWIG_0) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iPolygonMesh *arg2 = (iPolygonMesh *) 0 ;
    SwigValueWrapper<csPtr<iCollider > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCollideSystem_CreateCollider(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_CreateCollider" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCollideSystem_CreateCollider" "', argument " "2"" of type '" "iPolygonMesh *""'"); 
    }
    arg2 = reinterpret_cast< iPolygonMesh * >(argp2);
    result = (arg1)->CreateCollider(arg2);
    {
      csRef<iCollider> rf ((csPtr<iCollider>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iCollider*)rf, SWIG_TypeQuery("cspace::""iCollider"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_CreateCollider__SWIG_1) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iTerraFormer *arg2 = (iTerraFormer *) 0 ;
    SwigValueWrapper<csPtr<iCollider > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCollideSystem_CreateCollider(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_CreateCollider" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCollideSystem_CreateCollider" "', argument " "2"" of type '" "iTerraFormer *""'"); 
    }
    arg2 = reinterpret_cast< iTerraFormer * >(argp2);
    result = (arg1)->CreateCollider(arg2);
    {
      csRef<iCollider> rf ((csPtr<iCollider>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iCollider*)rf, SWIG_TypeQuery("cspace::""iCollider"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_CreateCollider) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iPolygonMesh, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iTerraFormer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCollideSystem_CreateCollider__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iCollideSystem_CreateCollider__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iCollideSystem_CreateCollider'");
  XSRETURN(0);
}


XS(_wrap_iCollideSystem_Collide) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iCollider *arg2 = (iCollider *) 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    iCollider *arg4 = (iCollider *) 0 ;
    csReversibleTransform *arg5 = (csReversibleTransform *) 0 ;
    bool result;
    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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iCollideSystem_Collide(self,collider1,trans1,collider2,trans2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_Collide" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCollideSystem_Collide" "', argument " "2"" of type '" "iCollider *""'"); 
    }
    arg2 = reinterpret_cast< iCollider * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCollideSystem_Collide" "', argument " "3"" of type '" "csReversibleTransform const *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iCollideSystem_Collide" "', argument " "4"" of type '" "iCollider *""'"); 
    }
    arg4 = reinterpret_cast< iCollider * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iCollideSystem_Collide" "', argument " "5"" of type '" "csReversibleTransform const *""'"); 
    }
    arg5 = reinterpret_cast< csReversibleTransform * >(argp5);
    result = (bool)(arg1)->Collide(arg2,(csReversibleTransform const *)arg3,arg4,(csReversibleTransform const *)arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_GetCollisionPairs) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    csCollisionPair *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCollideSystem_GetCollisionPairs(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_GetCollisionPairs" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    result = (csCollisionPair *)(arg1)->GetCollisionPairs();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCollisionPair, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_GetCollisionPairCount) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCollideSystem_GetCollisionPairCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_GetCollisionPairCount" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    result = (arg1)->GetCollisionPairCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_ResetCollisionPairs) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCollideSystem_ResetCollisionPairs(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_ResetCollisionPairs" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    (arg1)->ResetCollisionPairs();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_CollideRay) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iCollider *arg2 = (iCollider *) 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iCollideSystem_CollideRay(self,collider,trans,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_CollideRay" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCollideSystem_CollideRay" "', argument " "2"" of type '" "iCollider *""'"); 
    }
    arg2 = reinterpret_cast< iCollider * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCollideSystem_CollideRay" "', argument " "3"" of type '" "csReversibleTransform const *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iCollideSystem_CollideRay" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCollideSystem_CollideRay" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iCollideSystem_CollideRay" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCollideSystem_CollideRay" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (bool)(arg1)->CollideRay(arg2,(csReversibleTransform const *)arg3,(csVector3 const &)*arg4,(csVector3 const &)*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_CollideSegment) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iCollider *arg2 = (iCollider *) 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iCollideSystem_CollideSegment(self,collider,trans,start,end);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_CollideSegment" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iCollideSystem_CollideSegment" "', argument " "2"" of type '" "iCollider *""'"); 
    }
    arg2 = reinterpret_cast< iCollider * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iCollideSystem_CollideSegment" "', argument " "3"" of type '" "csReversibleTransform const *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iCollideSystem_CollideSegment" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCollideSystem_CollideSegment" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iCollideSystem_CollideSegment" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iCollideSystem_CollideSegment" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (bool)(arg1)->CollideSegment(arg2,(csReversibleTransform const *)arg3,(csVector3 const &)*arg4,(csVector3 const &)*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_GetIntersectingTriangles) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    csArray<csIntersectingTriangle > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCollideSystem_GetIntersectingTriangles(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_GetIntersectingTriangles" "', argument " "1"" of type '" "iCollideSystem const *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    {
      csArray<csIntersectingTriangle > const &_result_ref = ((iCollideSystem const *)arg1)->GetIntersectingTriangles();
      result = (csArray<csIntersectingTriangle > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTcsIntersectingTriangle_csArrayElementHandlerTcsIntersectingTriangle_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_SetOneHitOnly) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCollideSystem_SetOneHitOnly(self,o);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_SetOneHitOnly" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCollideSystem_SetOneHitOnly" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetOneHitOnly(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_GetOneHitOnly) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iCollideSystem_GetOneHitOnly(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_GetOneHitOnly" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    result = (bool)(arg1)->GetOneHitOnly();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iCollideSystem) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iCollideSystem(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iCollideSystem" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    delete_iCollideSystem(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iCollideSystem_scfGetVersion();");
    }
    result = (int)iCollideSystem_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iCollideSystem_GetCollisionPairByIndex) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    int arg2 ;
    csCollisionPair *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iCollideSystem_GetCollisionPairByIndex(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iCollideSystem_GetCollisionPairByIndex" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iCollideSystem_GetCollisionPairByIndex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (csCollisionPair *)iCollideSystem_GetCollisionPairByIndex(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csCollisionPair, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamics_CreateSystem) {
  {
    iDynamics *arg1 = (iDynamics *) 0 ;
    SwigValueWrapper<csPtr<iDynamicSystem > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamics_CreateSystem(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamics_CreateSystem" "', argument " "1"" of type '" "iDynamics *""'"); 
    }
    arg1 = reinterpret_cast< iDynamics * >(argp1);
    result = (arg1)->CreateSystem();
    {
      csRef<iDynamicSystem> rf ((csPtr<iDynamicSystem>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iDynamicSystem*)rf, SWIG_TypeQuery("cspace::""iDynamicSystem"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamics_RemoveSystem) {
  {
    iDynamics *arg1 = (iDynamics *) 0 ;
    iDynamicSystem *arg2 = (iDynamicSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamics_RemoveSystem(self,system);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamics_RemoveSystem" "', argument " "1"" of type '" "iDynamics *""'"); 
    }
    arg1 = reinterpret_cast< iDynamics * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamics_RemoveSystem" "', argument " "2"" of type '" "iDynamicSystem *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicSystem * >(argp2);
    (arg1)->RemoveSystem(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamics_RemoveSystems) {
  {
    iDynamics *arg1 = (iDynamics *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamics_RemoveSystems(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamics_RemoveSystems" "', argument " "1"" of type '" "iDynamics *""'"); 
    }
    arg1 = reinterpret_cast< iDynamics * >(argp1);
    (arg1)->RemoveSystems();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamics_FindSystem) {
  {
    iDynamics *arg1 = (iDynamics *) 0 ;
    char *arg2 = (char *) 0 ;
    iDynamicSystem *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamics_FindSystem(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamics_FindSystem" "', argument " "1"" of type '" "iDynamics *""'"); 
    }
    arg1 = reinterpret_cast< iDynamics * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamics_FindSystem" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iDynamicSystem *)(arg1)->FindSystem((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iDynamicSystem, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamics_Step) {
  {
    iDynamics *arg1 = (iDynamics *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamics_Step(self,stepsize);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamics, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamics_Step" "', argument " "1"" of type '" "iDynamics *""'"); 
    }
    arg1 = reinterpret_cast< iDynamics * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamics_Step" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Step(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDynamics) {
  {
    iDynamics *arg1 = (iDynamics *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDynamics(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamics, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDynamics" "', argument " "1"" of type '" "iDynamics *""'"); 
    }
    arg1 = reinterpret_cast< iDynamics * >(argp1);
    delete_iDynamics(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamics_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iDynamics_scfGetVersion();");
    }
    result = (int)iDynamics_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_QueryObject) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_QueryObject" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_SetGravity) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_SetGravity(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_SetGravity" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_SetGravity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_SetGravity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetGravity((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_GetGravity) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_GetGravity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_GetGravity" "', argument " "1"" of type '" "iDynamicSystem const *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = ((iDynamicSystem const *)arg1)->GetGravity();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_SetLinearDampener) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_SetLinearDampener(self,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_SetLinearDampener" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_SetLinearDampener" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetLinearDampener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_GetLinearDampener) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_GetLinearDampener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_GetLinearDampener" "', argument " "1"" of type '" "iDynamicSystem const *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (float)((iDynamicSystem const *)arg1)->GetLinearDampener();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_SetRollingDampener) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_SetRollingDampener(self,d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_SetRollingDampener" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_SetRollingDampener" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetRollingDampener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_GetRollingDampener) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_GetRollingDampener(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_GetRollingDampener" "', argument " "1"" of type '" "iDynamicSystem const *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (float)((iDynamicSystem const *)arg1)->GetRollingDampener();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_EnableAutoDisable) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_EnableAutoDisable(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_EnableAutoDisable" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_EnableAutoDisable" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableAutoDisable(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AutoDisableEnabled) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_AutoDisableEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AutoDisableEnabled" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (bool)(arg1)->AutoDisableEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_SetAutoDisableParams) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float arg2 ;
    float arg3 ;
    int arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iDynamicSystem_SetAutoDisableParams(self,linear,angular,steps,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_SetAutoDisableParams" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_SetAutoDisableParams" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDynamicSystem_SetAutoDisableParams" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_SetAutoDisableParams" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_SetAutoDisableParams" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->SetAutoDisableParams(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_Step) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_Step(self,stepsize);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_Step" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_Step" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Step(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_CreateBody) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    SwigValueWrapper<csPtr<iRigidBody > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_CreateBody(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_CreateBody" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (arg1)->CreateBody();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iRigidBody >(static_cast< const csPtr<iRigidBody >& >(result))), SWIGTYPE_p_csPtrTiRigidBody_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_RemoveBody) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_RemoveBody(self,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_RemoveBody" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_RemoveBody" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    (arg1)->RemoveBody(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_FindBody) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    char *arg2 = (char *) 0 ;
    iRigidBody *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_FindBody(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_FindBody" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_FindBody" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iRigidBody *)(arg1)->FindBody((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRigidBody, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_GetBody) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    unsigned int arg2 ;
    iRigidBody *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_GetBody(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_GetBody" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_GetBody" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    result = (iRigidBody *)(arg1)->GetBody(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iRigidBody, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_GetBodysCount) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_GetBodysCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_GetBodysCount" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (int)(arg1)->GetBodysCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_CreateGroup) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    SwigValueWrapper<csPtr<iBodyGroup > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_CreateGroup(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_CreateGroup" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (arg1)->CreateGroup();
    {
      csRef<iBodyGroup> rf ((csPtr<iBodyGroup>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iBodyGroup*)rf, SWIG_TypeQuery("cspace::""iBodyGroup"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_RemoveGroup) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iBodyGroup *arg2 = (iBodyGroup *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_RemoveGroup(self,group);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_RemoveGroup" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBodyGroup, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_RemoveGroup" "', argument " "2"" of type '" "iBodyGroup *""'"); 
    }
    arg2 = reinterpret_cast< iBodyGroup * >(argp2);
    (arg1)->RemoveGroup(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_CreateJoint) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    SwigValueWrapper<csPtr<iJoint > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_CreateJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_CreateJoint" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (arg1)->CreateJoint();
    {
      csRef<iJoint> rf ((csPtr<iJoint>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iJoint*)rf, SWIG_TypeQuery("cspace::""iJoint"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_RemoveJoint) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iJoint *arg2 = (iJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_RemoveJoint(self,joint);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_RemoveJoint" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_RemoveJoint" "', argument " "2"" of type '" "iJoint *""'"); 
    }
    arg2 = reinterpret_cast< iJoint * >(argp2);
    (arg1)->RemoveJoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_GetDefaultMoveCallback) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iDynamicsMoveCallback *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_GetDefaultMoveCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_GetDefaultMoveCallback" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (iDynamicsMoveCallback *)(arg1)->GetDefaultMoveCallback();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iDynamicsMoveCallback, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderMesh__SWIG_0) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    csOrthoTransform *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderMesh(self,mesh,trans,friction,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (bool)(arg1)->AttachColliderMesh(arg2,(csOrthoTransform const &)*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderMesh__SWIG_1) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    csOrthoTransform *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderMesh(self,mesh,trans,friction,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderMesh" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (bool)(arg1)->AttachColliderMesh(arg2,(csOrthoTransform const &)*arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderMesh) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderMesh__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderMesh__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDynamicSystem_AttachColliderMesh'");
  XSRETURN(0);
}


XS(_wrap_iDynamicSystem_AttachColliderCylinder__SWIG_0) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float arg2 ;
    float arg3 ;
    csOrthoTransform *arg4 = 0 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderCylinder(self,length,radius,trans,friction,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "4"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "4"" of type '" "csOrthoTransform const &""'"); 
    }
    arg4 = reinterpret_cast< csOrthoTransform * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    result = (bool)(arg1)->AttachColliderCylinder(arg2,arg3,(csOrthoTransform const &)*arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderCylinder__SWIG_1) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float arg2 ;
    float arg3 ;
    csOrthoTransform *arg4 = 0 ;
    float arg5 ;
    float arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderCylinder(self,length,radius,trans,friction,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "4"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "4"" of type '" "csOrthoTransform const &""'"); 
    }
    arg4 = reinterpret_cast< csOrthoTransform * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iDynamicSystem_AttachColliderCylinder" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (bool)(arg1)->AttachColliderCylinder(arg2,arg3,(csOrthoTransform const &)*arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderCylinder) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderCylinder__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderCylinder__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDynamicSystem_AttachColliderCylinder'");
  XSRETURN(0);
}


XS(_wrap_iDynamicSystem_AttachColliderBox__SWIG_0) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    csVector3 *arg2 = 0 ;
    csOrthoTransform *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderBox(self,size,trans,friction,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (bool)(arg1)->AttachColliderBox((csVector3 const &)*arg2,(csOrthoTransform const &)*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderBox__SWIG_1) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    csVector3 *arg2 = 0 ;
    csOrthoTransform *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderBox(self,size,trans,friction,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderBox" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (bool)(arg1)->AttachColliderBox((csVector3 const &)*arg2,(csOrthoTransform const &)*arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderBox) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderBox__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderBox__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDynamicSystem_AttachColliderBox'");
  XSRETURN(0);
}


XS(_wrap_iDynamicSystem_AttachColliderSphere__SWIG_0) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderSphere(self,radius,offset,friction,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (bool)(arg1)->AttachColliderSphere(arg2,(csVector3 const &)*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderSphere__SWIG_1) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderSphere(self,radius,offset,friction,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderSphere" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (bool)(arg1)->AttachColliderSphere(arg2,(csVector3 const &)*arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderSphere) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderSphere__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderSphere__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDynamicSystem_AttachColliderSphere'");
  XSRETURN(0);
}


XS(_wrap_iDynamicSystem_AttachColliderPlane__SWIG_0) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    csPlane3 *arg2 = 0 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderPlane(self,plane,friction,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (bool)(arg1)->AttachColliderPlane((csPlane3 const &)*arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderPlane__SWIG_1) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    csPlane3 *arg2 = 0 ;
    float arg3 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iDynamicSystem_AttachColliderPlane(self,plane,friction,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iDynamicSystem_AttachColliderPlane" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->AttachColliderPlane((csPlane3 const &)*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachColliderPlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderPlane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicSystem_AttachColliderPlane__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDynamicSystem_AttachColliderPlane'");
  XSRETURN(0);
}


XS(_wrap_iDynamicSystem_DestroyColliders) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_DestroyColliders(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_DestroyColliders" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    (arg1)->DestroyColliders();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_DestroyCollider) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iDynamicsSystemCollider *arg2 = (iDynamicsSystemCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_DestroyCollider(self,collider);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_DestroyCollider" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_DestroyCollider" "', argument " "2"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsSystemCollider * >(argp2);
    (arg1)->DestroyCollider(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_AttachCollider) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    iDynamicsSystemCollider *arg2 = (iDynamicsSystemCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_AttachCollider(self,collider);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_AttachCollider" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicSystem_AttachCollider" "', argument " "2"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsSystemCollider * >(argp2);
    (arg1)->AttachCollider(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_CreateCollider) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    SwigValueWrapper<csRef<iDynamicsSystemCollider > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_CreateCollider(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_CreateCollider" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (arg1)->CreateCollider();
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDynamicsSystemCollider >(static_cast< const csRef<iDynamicsSystemCollider >& >(result))), SWIGTYPE_p_csRefTiDynamicsSystemCollider_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_GetCollider) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    unsigned int arg2 ;
    SwigValueWrapper<csRef<iDynamicsSystemCollider > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicSystem_GetCollider(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_GetCollider" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicSystem_GetCollider" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    result = (arg1)->GetCollider(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDynamicsSystemCollider >(static_cast< const csRef<iDynamicsSystemCollider >& >(result))), SWIGTYPE_p_csRefTiDynamicsSystemCollider_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_GetColliderCount) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicSystem_GetColliderCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicSystem_GetColliderCount" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    result = (int)(arg1)->GetColliderCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDynamicSystem) {
  {
    iDynamicSystem *arg1 = (iDynamicSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDynamicSystem(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicSystem, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDynamicSystem" "', argument " "1"" of type '" "iDynamicSystem *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicSystem * >(argp1);
    delete_iDynamicSystem(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicSystem_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iDynamicSystem_scfGetVersion();");
    }
    result = (int)iDynamicSystem_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsMoveCallback_Execute__SWIG_0) {
  {
    iDynamicsMoveCallback *arg1 = (iDynamicsMoveCallback *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    csOrthoTransform *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDynamicsMoveCallback_Execute(self,mesh,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsMoveCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "1"" of type '" "iDynamicsMoveCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsMoveCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "3"" of type '" "csOrthoTransform &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsMoveCallback_Execute" "', argument " "3"" of type '" "csOrthoTransform &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    (arg1)->Execute(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsMoveCallback_Execute__SWIG_1) {
  {
    iDynamicsMoveCallback *arg1 = (iDynamicsMoveCallback *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    csOrthoTransform *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDynamicsMoveCallback_Execute(self,light,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsMoveCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "1"" of type '" "iDynamicsMoveCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsMoveCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "3"" of type '" "csOrthoTransform &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsMoveCallback_Execute" "', argument " "3"" of type '" "csOrthoTransform &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    (arg1)->Execute(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsMoveCallback_Execute__SWIG_2) {
  {
    iDynamicsMoveCallback *arg1 = (iDynamicsMoveCallback *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    csOrthoTransform *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDynamicsMoveCallback_Execute(self,camera,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsMoveCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "1"" of type '" "iDynamicsMoveCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsMoveCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "3"" of type '" "csOrthoTransform &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsMoveCallback_Execute" "', argument " "3"" of type '" "csOrthoTransform &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    (arg1)->Execute(arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsMoveCallback_Execute__SWIG_3) {
  {
    iDynamicsMoveCallback *arg1 = (iDynamicsMoveCallback *) 0 ;
    csOrthoTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsMoveCallback_Execute(self,t);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsMoveCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "1"" of type '" "iDynamicsMoveCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsMoveCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsMoveCallback_Execute" "', argument " "2"" of type '" "csOrthoTransform &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsMoveCallback_Execute" "', argument " "2"" of type '" "csOrthoTransform &""'"); 
    }
    arg2 = reinterpret_cast< csOrthoTransform * >(argp2);
    (arg1)->Execute(*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsMoveCallback_Execute) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicsMoveCallback, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicsMoveCallback, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iLight, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicsMoveCallback, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicsMoveCallback, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicsMoveCallback_Execute__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicsMoveCallback_Execute__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicsMoveCallback_Execute__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicsMoveCallback_Execute__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iDynamicsMoveCallback_Execute'");
  XSRETURN(0);
}


XS(_wrap_delete_iDynamicsMoveCallback) {
  {
    iDynamicsMoveCallback *arg1 = (iDynamicsMoveCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDynamicsMoveCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsMoveCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDynamicsMoveCallback" "', argument " "1"" of type '" "iDynamicsMoveCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsMoveCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsCollisionCallback_Execute) {
  {
    iDynamicsCollisionCallback *arg1 = (iDynamicsCollisionCallback *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    iRigidBody *arg3 = (iRigidBody *) 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    float arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iDynamicsCollisionCallback_Execute(self,thisbody,otherbody,pos,normal,depth);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsCollisionCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsCollisionCallback_Execute" "', argument " "1"" of type '" "iDynamicsCollisionCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsCollisionCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsCollisionCallback_Execute" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicsCollisionCallback_Execute" "', argument " "3"" of type '" "iRigidBody *""'"); 
    }
    arg3 = reinterpret_cast< iRigidBody * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iDynamicsCollisionCallback_Execute" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsCollisionCallback_Execute" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iDynamicsCollisionCallback_Execute" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsCollisionCallback_Execute" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iDynamicsCollisionCallback_Execute" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    (arg1)->Execute(arg2,arg3,(csVector3 const &)*arg4,(csVector3 const &)*arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDynamicsCollisionCallback) {
  {
    iDynamicsCollisionCallback *arg1 = (iDynamicsCollisionCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDynamicsCollisionCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsCollisionCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDynamicsCollisionCallback" "', argument " "1"" of type '" "iDynamicsCollisionCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsCollisionCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBodyGroup_AddBody) {
  {
    iBodyGroup *arg1 = (iBodyGroup *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iBodyGroup_AddBody(self,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBodyGroup, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBodyGroup_AddBody" "', argument " "1"" of type '" "iBodyGroup *""'"); 
    }
    arg1 = reinterpret_cast< iBodyGroup * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iBodyGroup_AddBody" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    (arg1)->AddBody(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBodyGroup_RemoveBody) {
  {
    iBodyGroup *arg1 = (iBodyGroup *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iBodyGroup_RemoveBody(self,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBodyGroup, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBodyGroup_RemoveBody" "', argument " "1"" of type '" "iBodyGroup *""'"); 
    }
    arg1 = reinterpret_cast< iBodyGroup * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iBodyGroup_RemoveBody" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    (arg1)->RemoveBody(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBodyGroup_BodyInGroup) {
  {
    iBodyGroup *arg1 = (iBodyGroup *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iBodyGroup_BodyInGroup(self,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBodyGroup, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iBodyGroup_BodyInGroup" "', argument " "1"" of type '" "iBodyGroup *""'"); 
    }
    arg1 = reinterpret_cast< iBodyGroup * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iBodyGroup_BodyInGroup" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    result = (bool)(arg1)->BodyInGroup(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iBodyGroup) {
  {
    iBodyGroup *arg1 = (iBodyGroup *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iBodyGroup(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBodyGroup, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iBodyGroup" "', argument " "1"" of type '" "iBodyGroup *""'"); 
    }
    arg1 = reinterpret_cast< iBodyGroup * >(argp1);
    delete_iBodyGroup(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iBodyGroup_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iBodyGroup_scfGetVersion();");
    }
    result = (int)iBodyGroup_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_QueryObject) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_QueryObject" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_MakeStatic) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_MakeStatic(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_MakeStatic" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (bool)(arg1)->MakeStatic();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_MakeDynamic) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_MakeDynamic(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_MakeDynamic" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (bool)(arg1)->MakeDynamic();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_IsStatic) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_IsStatic(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_IsStatic" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (bool)(arg1)->IsStatic();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_Disable) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_Disable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_Disable" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (bool)(arg1)->Disable();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_Enable) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_Enable(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_Enable" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (bool)(arg1)->Enable();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_IsEnabled) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_IsEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_IsEnabled" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (bool)(arg1)->IsEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetGroup) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    SwigValueWrapper<csRef<iBodyGroup > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetGroup(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetGroup" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (arg1)->GetGroup();
    {
      csRef<iBodyGroup> rf ((csRef<iBodyGroup>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iBodyGroup*)rf, SWIG_TypeQuery("cspace::""iBodyGroup"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderMesh__SWIG_0) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    csOrthoTransform *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderMesh(self,mesh,trans,friction,density,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderMesh" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    result = (bool)(arg1)->AttachColliderMesh(arg2,(csOrthoTransform const &)*arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderMesh__SWIG_1) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    csOrthoTransform *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderMesh(self,mesh,trans,friction,density,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderMesh" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderMesh" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (bool)(arg1)->AttachColliderMesh(arg2,(csOrthoTransform const &)*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderMesh) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderMesh__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderMesh__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iRigidBody_AttachColliderMesh'");
  XSRETURN(0);
}


XS(_wrap_iRigidBody_AttachColliderCylinder__SWIG_0) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    float arg2 ;
    float arg3 ;
    csOrthoTransform *arg4 = 0 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    float arg8 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    float val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderCylinder(self,length,radius,trans,friction,density,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "4"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "4"" of type '" "csOrthoTransform const &""'"); 
    }
    arg4 = reinterpret_cast< csOrthoTransform * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    ecode8 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "8"" of type '" "float""'");
    } 
    arg8 = static_cast< float >(val8);
    result = (bool)(arg1)->AttachColliderCylinder(arg2,arg3,(csOrthoTransform const &)*arg4,arg5,arg6,arg7,arg8);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderCylinder__SWIG_1) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    float arg2 ;
    float arg3 ;
    csOrthoTransform *arg4 = 0 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderCylinder(self,length,radius,trans,friction,density,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "4"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "4"" of type '" "csOrthoTransform const &""'"); 
    }
    arg4 = reinterpret_cast< csOrthoTransform * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iRigidBody_AttachColliderCylinder" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    result = (bool)(arg1)->AttachColliderCylinder(arg2,arg3,(csOrthoTransform const &)*arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderCylinder) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderCylinder__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderCylinder__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iRigidBody_AttachColliderCylinder'");
  XSRETURN(0);
}


XS(_wrap_iRigidBody_AttachColliderBox__SWIG_0) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    csOrthoTransform *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderBox(self,size,trans,friction,density,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderBox" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachColliderBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AttachColliderBox" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderBox" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iRigidBody_AttachColliderBox" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderBox" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderBox" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iRigidBody_AttachColliderBox" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    result = (bool)(arg1)->AttachColliderBox((csVector3 const &)*arg2,(csOrthoTransform const &)*arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderBox__SWIG_1) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    csOrthoTransform *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderBox(self,size,trans,friction,density,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderBox" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachColliderBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderBox" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AttachColliderBox" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderBox" "', argument " "3"" of type '" "csOrthoTransform const &""'"); 
    }
    arg3 = reinterpret_cast< csOrthoTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iRigidBody_AttachColliderBox" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderBox" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderBox" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (bool)(arg1)->AttachColliderBox((csVector3 const &)*arg2,(csOrthoTransform const &)*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderBox) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csOrthoTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderBox__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderBox__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iRigidBody_AttachColliderBox'");
  XSRETURN(0);
}


XS(_wrap_iRigidBody_AttachColliderSphere__SWIG_0) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderSphere(self,radius,offset,friction,density,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderSphere" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    result = (bool)(arg1)->AttachColliderSphere(arg2,(csVector3 const &)*arg3,arg4,arg5,arg6,arg7);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderSphere__SWIG_1) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderSphere(self,radius,offset,friction,density,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderSphere" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderSphere" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (bool)(arg1)->AttachColliderSphere(arg2,(csVector3 const &)*arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderSphere) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderSphere__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderSphere__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iRigidBody_AttachColliderSphere'");
  XSRETURN(0);
}


XS(_wrap_iRigidBody_AttachColliderPlane__SWIG_0) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csPlane3 *arg2 = 0 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderPlane(self,plane,friction,density,elasticity,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    result = (bool)(arg1)->AttachColliderPlane((csPlane3 const &)*arg2,arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderPlane__SWIG_1) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csPlane3 *arg2 = 0 ;
    float arg3 ;
    float arg4 ;
    float arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iRigidBody_AttachColliderPlane(self,plane,friction,density,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AttachColliderPlane" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_AttachColliderPlane" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (bool)(arg1)->AttachColliderPlane((csPlane3 const &)*arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachColliderPlane) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csPlane3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderPlane__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iRigidBody_AttachColliderPlane__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iRigidBody_AttachColliderPlane'");
  XSRETURN(0);
}


XS(_wrap_iRigidBody_AttachCollider) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iDynamicsSystemCollider *arg2 = (iDynamicsSystemCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AttachCollider(self,collider);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachCollider" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachCollider" "', argument " "2"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsSystemCollider * >(argp2);
    (arg1)->AttachCollider(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_DestroyColliders) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_DestroyColliders(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_DestroyColliders" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    (arg1)->DestroyColliders();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_DestroyCollider) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iDynamicsSystemCollider *arg2 = (iDynamicsSystemCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_DestroyCollider(self,collider);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_DestroyCollider" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_DestroyCollider" "', argument " "2"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsSystemCollider * >(argp2);
    (arg1)->DestroyCollider(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_SetPosition) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_SetPosition(self,trans);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_SetPosition" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetPosition((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetPosition) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetPosition" "', argument " "1"" of type '" "iRigidBody const *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = ((iRigidBody const *)arg1)->GetPosition();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_SetOrientation) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csMatrix3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_SetOrientation(self,trans);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_SetOrientation" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_SetOrientation" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_SetOrientation" "', argument " "2"" of type '" "csMatrix3 const &""'"); 
    }
    arg2 = reinterpret_cast< csMatrix3 * >(argp2);
    (arg1)->SetOrientation((csMatrix3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetOrientation) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetOrientation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetOrientation" "', argument " "1"" of type '" "iRigidBody const *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = ((iRigidBody const *)arg1)->GetOrientation();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_SetTransform) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csOrthoTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_SetTransform(self,trans);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_SetTransform" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_SetTransform" "', argument " "2"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_SetTransform" "', argument " "2"" of type '" "csOrthoTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csOrthoTransform * >(argp2);
    (arg1)->SetTransform((csOrthoTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetTransform) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csOrthoTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetTransform" "', argument " "1"" of type '" "iRigidBody const *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = ((iRigidBody const *)arg1)->GetTransform();
    ST(argvi) = SWIG_NewPointerObj((new csOrthoTransform(static_cast< const csOrthoTransform& >(result))), SWIGTYPE_p_csOrthoTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_SetLinearVelocity) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_SetLinearVelocity(self,vel);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_SetLinearVelocity" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_SetLinearVelocity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_SetLinearVelocity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetLinearVelocity((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetLinearVelocity) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetLinearVelocity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetLinearVelocity" "', argument " "1"" of type '" "iRigidBody const *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = ((iRigidBody const *)arg1)->GetLinearVelocity();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_SetAngularVelocity) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_SetAngularVelocity(self,vel);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_SetAngularVelocity" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_SetAngularVelocity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_SetAngularVelocity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetAngularVelocity((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetAngularVelocity) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetAngularVelocity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetAngularVelocity" "', argument " "1"" of type '" "iRigidBody const *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = ((iRigidBody const *)arg1)->GetAngularVelocity();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_SetProperties) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    float arg2 ;
    csVector3 *arg3 = 0 ;
    csMatrix3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iRigidBody_SetProperties(self,mass,center,inertia);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_SetProperties" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRigidBody_SetProperties" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_SetProperties" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_SetProperties" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csMatrix3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iRigidBody_SetProperties" "', argument " "4"" of type '" "csMatrix3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_SetProperties" "', argument " "4"" of type '" "csMatrix3 const &""'"); 
    }
    arg4 = reinterpret_cast< csMatrix3 * >(argp4);
    (arg1)->SetProperties(arg2,(csVector3 const &)*arg3,(csMatrix3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetProperties) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    float *arg2 = (float *) 0 ;
    csVector3 *arg3 = (csVector3 *) 0 ;
    csMatrix3 *arg4 = (csMatrix3 *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iRigidBody_GetProperties(self,mass,center,inertia);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetProperties" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_GetProperties" "', argument " "2"" of type '" "float *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_GetProperties" "', argument " "3"" of type '" "csVector3 *""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csMatrix3, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iRigidBody_GetProperties" "', argument " "4"" of type '" "csMatrix3 *""'"); 
    }
    arg4 = reinterpret_cast< csMatrix3 * >(argp4);
    (arg1)->GetProperties(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetMass) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetMass(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetMass" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (float)(arg1)->GetMass();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetCenter) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetCenter(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetCenter" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (arg1)->GetCenter();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetInertia) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csMatrix3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetInertia(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetInertia" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (arg1)->GetInertia();
    ST(argvi) = SWIG_NewPointerObj((new csMatrix3(static_cast< const csMatrix3& >(result))), SWIGTYPE_p_csMatrix3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AdjustTotalMass) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AdjustTotalMass(self,targetmass);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AdjustTotalMass" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRigidBody_AdjustTotalMass" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->AdjustTotalMass(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AddForce) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AddForce(self,force);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AddForce" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AddForce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddForce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->AddForce((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AddTorque) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AddTorque(self,force);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AddTorque" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AddTorque" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddTorque" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->AddTorque((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AddRelForce) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AddRelForce(self,force);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AddRelForce" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AddRelForce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddRelForce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->AddRelForce((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AddRelTorque) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AddRelTorque(self,force);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AddRelTorque" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AddRelTorque" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddRelTorque" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->AddRelTorque((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AddForceAtPos) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iRigidBody_AddForceAtPos(self,force,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AddForceAtPos" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AddForceAtPos" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddForceAtPos" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AddForceAtPos" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddForceAtPos" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->AddForceAtPos((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AddForceAtRelPos) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iRigidBody_AddForceAtRelPos(self,force,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AddForceAtRelPos" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AddForceAtRelPos" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddForceAtRelPos" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AddForceAtRelPos" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddForceAtRelPos" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->AddForceAtRelPos((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AddRelForceAtPos) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iRigidBody_AddRelForceAtPos(self,force,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AddRelForceAtPos" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AddRelForceAtPos" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddRelForceAtPos" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AddRelForceAtPos" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddRelForceAtPos" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->AddRelForceAtPos((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AddRelForceAtRelPos) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iRigidBody_AddRelForceAtRelPos(self,force,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AddRelForceAtRelPos" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AddRelForceAtRelPos" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddRelForceAtRelPos" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_AddRelForceAtRelPos" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_AddRelForceAtRelPos" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    (arg1)->AddRelForceAtRelPos((csVector3 const &)*arg2,(csVector3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetForce) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetForce(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetForce" "', argument " "1"" of type '" "iRigidBody const *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = ((iRigidBody const *)arg1)->GetForce();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetTorque) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetTorque(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetTorque" "', argument " "1"" of type '" "iRigidBody const *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = ((iRigidBody const *)arg1)->GetTorque();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachMesh) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AttachMesh(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachMesh" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachMesh" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->AttachMesh(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetAttachedMesh) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetAttachedMesh(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetAttachedMesh" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (iMeshWrapper *)(arg1)->GetAttachedMesh();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachLight) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AttachLight(self,light);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachLight" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachLight" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    (arg1)->AttachLight(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetAttachedLight) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iLight *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetAttachedLight(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetAttachedLight" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (iLight *)(arg1)->GetAttachedLight();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iLight, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_AttachCamera) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_AttachCamera(self,camera);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_AttachCamera" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_AttachCamera" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    (arg1)->AttachCamera(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetAttachedCamera) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iCamera *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetAttachedCamera(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetAttachedCamera" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (iCamera *)(arg1)->GetAttachedCamera();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCamera, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_SetMoveCallback) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iDynamicsMoveCallback *arg2 = (iDynamicsMoveCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_SetMoveCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_SetMoveCallback" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsMoveCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_SetMoveCallback" "', argument " "2"" of type '" "iDynamicsMoveCallback *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsMoveCallback * >(argp2);
    (arg1)->SetMoveCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_SetCollisionCallback) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iDynamicsCollisionCallback *arg2 = (iDynamicsCollisionCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_SetCollisionCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_SetCollisionCallback" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsCollisionCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_SetCollisionCallback" "', argument " "2"" of type '" "iDynamicsCollisionCallback *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsCollisionCallback * >(argp2);
    (arg1)->SetCollisionCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_Collision) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iRigidBody_Collision(self,other,pos,normal,depth);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_Collision" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iRigidBody_Collision" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iRigidBody_Collision" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_Collision" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iRigidBody_Collision" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iRigidBody_Collision" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iRigidBody_Collision" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->Collision(arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_Update) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_Update(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_Update" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    (arg1)->Update();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetCollider) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    unsigned int arg2 ;
    SwigValueWrapper<csRef<iDynamicsSystemCollider > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iRigidBody_GetCollider(self,index);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetCollider" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iRigidBody_GetCollider" "', argument " "2"" of type '" "unsigned int""'");
    } 
    arg2 = static_cast< unsigned int >(val2);
    result = (arg1)->GetCollider(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iDynamicsSystemCollider >(static_cast< const csRef<iDynamicsSystemCollider >& >(result))), SWIGTYPE_p_csRefTiDynamicsSystemCollider_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iRigidBody_GetColliderCount) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iRigidBody_GetColliderCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iRigidBody_GetColliderCount" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    result = (int)(arg1)->GetColliderCount();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iRigidBody) {
  {
    iRigidBody *arg1 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iRigidBody(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iRigidBody, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iRigidBody" "', argument " "1"" of type '" "iRigidBody *""'"); 
    }
    arg1 = reinterpret_cast< iRigidBody * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsColliderCollisionCallback_Execute__SWIG_0) {
  {
    iDynamicsColliderCollisionCallback *arg1 = (iDynamicsColliderCollisionCallback *) 0 ;
    iDynamicsSystemCollider *arg2 = (iDynamicsSystemCollider *) 0 ;
    iDynamicsSystemCollider *arg3 = (iDynamicsSystemCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDynamicsColliderCollisionCallback_Execute(self,thiscollider,othercollider);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsColliderCollisionCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsColliderCollisionCallback_Execute" "', argument " "1"" of type '" "iDynamicsColliderCollisionCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsColliderCollisionCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsColliderCollisionCallback_Execute" "', argument " "2"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsSystemCollider * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicsColliderCollisionCallback_Execute" "', argument " "3"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg3 = reinterpret_cast< iDynamicsSystemCollider * >(argp3);
    (arg1)->Execute(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsColliderCollisionCallback_Execute__SWIG_1) {
  {
    iDynamicsColliderCollisionCallback *arg1 = (iDynamicsColliderCollisionCallback *) 0 ;
    iDynamicsSystemCollider *arg2 = (iDynamicsSystemCollider *) 0 ;
    iRigidBody *arg3 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDynamicsColliderCollisionCallback_Execute(self,thiscollider,otherbody);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsColliderCollisionCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsColliderCollisionCallback_Execute" "', argument " "1"" of type '" "iDynamicsColliderCollisionCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsColliderCollisionCallback * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsColliderCollisionCallback_Execute" "', argument " "2"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsSystemCollider * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicsColliderCollisionCallback_Execute" "', argument " "3"" of type '" "iRigidBody *""'"); 
    }
    arg3 = reinterpret_cast< iRigidBody * >(argp3);
    (arg1)->Execute(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsColliderCollisionCallback_Execute) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicsColliderCollisionCallback, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDynamicsSystemCollider, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iDynamicsSystemCollider, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iDynamicsColliderCollisionCallback, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iDynamicsSystemCollider, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRigidBody, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicsColliderCollisionCallback_Execute__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iDynamicsColliderCollisionCallback_Execute__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iDynamicsColliderCollisionCallback_Execute'");
  XSRETURN(0);
}


XS(_wrap_delete_iDynamicsColliderCollisionCallback) {
  {
    iDynamicsColliderCollisionCallback *arg1 = (iDynamicsColliderCollisionCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDynamicsColliderCollisionCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsColliderCollisionCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDynamicsColliderCollisionCallback" "', argument " "1"" of type '" "iDynamicsColliderCollisionCallback *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsColliderCollisionCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_CreateSphereGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csSphere *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_CreateSphereGeometry(self,sphere);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_CreateSphereGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_CreateSphereGeometry" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_CreateSphereGeometry" "', argument " "2"" of type '" "csSphere const &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    result = (bool)(arg1)->CreateSphereGeometry((csSphere const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_CreatePlaneGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csPlane3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_CreatePlaneGeometry(self,plane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_CreatePlaneGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_CreatePlaneGeometry" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_CreatePlaneGeometry" "', argument " "2"" of type '" "csPlane3 const &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = (bool)(arg1)->CreatePlaneGeometry((csPlane3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_CreateMeshGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_CreateMeshGeometry(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_CreateMeshGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_CreateMeshGeometry" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (bool)(arg1)->CreateMeshGeometry(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_CreateBoxGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_CreateBoxGeometry(self,box_size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_CreateBoxGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_CreateBoxGeometry" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_CreateBoxGeometry" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)(arg1)->CreateBoxGeometry((csVector3 const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_CreateCCylinderGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float arg2 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_CreateCCylinderGeometry(self,length,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_CreateCCylinderGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicsSystemCollider_CreateCCylinderGeometry" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iDynamicsSystemCollider_CreateCCylinderGeometry" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->CreateCCylinderGeometry(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_SetCollisionCallback) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    iDynamicsColliderCollisionCallback *arg2 = (iDynamicsColliderCollisionCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_SetCollisionCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_SetCollisionCallback" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iDynamicsColliderCollisionCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_SetCollisionCallback" "', argument " "2"" of type '" "iDynamicsColliderCollisionCallback *""'"); 
    }
    arg2 = reinterpret_cast< iDynamicsColliderCollisionCallback * >(argp2);
    (arg1)->SetCollisionCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_SetFriction) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_SetFriction(self,friction);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_SetFriction" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicsSystemCollider_SetFriction" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetFriction(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_SetSoftness) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_SetSoftness(self,softness);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_SetSoftness" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicsSystemCollider_SetSoftness" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetSoftness(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_SetDensity) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_SetDensity(self,density);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_SetDensity" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicsSystemCollider_SetDensity" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetDensity(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_SetElasticity) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_SetElasticity(self,elasticity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_SetElasticity" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iDynamicsSystemCollider_SetElasticity" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetElasticity(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetFriction) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetFriction(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetFriction" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    result = (float)(arg1)->GetFriction();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetSoftness) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetSoftness(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetSoftness" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    result = (float)(arg1)->GetSoftness();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetDensity) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetDensity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetDensity" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    result = (float)(arg1)->GetDensity();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetElasticity) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetElasticity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetElasticity" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    result = (float)(arg1)->GetElasticity();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_FillWithColliderGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    SwigValueWrapper<csRef<iGeneralFactoryState > > arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_FillWithColliderGeometry(self,genmesh_fact);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_FillWithColliderGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csRefTiGeneralFactoryState_t,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_FillWithColliderGeometry" "', argument " "2"" of type '" "csRef<iGeneralFactoryState >""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_FillWithColliderGeometry" "', argument " "2"" of type '" "csRef<iGeneralFactoryState >""'");
      } else {
        arg2 = *(reinterpret_cast< csRef<iGeneralFactoryState > * >(argp2));
      }
    }
    (arg1)->FillWithColliderGeometry(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetGeometryType) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csColliderGeometryType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetGeometryType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetGeometryType" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    result = (csColliderGeometryType)(arg1)->GetGeometryType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetTransform) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csOrthoTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetTransform" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    result = (arg1)->GetTransform();
    ST(argvi) = SWIG_NewPointerObj((new csOrthoTransform(static_cast< const csOrthoTransform& >(result))), SWIGTYPE_p_csOrthoTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetLocalTransform) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csOrthoTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetLocalTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetLocalTransform" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    result = (arg1)->GetLocalTransform();
    ST(argvi) = SWIG_NewPointerObj((new csOrthoTransform(static_cast< const csOrthoTransform& >(result))), SWIGTYPE_p_csOrthoTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_SetTransform) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csOrthoTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_SetTransform(self,trans);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_SetTransform" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_SetTransform" "', argument " "2"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_SetTransform" "', argument " "2"" of type '" "csOrthoTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csOrthoTransform * >(argp2);
    (arg1)->SetTransform((csOrthoTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetBoxGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csVector3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetBoxGeometry(self,size);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetBoxGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_GetBoxGeometry" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_GetBoxGeometry" "', argument " "2"" of type '" "csVector3 &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    result = (bool)(arg1)->GetBoxGeometry(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetSphereGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csSphere *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetSphereGeometry(self,sphere);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetSphereGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_GetSphereGeometry" "', argument " "2"" of type '" "csSphere &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_GetSphereGeometry" "', argument " "2"" of type '" "csSphere &""'"); 
    }
    arg2 = reinterpret_cast< csSphere * >(argp2);
    result = (bool)(arg1)->GetSphereGeometry(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetPlaneGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    csPlane3 *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetPlaneGeometry(self,plane);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetPlaneGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csPlane3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_GetPlaneGeometry" "', argument " "2"" of type '" "csPlane3 &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_GetPlaneGeometry" "', argument " "2"" of type '" "csPlane3 &""'"); 
    }
    arg2 = reinterpret_cast< csPlane3 * >(argp2);
    result = (bool)(arg1)->GetPlaneGeometry(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_GetCylinderGeometry) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    float *arg2 = 0 ;
    float *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_GetCylinderGeometry(self,length,radius);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_GetCylinderGeometry" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iDynamicsSystemCollider_GetCylinderGeometry" "', argument " "2"" of type '" "float &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_GetCylinderGeometry" "', argument " "2"" of type '" "float &""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iDynamicsSystemCollider_GetCylinderGeometry" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iDynamicsSystemCollider_GetCylinderGeometry" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    result = (bool)(arg1)->GetCylinderGeometry(*arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_MakeStatic) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_MakeStatic(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_MakeStatic" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    (arg1)->MakeStatic();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_MakeDynamic) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_MakeDynamic(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_MakeDynamic" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    (arg1)->MakeDynamic();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iDynamicsSystemCollider_IsStatic) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iDynamicsSystemCollider_IsStatic(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iDynamicsSystemCollider_IsStatic" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    result = (bool)(arg1)->IsStatic();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iDynamicsSystemCollider) {
  {
    iDynamicsSystemCollider *arg1 = (iDynamicsSystemCollider *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iDynamicsSystemCollider(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iDynamicsSystemCollider, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iDynamicsSystemCollider" "', argument " "1"" of type '" "iDynamicsSystemCollider *""'"); 
    }
    arg1 = reinterpret_cast< iDynamicsSystemCollider * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_Attach) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    iRigidBody *arg3 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iJoint_Attach(self,body1,body2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_Attach" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_Attach" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iJoint_Attach" "', argument " "3"" of type '" "iRigidBody *""'"); 
    }
    arg3 = reinterpret_cast< iRigidBody * >(argp3);
    (arg1)->Attach(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetAttachedBody) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    int arg2 ;
    SwigValueWrapper<csRef<iRigidBody > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_GetAttachedBody(self,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetAttachedBody" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoint_GetAttachedBody" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->GetAttachedBody(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iRigidBody >(static_cast< const csRef<iRigidBody >& >(result))), SWIGTYPE_p_csRefTiRigidBody_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetTransform) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csOrthoTransform *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_SetTransform(self,trans);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetTransform" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csOrthoTransform,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetTransform" "', argument " "2"" of type '" "csOrthoTransform const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetTransform" "', argument " "2"" of type '" "csOrthoTransform const &""'"); 
    }
    arg2 = reinterpret_cast< csOrthoTransform * >(argp2);
    (arg1)->SetTransform((csOrthoTransform const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetTransform) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csOrthoTransform result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_GetTransform(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetTransform" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (arg1)->GetTransform();
    ST(argvi) = SWIG_NewPointerObj((new csOrthoTransform(static_cast< const csOrthoTransform& >(result))), SWIGTYPE_p_csOrthoTransform, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetTransConstraints) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    bool arg2 ;
    bool arg3 ;
    bool arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iJoint_SetTransConstraints(self,X,Y,Z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetTransConstraints" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoint_SetTransConstraints" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iJoint_SetTransConstraints" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iJoint_SetTransConstraints" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->SetTransConstraints(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_IsXTransConstrained) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_IsXTransConstrained(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_IsXTransConstrained" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (bool)(arg1)->IsXTransConstrained();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_IsYTransConstrained) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_IsYTransConstrained(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_IsYTransConstrained" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (bool)(arg1)->IsYTransConstrained();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_IsZTransConstrained) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_IsZTransConstrained(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_IsZTransConstrained" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (bool)(arg1)->IsZTransConstrained();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetMinimumDistance) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_SetMinimumDistance(self,min);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetMinimumDistance" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetMinimumDistance" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetMinimumDistance" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetMinimumDistance((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetMinimumDistance) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_GetMinimumDistance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetMinimumDistance" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (arg1)->GetMinimumDistance();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetMaximumDistance) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_SetMaximumDistance(self,max);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetMaximumDistance" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetMaximumDistance" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetMaximumDistance" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetMaximumDistance((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetMaximumDistance) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_GetMaximumDistance(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetMaximumDistance" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (arg1)->GetMaximumDistance();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetRotConstraints) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    bool arg2 ;
    bool arg3 ;
    bool arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iJoint_SetRotConstraints(self,X,Y,Z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetRotConstraints" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoint_SetRotConstraints" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iJoint_SetRotConstraints" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iJoint_SetRotConstraints" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->SetRotConstraints(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_IsXRotConstrained) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_IsXRotConstrained(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_IsXRotConstrained" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (bool)(arg1)->IsXRotConstrained();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_IsYRotConstrained) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_IsYRotConstrained(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_IsYRotConstrained" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (bool)(arg1)->IsYRotConstrained();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_IsZRotConstrained) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_IsZRotConstrained(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_IsZRotConstrained" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (bool)(arg1)->IsZRotConstrained();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetMinimumAngle) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_SetMinimumAngle(self,min);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetMinimumAngle" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetMinimumAngle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetMinimumAngle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetMinimumAngle((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetMinimumAngle) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_GetMinimumAngle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetMinimumAngle" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (arg1)->GetMinimumAngle();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetMaximumAngle) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_SetMaximumAngle(self,max);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetMaximumAngle" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetMaximumAngle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetMaximumAngle" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetMaximumAngle((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetMaximumAngle) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_GetMaximumAngle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetMaximumAngle" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (arg1)->GetMaximumAngle();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetBounce) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_SetBounce(self,bounce);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetBounce" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetBounce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetBounce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetBounce((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetBounce) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_GetBounce(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetBounce" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (arg1)->GetBounce();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetDesiredVelocity) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_SetDesiredVelocity(self,velocity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetDesiredVelocity" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetDesiredVelocity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetDesiredVelocity" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetDesiredVelocity((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetDesiredVelocity) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_GetDesiredVelocity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetDesiredVelocity" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (arg1)->GetDesiredVelocity();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetMaxForce) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_SetMaxForce(self,maxForce);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetMaxForce" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetMaxForce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetMaxForce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetMaxForce((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetMaxForce) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iJoint_GetMaxForce(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetMaxForce" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    result = (arg1)->GetMaxForce();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_SetAngularConstraintAxis) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iJoint_SetAngularConstraintAxis(self,axis,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_SetAngularConstraintAxis" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iJoint_SetAngularConstraintAxis" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iJoint_SetAngularConstraintAxis" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iJoint_SetAngularConstraintAxis" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetAngularConstraintAxis((csVector3 const &)*arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_GetAngularConstraintAxis) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    int arg2 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iJoint_GetAngularConstraintAxis(self,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iJoint_GetAngularConstraintAxis" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iJoint_GetAngularConstraintAxis" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->GetAngularConstraintAxis(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iJoint) {
  {
    iJoint *arg1 = (iJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iJoint, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iJoint" "', argument " "1"" of type '" "iJoint *""'"); 
    }
    arg1 = reinterpret_cast< iJoint * >(argp1);
    delete_iJoint(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iJoint_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iJoint_scfGetVersion();");
    }
    result = (int)iJoint_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iODEFrameUpdateCallback_Execute) {
  {
    iODEFrameUpdateCallback *arg1 = (iODEFrameUpdateCallback *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEFrameUpdateCallback_Execute(self,stepsize);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEFrameUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEFrameUpdateCallback_Execute" "', argument " "1"" of type '" "iODEFrameUpdateCallback *""'"); 
    }
    arg1 = reinterpret_cast< iODEFrameUpdateCallback * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEFrameUpdateCallback_Execute" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->Execute(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEFrameUpdateCallback) {
  {
    iODEFrameUpdateCallback *arg1 = (iODEFrameUpdateCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEFrameUpdateCallback(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEFrameUpdateCallback, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEFrameUpdateCallback" "', argument " "1"" of type '" "iODEFrameUpdateCallback *""'"); 
    }
    arg1 = reinterpret_cast< iODEFrameUpdateCallback * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_SetGlobalERP) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_SetGlobalERP(self,erp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_SetGlobalERP" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_SetGlobalERP" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetGlobalERP(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_GlobalERP) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_GlobalERP(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_GlobalERP" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (float)(arg1)->GlobalERP();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_SetGlobalCFM) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_SetGlobalCFM(self,cfm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_SetGlobalCFM" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_SetGlobalCFM" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetGlobalCFM(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_GlobalCFM) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_GlobalCFM(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_GlobalCFM" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (float)(arg1)->GlobalCFM();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_EnableStepFast) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_EnableStepFast(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_EnableStepFast" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_EnableStepFast" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableStepFast(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_StepFastEnabled) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_StepFastEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_StepFastEnabled" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (bool)(arg1)->StepFastEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_SetStepFastIterations) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_SetStepFastIterations(self,iter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_SetStepFastIterations" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_SetStepFastIterations" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetStepFastIterations(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_StepFastIterations) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_StepFastIterations(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_StepFastIterations" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (int)(arg1)->StepFastIterations();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_EnableQuickStep) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_EnableQuickStep(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_EnableQuickStep" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_EnableQuickStep" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableQuickStep(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_QuickStepEnabled) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_QuickStepEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_QuickStepEnabled" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (bool)(arg1)->QuickStepEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_SetQuickStepIterations) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_SetQuickStepIterations(self,iter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_SetQuickStepIterations" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_SetQuickStepIterations" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetQuickStepIterations(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_QuickStepIterations) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_QuickStepIterations(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_QuickStepIterations" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (int)(arg1)->QuickStepIterations();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_EnableFrameRate) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_EnableFrameRate(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_EnableFrameRate" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_EnableFrameRate" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableFrameRate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_FrameRateEnabled) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_FrameRateEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_FrameRateEnabled" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (bool)(arg1)->FrameRateEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_SetFrameRate) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_SetFrameRate(self,hz);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_SetFrameRate" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_SetFrameRate" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetFrameRate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_FrameRate) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_FrameRate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_FrameRate" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (float)(arg1)->FrameRate();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_SetFrameLimit) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_SetFrameLimit(self,hz);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_SetFrameLimit" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_SetFrameLimit" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetFrameLimit(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_FrameLimit) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_FrameLimit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_FrameLimit" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (float)(arg1)->FrameLimit();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_AddFrameUpdateCallback) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    iODEFrameUpdateCallback *arg2 = (iODEFrameUpdateCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_AddFrameUpdateCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_AddFrameUpdateCallback" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEFrameUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicState_AddFrameUpdateCallback" "', argument " "2"" of type '" "iODEFrameUpdateCallback *""'"); 
    }
    arg2 = reinterpret_cast< iODEFrameUpdateCallback * >(argp2);
    (arg1)->AddFrameUpdateCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_RemoveFrameUpdateCallback) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    iODEFrameUpdateCallback *arg2 = (iODEFrameUpdateCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_RemoveFrameUpdateCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_RemoveFrameUpdateCallback" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEFrameUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicState_RemoveFrameUpdateCallback" "', argument " "2"" of type '" "iODEFrameUpdateCallback *""'"); 
    }
    arg2 = reinterpret_cast< iODEFrameUpdateCallback * >(argp2);
    (arg1)->RemoveFrameUpdateCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_EnableEventProcessing) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_EnableEventProcessing(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_EnableEventProcessing" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_EnableEventProcessing" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableEventProcessing(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_EventProcessingEnabled) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_EventProcessingEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_EventProcessingEnabled" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (bool)(arg1)->EventProcessingEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_EnableFastObjects) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicState_EnableFastObjects(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_EnableFastObjects" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicState_EnableFastObjects" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableFastObjects(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_FastObjectsEnabled) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicState_FastObjectsEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicState_FastObjectsEnabled" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    result = (bool)(arg1)->FastObjectsEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEDynamicState) {
  {
    iODEDynamicState *arg1 = (iODEDynamicState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEDynamicState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEDynamicState" "', argument " "1"" of type '" "iODEDynamicState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicState * >(argp1);
    delete_iODEDynamicState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iODEDynamicState_scfGetVersion();");
    }
    result = (int)iODEDynamicState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_SetERP) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetERP(self,erp);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetERP" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetERP" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetERP(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_ERP) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_ERP(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_ERP" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (float)(arg1)->ERP();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_SetCFM) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetCFM(self,cfm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetCFM" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetCFM" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetCFM(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_CFM) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_CFM(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_CFM" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (float)(arg1)->CFM();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_EnableStepFast) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_EnableStepFast(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_EnableStepFast" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_EnableStepFast" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableStepFast(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_StepFastEnabled) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_StepFastEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_StepFastEnabled" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (bool)(arg1)->StepFastEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_SetStepFastIterations) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetStepFastIterations(self,iter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetStepFastIterations" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetStepFastIterations" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetStepFastIterations(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_StepFastIterations) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_StepFastIterations(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_StepFastIterations" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (int)(arg1)->StepFastIterations();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_EnableQuickStep) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_EnableQuickStep(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_EnableQuickStep" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_EnableQuickStep" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableQuickStep(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_QuickStepEnabled) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_QuickStepEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_QuickStepEnabled" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (bool)(arg1)->QuickStepEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_SetQuickStepIterations) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetQuickStepIterations(self,iter);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetQuickStepIterations" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetQuickStepIterations" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetQuickStepIterations(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_QuickStepIterations) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_QuickStepIterations(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_QuickStepIterations" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (int)(arg1)->QuickStepIterations();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_EnableAutoDisable) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_EnableAutoDisable(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_EnableAutoDisable" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_EnableAutoDisable" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableAutoDisable(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_AutoDisableEnabled) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_AutoDisableEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_AutoDisableEnabled" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (bool)(arg1)->AutoDisableEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_SetAutoDisableParams) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float arg2 ;
    float arg3 ;
    int arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetAutoDisableParams(self,linear,angular,steps,time);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetAutoDisableParams" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetAutoDisableParams" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEDynamicSystemState_SetAutoDisableParams" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iODEDynamicSystemState_SetAutoDisableParams" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iODEDynamicSystemState_SetAutoDisableParams" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->SetAutoDisableParams(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_EnableFrameRate) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_EnableFrameRate(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_EnableFrameRate" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_EnableFrameRate" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableFrameRate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_FrameRateEnabled) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_FrameRateEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_FrameRateEnabled" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (bool)(arg1)->FrameRateEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_SetFrameRate) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetFrameRate(self,hz);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetFrameRate" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetFrameRate" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetFrameRate(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_FrameRate) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_FrameRate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_FrameRate" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (float)(arg1)->FrameRate();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_SetFrameLimit) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetFrameLimit(self,hz);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetFrameLimit" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetFrameLimit" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetFrameLimit(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_FrameLimit) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_FrameLimit(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_FrameLimit" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (float)(arg1)->FrameLimit();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_AddFrameUpdateCallback) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    iODEFrameUpdateCallback *arg2 = (iODEFrameUpdateCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_AddFrameUpdateCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_AddFrameUpdateCallback" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEFrameUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicSystemState_AddFrameUpdateCallback" "', argument " "2"" of type '" "iODEFrameUpdateCallback *""'"); 
    }
    arg2 = reinterpret_cast< iODEFrameUpdateCallback * >(argp2);
    (arg1)->AddFrameUpdateCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_RemoveFrameUpdateCallback) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    iODEFrameUpdateCallback *arg2 = (iODEFrameUpdateCallback *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_RemoveFrameUpdateCallback(self,cb);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_RemoveFrameUpdateCallback" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEFrameUpdateCallback, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicSystemState_RemoveFrameUpdateCallback" "', argument " "2"" of type '" "iODEFrameUpdateCallback *""'"); 
    }
    arg2 = reinterpret_cast< iODEFrameUpdateCallback * >(argp2);
    (arg1)->RemoveFrameUpdateCallback(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_EnableFastObjects) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_EnableFastObjects(self,enable);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_EnableFastObjects" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_EnableFastObjects" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableFastObjects(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_FastObjectsEnabled) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_FastObjectsEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_FastObjectsEnabled" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (bool)(arg1)->FastObjectsEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_CreateBallJoint) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    SwigValueWrapper<csPtr<iODEBallJoint > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_CreateBallJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_CreateBallJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (arg1)->CreateBallJoint();
    {
      csRef<iODEBallJoint> rf ((csPtr<iODEBallJoint>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iODEBallJoint*)rf, SWIG_TypeQuery("cspace::""iODEBallJoint"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_CreateHingeJoint) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    SwigValueWrapper<csPtr<iODEHingeJoint > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_CreateHingeJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_CreateHingeJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (arg1)->CreateHingeJoint();
    {
      csRef<iODEHingeJoint> rf ((csPtr<iODEHingeJoint>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iODEHingeJoint*)rf, SWIG_TypeQuery("cspace::""iODEHingeJoint"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_CreateHinge2Joint) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    SwigValueWrapper<csPtr<iODEHinge2Joint > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_CreateHinge2Joint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_CreateHinge2Joint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (arg1)->CreateHinge2Joint();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iODEHinge2Joint >(static_cast< const csPtr<iODEHinge2Joint >& >(result))), SWIGTYPE_p_csPtrTiODEHinge2Joint_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_CreateAMotorJoint) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    SwigValueWrapper<csPtr<iODEAMotorJoint > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_CreateAMotorJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_CreateAMotorJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (arg1)->CreateAMotorJoint();
    {
      csRef<iODEAMotorJoint> rf ((csPtr<iODEAMotorJoint>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iODEAMotorJoint*)rf, SWIG_TypeQuery("cspace::""iODEAMotorJoint"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_CreateUniversalJoint) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    SwigValueWrapper<csPtr<iODEUniversalJoint > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_CreateUniversalJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_CreateUniversalJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (arg1)->CreateUniversalJoint();
    {
      csRef<iODEUniversalJoint> rf ((csPtr<iODEUniversalJoint>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iODEUniversalJoint*)rf, SWIG_TypeQuery("cspace::""iODEUniversalJoint"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_CreateSliderJoint) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    SwigValueWrapper<csPtr<iODESliderJoint > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_CreateSliderJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_CreateSliderJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (arg1)->CreateSliderJoint();
    {
      csRef<iODESliderJoint> rf ((csPtr<iODESliderJoint>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iODESliderJoint*)rf, SWIG_TypeQuery("cspace::""iODESliderJoint"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_0) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    iODEBallJoint *arg2 = (iODEBallJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_RemoveJoint(self,joint);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "2"" of type '" "iODEBallJoint *""'"); 
    }
    arg2 = reinterpret_cast< iODEBallJoint * >(argp2);
    (arg1)->RemoveJoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_1) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    iODEHingeJoint *arg2 = (iODEHingeJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_RemoveJoint(self,joint);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "2"" of type '" "iODEHingeJoint *""'"); 
    }
    arg2 = reinterpret_cast< iODEHingeJoint * >(argp2);
    (arg1)->RemoveJoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_2) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    iODEAMotorJoint *arg2 = (iODEAMotorJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_RemoveJoint(self,joint);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "2"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg2 = reinterpret_cast< iODEAMotorJoint * >(argp2);
    (arg1)->RemoveJoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_3) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    iODEUniversalJoint *arg2 = (iODEUniversalJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_RemoveJoint(self,joint);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEUniversalJoint, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "2"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg2 = reinterpret_cast< iODEUniversalJoint * >(argp2);
    (arg1)->RemoveJoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_4) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    iODESliderJoint *arg2 = (iODESliderJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_RemoveJoint(self,joint);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODESliderJoint, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "2"" of type '" "iODESliderJoint *""'"); 
    }
    arg2 = reinterpret_cast< iODESliderJoint * >(argp2);
    (arg1)->RemoveJoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_5) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    iODEHinge2Joint *arg2 = (iODEHinge2Joint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_RemoveJoint(self,joint);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEDynamicSystemState_RemoveJoint" "', argument " "2"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg2 = reinterpret_cast< iODEHinge2Joint * >(argp2);
    (arg1)->RemoveJoint(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_RemoveJoint) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iODEDynamicSystemState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iODEBallJoint, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iODEDynamicSystemState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iODEHingeJoint, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iODEDynamicSystemState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iODEAMotorJoint, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iODEDynamicSystemState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iODEUniversalJoint, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iODEDynamicSystemState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iODESliderJoint, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iODEDynamicSystemState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iODEHinge2Joint, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_4); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iODEDynamicSystemState_RemoveJoint__SWIG_5); return;
    }
  }
  
  croak("No matching function for overloaded 'iODEDynamicSystemState_RemoveJoint'");
  XSRETURN(0);
}


XS(_wrap_iODEDynamicSystemState_SetContactMaxCorrectingVel) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetContactMaxCorrectingVel(self,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetContactMaxCorrectingVel" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetContactMaxCorrectingVel" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetContactMaxCorrectingVel(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_GetContactMaxCorrectingVel) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_GetContactMaxCorrectingVel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_GetContactMaxCorrectingVel" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (float)(arg1)->GetContactMaxCorrectingVel();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_SetContactSurfaceLayer) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEDynamicSystemState_SetContactSurfaceLayer(self,depth);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_SetContactSurfaceLayer" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEDynamicSystemState_SetContactSurfaceLayer" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetContactSurfaceLayer(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_GetContactSurfaceLayer) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEDynamicSystemState_GetContactSurfaceLayer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEDynamicSystemState_GetContactSurfaceLayer" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    result = (float)(arg1)->GetContactSurfaceLayer();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEDynamicSystemState) {
  {
    iODEDynamicSystemState *arg1 = (iODEDynamicSystemState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEDynamicSystemState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEDynamicSystemState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEDynamicSystemState" "', argument " "1"" of type '" "iODEDynamicSystemState *""'"); 
    }
    arg1 = reinterpret_cast< iODEDynamicSystemState * >(argp1);
    delete_iODEDynamicSystemState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEDynamicSystemState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iODEDynamicSystemState_scfGetVersion();");
    }
    result = (int)iODEDynamicSystemState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetType) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    ODEJointType result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetType(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetType" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (ODEJointType)(arg1)->GetType();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetLoStop) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetLoStop(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetLoStop" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetLoStop" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetLoStop" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetLoStop((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetHiStop) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetHiStop(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetHiStop" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetHiStop" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetHiStop" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetHiStop((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetVel) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetVel(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetVel" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetVel" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetVel" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetVel((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetFMax) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetFMax(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetFMax" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetFMax" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetFMax" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetFMax((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetFudgeFactor) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetFudgeFactor(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetFudgeFactor" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetFudgeFactor" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetFudgeFactor" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetFudgeFactor((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetBounce) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetBounce(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetBounce" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetBounce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetBounce" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetBounce((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetCFM) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetCFM(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetCFM" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetCFM" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetCFM" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetCFM((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetStopERP) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetStopERP(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetStopERP" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetStopERP" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetStopERP" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetStopERP((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetStopCFM) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetStopCFM(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetStopCFM" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetStopCFM" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetStopCFM" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetStopCFM((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetSuspensionERP) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetSuspensionERP(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetSuspensionERP" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetSuspensionERP" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetSuspensionERP" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetSuspensionERP((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_SetSuspensionCFM) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEJointState_SetSuspensionCFM(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_SetSuspensionCFM" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEJointState_SetSuspensionCFM" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEJointState_SetSuspensionCFM" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetSuspensionCFM((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetLoStop) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetLoStop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetLoStop" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetLoStop();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetHiStop) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetHiStop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetHiStop" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetHiStop();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetVel) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetVel(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetVel" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetVel();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetMaxForce) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetMaxForce(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetMaxForce" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetMaxForce();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetFudgeFactor) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetFudgeFactor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetFudgeFactor" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetFudgeFactor();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetBounce) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetBounce(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetBounce" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetBounce();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetCFM) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetCFM(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetCFM" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetCFM();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetStopERP) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetStopERP(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetStopERP" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetStopERP();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetStopCFM) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetStopCFM(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetStopCFM" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetStopCFM();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetSuspensionERP) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetSuspensionERP(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetSuspensionERP" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetSuspensionERP();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_GetSuspensionCFM) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEJointState_GetSuspensionCFM(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEJointState_GetSuspensionCFM" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    result = (arg1)->GetSuspensionCFM();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEJointState) {
  {
    iODEJointState *arg1 = (iODEJointState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEJointState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEJointState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEJointState" "', argument " "1"" of type '" "iODEJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEJointState * >(argp1);
    delete_iODEJointState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEJointState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iODEJointState_scfGetVersion();");
    }
    result = (int)iODEJointState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetLoStop) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetLoStop(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetLoStop" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetLoStop" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetLoStop" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetLoStop(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetHiStop) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetHiStop(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetHiStop" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetHiStop" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetHiStop" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetHiStop(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetVel) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetVel(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetVel" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetVel" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetVel" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetVel(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetFMax) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetFMax(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetFMax" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetFMax" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetFMax" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetFMax(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetFudgeFactor) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetFudgeFactor(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetFudgeFactor" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetFudgeFactor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetFudgeFactor" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetFudgeFactor(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetBounce) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetBounce(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetBounce" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetBounce" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetBounce" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetBounce(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetCFM) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetCFM(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetCFM" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetCFM" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetCFM" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetCFM(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetStopERP) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetStopERP(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetStopERP" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetStopERP" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetStopERP" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetStopERP(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetStopCFM) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetStopCFM(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetStopCFM" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetStopCFM" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetStopCFM" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetStopCFM(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetSuspensionERP) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetSuspensionERP(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetSuspensionERP" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetSuspensionERP" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetSuspensionERP" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetSuspensionERP(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_SetSuspensionCFM) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    float arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_SetSuspensionCFM(self,value,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_SetSuspensionCFM" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_SetSuspensionCFM" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEGeneralJointState_SetSuspensionCFM" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->SetSuspensionCFM(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetLoStop) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetLoStop(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetLoStop" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetLoStop" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetLoStop(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetHiStop) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetHiStop(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetHiStop" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetHiStop" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetHiStop(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetVel) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetVel(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetVel" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetVel" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetVel(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetFMax) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetFMax(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetFMax" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetFMax" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetFMax(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetFudgeFactor) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetFudgeFactor(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetFudgeFactor" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetFudgeFactor" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetFudgeFactor(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetBounce) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetBounce(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetBounce" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetBounce" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetBounce(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetCFM) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetCFM(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetCFM" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetCFM" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetCFM(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetStopERP) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetStopERP(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetStopERP" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetStopERP" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetStopERP(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetStopCFM) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetStopCFM(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetStopCFM" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetStopCFM" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetStopCFM(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetSuspensionERP) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetSuspensionERP(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetSuspensionERP" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetSuspensionERP" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetSuspensionERP(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetSuspensionCFM) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetSuspensionCFM(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetSuspensionCFM" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetSuspensionCFM" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetSuspensionCFM(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_Attach) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    iRigidBody *arg3 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEGeneralJointState_Attach(self,body1,body2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_Attach" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEGeneralJointState_Attach" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iODEGeneralJointState_Attach" "', argument " "3"" of type '" "iRigidBody *""'"); 
    }
    arg3 = reinterpret_cast< iRigidBody * >(argp3);
    (arg1)->Attach(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetAttachedBody) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    int arg2 ;
    SwigValueWrapper<csRef<iRigidBody > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetAttachedBody(self,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetAttachedBody" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEGeneralJointState_GetAttachedBody" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->GetAttachedBody(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iRigidBody >(static_cast< const csRef<iRigidBody >& >(result))), SWIGTYPE_p_csRefTiRigidBody_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetFeedbackForce1) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetFeedbackForce1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetFeedbackForce1" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    result = (arg1)->GetFeedbackForce1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetFeedbackTorque1) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetFeedbackTorque1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetFeedbackTorque1" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    result = (arg1)->GetFeedbackTorque1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetFeedbackForce2) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetFeedbackForce2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetFeedbackForce2" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    result = (arg1)->GetFeedbackForce2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEGeneralJointState_GetFeedbackTorque2) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEGeneralJointState_GetFeedbackTorque2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEGeneralJointState_GetFeedbackTorque2" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    result = (arg1)->GetFeedbackTorque2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEGeneralJointState) {
  {
    iODEGeneralJointState *arg1 = (iODEGeneralJointState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEGeneralJointState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEGeneralJointState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEGeneralJointState" "', argument " "1"" of type '" "iODEGeneralJointState *""'"); 
    }
    arg1 = reinterpret_cast< iODEGeneralJointState * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODESliderJoint_SetSliderAxis) {
  {
    iODESliderJoint *arg1 = (iODESliderJoint *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iODESliderJoint_SetSliderAxis(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODESliderJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODESliderJoint_SetSliderAxis" "', argument " "1"" of type '" "iODESliderJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODESliderJoint * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODESliderJoint_SetSliderAxis" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODESliderJoint_SetSliderAxis" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iODESliderJoint_SetSliderAxis" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->SetSliderAxis(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODESliderJoint_GetSliderAxis) {
  {
    iODESliderJoint *arg1 = (iODESliderJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODESliderJoint_GetSliderAxis(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODESliderJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODESliderJoint_GetSliderAxis" "', argument " "1"" of type '" "iODESliderJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODESliderJoint * >(argp1);
    result = (arg1)->GetSliderAxis();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODESliderJoint_GetSliderPosition) {
  {
    iODESliderJoint *arg1 = (iODESliderJoint *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODESliderJoint_GetSliderPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODESliderJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODESliderJoint_GetSliderPosition" "', argument " "1"" of type '" "iODESliderJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODESliderJoint * >(argp1);
    result = (float)(arg1)->GetSliderPosition();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODESliderJoint_GetSliderPositionRate) {
  {
    iODESliderJoint *arg1 = (iODESliderJoint *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODESliderJoint_GetSliderPositionRate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODESliderJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODESliderJoint_GetSliderPositionRate" "', argument " "1"" of type '" "iODESliderJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODESliderJoint * >(argp1);
    result = (float)(arg1)->GetSliderPositionRate();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODESliderJoint) {
  {
    iODESliderJoint *arg1 = (iODESliderJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODESliderJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODESliderJoint, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODESliderJoint" "', argument " "1"" of type '" "iODESliderJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODESliderJoint * >(argp1);
    delete_iODESliderJoint(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODESliderJoint_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iODESliderJoint_scfGetVersion();");
    }
    result = (int)iODESliderJoint_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iODEUniversalJoint_SetUniversalAnchor) {
  {
    iODEUniversalJoint *arg1 = (iODEUniversalJoint *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iODEUniversalJoint_SetUniversalAnchor(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEUniversalJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEUniversalJoint_SetUniversalAnchor" "', argument " "1"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEUniversalJoint * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEUniversalJoint_SetUniversalAnchor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEUniversalJoint_SetUniversalAnchor" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iODEUniversalJoint_SetUniversalAnchor" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->SetUniversalAnchor(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEUniversalJoint_SetUniversalAxis1) {
  {
    iODEUniversalJoint *arg1 = (iODEUniversalJoint *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iODEUniversalJoint_SetUniversalAxis1(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEUniversalJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEUniversalJoint_SetUniversalAxis1" "', argument " "1"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEUniversalJoint * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEUniversalJoint_SetUniversalAxis1" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEUniversalJoint_SetUniversalAxis1" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iODEUniversalJoint_SetUniversalAxis1" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->SetUniversalAxis1(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEUniversalJoint_SetUniversalAxis2) {
  {
    iODEUniversalJoint *arg1 = (iODEUniversalJoint *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iODEUniversalJoint_SetUniversalAxis2(self,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEUniversalJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEUniversalJoint_SetUniversalAxis2" "', argument " "1"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEUniversalJoint * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEUniversalJoint_SetUniversalAxis2" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEUniversalJoint_SetUniversalAxis2" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iODEUniversalJoint_SetUniversalAxis2" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->SetUniversalAxis2(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEUniversalJoint_GetUniversalAnchor1) {
  {
    iODEUniversalJoint *arg1 = (iODEUniversalJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEUniversalJoint_GetUniversalAnchor1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEUniversalJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEUniversalJoint_GetUniversalAnchor1" "', argument " "1"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEUniversalJoint * >(argp1);
    result = (arg1)->GetUniversalAnchor1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEUniversalJoint_GetUniversalAnchor2) {
  {
    iODEUniversalJoint *arg1 = (iODEUniversalJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEUniversalJoint_GetUniversalAnchor2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEUniversalJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEUniversalJoint_GetUniversalAnchor2" "', argument " "1"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEUniversalJoint * >(argp1);
    result = (arg1)->GetUniversalAnchor2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEUniversalJoint_GetUniversalAxis1) {
  {
    iODEUniversalJoint *arg1 = (iODEUniversalJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEUniversalJoint_GetUniversalAxis1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEUniversalJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEUniversalJoint_GetUniversalAxis1" "', argument " "1"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEUniversalJoint * >(argp1);
    result = (arg1)->GetUniversalAxis1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEUniversalJoint_GetUniversalAxis2) {
  {
    iODEUniversalJoint *arg1 = (iODEUniversalJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEUniversalJoint_GetUniversalAxis2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEUniversalJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEUniversalJoint_GetUniversalAxis2" "', argument " "1"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEUniversalJoint * >(argp1);
    result = (arg1)->GetUniversalAxis2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEUniversalJoint) {
  {
    iODEUniversalJoint *arg1 = (iODEUniversalJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEUniversalJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEUniversalJoint, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEUniversalJoint" "', argument " "1"" of type '" "iODEUniversalJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEUniversalJoint * >(argp1);
    delete_iODEUniversalJoint(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEUniversalJoint_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iODEUniversalJoint_scfGetVersion();");
    }
    result = (int)iODEUniversalJoint_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_SetAMotorMode) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    ODEAMotorMode arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEAMotorJoint_SetAMotorMode(self,mode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_SetAMotorMode" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_SetAMotorMode" "', argument " "2"" of type '" "ODEAMotorMode""'");
    } 
    arg2 = static_cast< ODEAMotorMode >(val2);
    (arg1)->SetAMotorMode(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_GetAMotorMode) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    ODEAMotorMode result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEAMotorJoint_GetAMotorMode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_GetAMotorMode" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    result = (ODEAMotorMode)(arg1)->GetAMotorMode();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_SetAMotorNumAxes) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEAMotorJoint_SetAMotorNumAxes(self,axis_num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_SetAMotorNumAxes" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_SetAMotorNumAxes" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    (arg1)->SetAMotorNumAxes(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_GetAMotorNumAxes) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEAMotorJoint_GetAMotorNumAxes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_GetAMotorNumAxes" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    result = (int)(arg1)->GetAMotorNumAxes();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_SetAMotorAxis__SWIG_0) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int arg2 ;
    int arg3 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iODEAMotorJoint_SetAMotorAxis(self,axis_num,rel_orient,x,y,z);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    (arg1)->SetAMotorAxis(arg2,arg3,arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_SetAMotorAxis__SWIG_1) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int arg2 ;
    int arg3 ;
    csVector3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iODEAMotorJoint_SetAMotorAxis(self,axis_num,rel_orient,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEAMotorJoint_SetAMotorAxis" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    (arg1)->SetAMotorAxis(arg2,arg3,(csVector3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_SetAMotorAxis) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iODEAMotorJoint, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iODEAMotorJoint, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iODEAMotorJoint_SetAMotorAxis__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iODEAMotorJoint_SetAMotorAxis__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iODEAMotorJoint_SetAMotorAxis'");
  XSRETURN(0);
}


XS(_wrap_iODEAMotorJoint_GetAMotorAxis) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int arg2 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEAMotorJoint_GetAMotorAxis(self,axis_num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_GetAMotorAxis" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_GetAMotorAxis" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->GetAMotorAxis(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_GetAMotorAxisRelOrientation) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int arg2 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEAMotorJoint_GetAMotorAxisRelOrientation(self,axis_num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_GetAMotorAxisRelOrientation" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_GetAMotorAxisRelOrientation" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (int)(arg1)->GetAMotorAxisRelOrientation(arg2);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_SetAMotorAngle) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int arg2 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEAMotorJoint_SetAMotorAngle(self,axis_num,angle);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_SetAMotorAngle" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_SetAMotorAngle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iODEAMotorJoint_SetAMotorAngle" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    (arg1)->SetAMotorAngle(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_GetAMotorAngle) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEAMotorJoint_GetAMotorAngle(self,axis_num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_GetAMotorAngle" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_GetAMotorAngle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetAMotorAngle(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_GetAMotorAngleRate) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    int arg2 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEAMotorJoint_GetAMotorAngleRate(self,axis_num);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEAMotorJoint_GetAMotorAngleRate" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEAMotorJoint_GetAMotorAngleRate" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (float)(arg1)->GetAMotorAngleRate(arg2);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEAMotorJoint) {
  {
    iODEAMotorJoint *arg1 = (iODEAMotorJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEAMotorJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEAMotorJoint, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEAMotorJoint" "', argument " "1"" of type '" "iODEAMotorJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEAMotorJoint * >(argp1);
    delete_iODEAMotorJoint(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEAMotorJoint_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iODEAMotorJoint_scfGetVersion();");
    }
    result = (int)iODEAMotorJoint_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_SetHingeAnchor) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEHinge2Joint_SetHingeAnchor(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_SetHingeAnchor" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEHinge2Joint_SetHingeAnchor" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEHinge2Joint_SetHingeAnchor" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetHingeAnchor((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_SetHingeAxis1) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEHinge2Joint_SetHingeAxis1(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_SetHingeAxis1" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEHinge2Joint_SetHingeAxis1" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEHinge2Joint_SetHingeAxis1" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetHingeAxis1((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_SetHingeAxis2) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEHinge2Joint_SetHingeAxis2(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_SetHingeAxis2" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEHinge2Joint_SetHingeAxis2" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEHinge2Joint_SetHingeAxis2" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetHingeAxis2((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_GetHingeAnchor1) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHinge2Joint_GetHingeAnchor1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_GetHingeAnchor1" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    result = (arg1)->GetHingeAnchor1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_GetHingeAnchor2) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHinge2Joint_GetHingeAnchor2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_GetHingeAnchor2" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    result = (arg1)->GetHingeAnchor2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_GetHingeAxis1) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHinge2Joint_GetHingeAxis1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_GetHingeAxis1" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    result = (arg1)->GetHingeAxis1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_GetHingeAxis2) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHinge2Joint_GetHingeAxis2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_GetHingeAxis2" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    result = (arg1)->GetHingeAxis2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_GetHingeAngle) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHinge2Joint_GetHingeAngle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_GetHingeAngle" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    result = (float)(arg1)->GetHingeAngle();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_GetHingeAngleRate1) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHinge2Joint_GetHingeAngleRate1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_GetHingeAngleRate1" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    result = (float)(arg1)->GetHingeAngleRate1();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_GetHingeAngleRate2) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHinge2Joint_GetHingeAngleRate2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_GetHingeAngleRate2" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    result = (float)(arg1)->GetHingeAngleRate2();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHinge2Joint_GetAnchorError) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHinge2Joint_GetAnchorError(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHinge2Joint_GetAnchorError" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    result = (arg1)->GetAnchorError();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEHinge2Joint) {
  {
    iODEHinge2Joint *arg1 = (iODEHinge2Joint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEHinge2Joint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHinge2Joint, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEHinge2Joint" "', argument " "1"" of type '" "iODEHinge2Joint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHinge2Joint * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_SetHingeAnchor) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEHingeJoint_SetHingeAnchor(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHingeJoint_SetHingeAnchor" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEHingeJoint_SetHingeAnchor" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEHingeJoint_SetHingeAnchor" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetHingeAnchor((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_SetHingeAxis) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEHingeJoint_SetHingeAxis(self,axis);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHingeJoint_SetHingeAxis" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEHingeJoint_SetHingeAxis" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEHingeJoint_SetHingeAxis" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetHingeAxis((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_GetHingeAnchor1) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHingeJoint_GetHingeAnchor1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHingeJoint_GetHingeAnchor1" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    result = (arg1)->GetHingeAnchor1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_GetHingeAnchor2) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHingeJoint_GetHingeAnchor2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHingeJoint_GetHingeAnchor2" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    result = (arg1)->GetHingeAnchor2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_GetHingeAxis) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHingeJoint_GetHingeAxis(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHingeJoint_GetHingeAxis" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    result = (arg1)->GetHingeAxis();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_GetHingeAngle) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHingeJoint_GetHingeAngle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHingeJoint_GetHingeAngle" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    result = (float)(arg1)->GetHingeAngle();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_GetHingeAngleRate) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHingeJoint_GetHingeAngleRate(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHingeJoint_GetHingeAngleRate" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    result = (float)(arg1)->GetHingeAngleRate();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_GetAnchorError) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEHingeJoint_GetAnchorError(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEHingeJoint_GetAnchorError" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    result = (arg1)->GetAnchorError();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEHingeJoint) {
  {
    iODEHingeJoint *arg1 = (iODEHingeJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEHingeJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEHingeJoint, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEHingeJoint" "', argument " "1"" of type '" "iODEHingeJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEHingeJoint * >(argp1);
    delete_iODEHingeJoint(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEHingeJoint_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iODEHingeJoint_scfGetVersion();");
    }
    result = (int)iODEHingeJoint_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_SetBallAnchor) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEBallJoint_SetBallAnchor(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_SetBallAnchor" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEBallJoint_SetBallAnchor" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iODEBallJoint_SetBallAnchor" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetBallAnchor((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_GetBallAnchor1) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEBallJoint_GetBallAnchor1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_GetBallAnchor1" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    result = (arg1)->GetBallAnchor1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_GetBallAnchor2) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEBallJoint_GetBallAnchor2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_GetBallAnchor2" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    result = (arg1)->GetBallAnchor2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_GetAnchorError) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEBallJoint_GetAnchorError(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_GetAnchorError" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    result = (arg1)->GetAnchorError();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_Attach) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    iRigidBody *arg2 = (iRigidBody *) 0 ;
    iRigidBody *arg3 = (iRigidBody *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iODEBallJoint_Attach(self,body1,body2);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_Attach" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iODEBallJoint_Attach" "', argument " "2"" of type '" "iRigidBody *""'"); 
    }
    arg2 = reinterpret_cast< iRigidBody * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRigidBody, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iODEBallJoint_Attach" "', argument " "3"" of type '" "iRigidBody *""'"); 
    }
    arg3 = reinterpret_cast< iRigidBody * >(argp3);
    (arg1)->Attach(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_GetAttachedBody) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    int arg2 ;
    SwigValueWrapper<csRef<iRigidBody > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iODEBallJoint_GetAttachedBody(self,body);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_GetAttachedBody" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iODEBallJoint_GetAttachedBody" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    result = (arg1)->GetAttachedBody(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csRef<iRigidBody >(static_cast< const csRef<iRigidBody >& >(result))), SWIGTYPE_p_csRefTiRigidBody_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_GetFeedbackForce1) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEBallJoint_GetFeedbackForce1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_GetFeedbackForce1" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    result = (arg1)->GetFeedbackForce1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_GetFeedbackTorque1) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEBallJoint_GetFeedbackTorque1(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_GetFeedbackTorque1" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    result = (arg1)->GetFeedbackTorque1();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_GetFeedbackForce2) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEBallJoint_GetFeedbackForce2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_GetFeedbackForce2" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    result = (arg1)->GetFeedbackForce2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_GetFeedbackTorque2) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    csVector3 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iODEBallJoint_GetFeedbackTorque2(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iODEBallJoint_GetFeedbackTorque2" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    result = (arg1)->GetFeedbackTorque2();
    ST(argvi) = SWIG_NewPointerObj((new csVector3(static_cast< const csVector3& >(result))), SWIGTYPE_p_csVector3, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iODEBallJoint) {
  {
    iODEBallJoint *arg1 = (iODEBallJoint *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iODEBallJoint(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iODEBallJoint, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iODEBallJoint" "', argument " "1"" of type '" "iODEBallJoint *""'"); 
    }
    arg1 = reinterpret_cast< iODEBallJoint * >(argp1);
    delete_iODEBallJoint(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iODEBallJoint_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iODEBallJoint_scfGetVersion();");
    }
    result = (int)iODEBallJoint_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iParameterESM_GetValue__SWIG_0) {
  {
    iParameterESM *arg1 = (iParameterESM *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iParameterESM_GetValue(self,params);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParameterESM_GetValue" "', argument " "1"" of type '" "iParameterESM const *""'"); 
    }
    arg1 = reinterpret_cast< iParameterESM * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iParameterESM_GetValue" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    result = (iBase *)((iParameterESM const *)arg1)->GetValue(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParameterESM_GetValue__SWIG_1) {
  {
    iParameterESM *arg1 = (iParameterESM *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParameterESM_GetValue(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParameterESM_GetValue" "', argument " "1"" of type '" "iParameterESM const *""'"); 
    }
    arg1 = reinterpret_cast< iParameterESM * >(argp1);
    result = (iBase *)((iParameterESM const *)arg1)->GetValue();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iParameterESM_GetValue) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iParameterESM, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iParameterESM, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iParameterESM_GetValue__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iParameterESM_GetValue__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iParameterESM_GetValue'");
  XSRETURN(0);
}


XS(_wrap_iParameterESM_IsConstant) {
  {
    iParameterESM *arg1 = (iParameterESM *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iParameterESM_IsConstant(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iParameterESM_IsConstant" "', argument " "1"" of type '" "iParameterESM const *""'"); 
    }
    arg1 = reinterpret_cast< iParameterESM * >(argp1);
    result = (bool)((iParameterESM const *)arg1)->IsConstant();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iParameterESM) {
  {
    iParameterESM *arg1 = (iParameterESM *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iParameterESM(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iParameterESM, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iParameterESM" "', argument " "1"" of type '" "iParameterESM *""'"); 
    }
    arg1 = reinterpret_cast< iParameterESM * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_GetParameterCount) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngineSequenceParameters_GetParameterCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_GetParameterCount" "', argument " "1"" of type '" "iEngineSequenceParameters const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    result = ((iEngineSequenceParameters const *)arg1)->GetParameterCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_GetParameter__SWIG_0) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    size_t arg2 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceParameters_GetParameter(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_GetParameter" "', argument " "1"" of type '" "iEngineSequenceParameters const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceParameters_GetParameter" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iBase *)((iEngineSequenceParameters const *)arg1)->GetParameter(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_GetParameter__SWIG_1) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceParameters_GetParameter(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_GetParameter" "', argument " "1"" of type '" "iEngineSequenceParameters const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceParameters_GetParameter" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iBase *)((iEngineSequenceParameters const *)arg1)->GetParameter((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_GetParameter) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceParameters, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceParameters, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceParameters_GetParameter__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceParameters_GetParameter__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngineSequenceParameters_GetParameter'");
  XSRETURN(0);
}


XS(_wrap_iEngineSequenceParameters_GetParameterIdx) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    char *arg2 = (char *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceParameters_GetParameterIdx(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_GetParameterIdx" "', argument " "1"" of type '" "iEngineSequenceParameters const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceParameters_GetParameterIdx" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = ((iEngineSequenceParameters const *)arg1)->GetParameterIdx((char const *)arg2);
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_GetParameterName) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    size_t arg2 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceParameters_GetParameterName(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_GetParameterName" "', argument " "1"" of type '" "iEngineSequenceParameters const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceParameters_GetParameterName" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (char *)((iEngineSequenceParameters const *)arg1)->GetParameterName(arg2);
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_AddParameter__SWIG_0) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase *arg3 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngineSequenceParameters_AddParameter(self,name,def_value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_AddParameter" "', argument " "1"" of type '" "iEngineSequenceParameters *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceParameters_AddParameter" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngineSequenceParameters_AddParameter" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    (arg1)->AddParameter((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_AddParameter__SWIG_1) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceParameters_AddParameter(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_AddParameter" "', argument " "1"" of type '" "iEngineSequenceParameters *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceParameters_AddParameter" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->AddParameter((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_AddParameter) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceParameters, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceParameters, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceParameters_AddParameter__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceParameters_AddParameter__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngineSequenceParameters_AddParameter'");
  XSRETURN(0);
}


XS(_wrap_iEngineSequenceParameters_SetParameter__SWIG_0) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    size_t arg2 ;
    iBase *arg3 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngineSequenceParameters_SetParameter(self,idx,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_SetParameter" "', argument " "1"" of type '" "iEngineSequenceParameters *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceParameters_SetParameter" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngineSequenceParameters_SetParameter" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    (arg1)->SetParameter(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_SetParameter__SWIG_1) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    char *arg2 = (char *) 0 ;
    iBase *arg3 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngineSequenceParameters_SetParameter(self,name,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_SetParameter" "', argument " "1"" of type '" "iEngineSequenceParameters *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceParameters_SetParameter" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iEngineSequenceParameters_SetParameter" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    (arg1)->SetParameter((char const *)arg2,arg3);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceParameters_SetParameter) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceParameters, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceParameters, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceParameters_SetParameter__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceParameters_SetParameter__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngineSequenceParameters_SetParameter'");
  XSRETURN(0);
}


XS(_wrap_iEngineSequenceParameters_CreateParameterESM) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iParameterESM > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceParameters_CreateParameterESM(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceParameters_CreateParameterESM" "', argument " "1"" of type '" "iEngineSequenceParameters *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceParameters_CreateParameterESM" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->CreateParameterESM((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iParameterESM >(static_cast< const csPtr<iParameterESM >& >(result))), SWIGTYPE_p_csPtrTiParameterESM_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEngineSequenceParameters) {
  {
    iEngineSequenceParameters *arg1 = (iEngineSequenceParameters *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEngineSequenceParameters(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceParameters, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEngineSequenceParameters" "', argument " "1"" of type '" "iEngineSequenceParameters *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceParameters * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_QueryObject) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceWrapper_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_QueryObject" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_GetSequence) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    iSequence *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceWrapper_GetSequence(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_GetSequence" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    result = (iSequence *)(arg1)->GetSequence();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSequence, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_CreateBaseParameterBlock) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    iEngineSequenceParameters *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceWrapper_CreateBaseParameterBlock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_CreateBaseParameterBlock" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    result = (iEngineSequenceParameters *)(arg1)->CreateBaseParameterBlock();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iEngineSequenceParameters, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_GetBaseParameterBlock) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    iEngineSequenceParameters *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceWrapper_GetBaseParameterBlock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_GetBaseParameterBlock" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    result = (iEngineSequenceParameters *)(arg1)->GetBaseParameterBlock();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iEngineSequenceParameters, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_CreateParameterBlock) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    SwigValueWrapper<csPtr<iEngineSequenceParameters > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceWrapper_CreateParameterBlock(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_CreateParameterBlock" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    result = (arg1)->CreateParameterBlock();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iEngineSequenceParameters >(static_cast< const csPtr<iEngineSequenceParameters >& >(result))), SWIGTYPE_p_csPtrTiEngineSequenceParameters_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_0) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iSharedVariable *arg3 = (iSharedVariable *) 0 ;
    float arg4 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetVariable(self,time,var,value,dvalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "3"" of type '" "iSharedVariable *""'"); 
    }
    arg3 = reinterpret_cast< iSharedVariable * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->AddOperationSetVariable(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_1) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iSharedVariable *arg3 = (iSharedVariable *) 0 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetVariable(self,time,var,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "3"" of type '" "iSharedVariable *""'"); 
    }
    arg3 = reinterpret_cast< iSharedVariable * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    (arg1)->AddOperationSetVariable(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_2) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iSharedVariable *arg3 = (iSharedVariable *) 0 ;
    iSharedVariable *arg4 = (iSharedVariable *) 0 ;
    iSharedVariable *arg5 = (iSharedVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetVariable(self,time,var,value,dvalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "3"" of type '" "iSharedVariable *""'"); 
    }
    arg3 = reinterpret_cast< iSharedVariable * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "4"" of type '" "iSharedVariable *""'"); 
    }
    arg4 = reinterpret_cast< iSharedVariable * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "5"" of type '" "iSharedVariable *""'"); 
    }
    arg5 = reinterpret_cast< iSharedVariable * >(argp5);
    (arg1)->AddOperationSetVariable(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_3) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iSharedVariable *arg3 = (iSharedVariable *) 0 ;
    iSharedVariable *arg4 = (iSharedVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetVariable(self,time,var,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "3"" of type '" "iSharedVariable *""'"); 
    }
    arg3 = reinterpret_cast< iSharedVariable * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "4"" of type '" "iSharedVariable *""'"); 
    }
    arg4 = reinterpret_cast< iSharedVariable * >(argp4);
    (arg1)->AddOperationSetVariable(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_4) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iSharedVariable *arg3 = (iSharedVariable *) 0 ;
    csVector3 *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetVariable(self,time,var,v);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "3"" of type '" "iSharedVariable *""'"); 
    }
    arg3 = reinterpret_cast< iSharedVariable * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    (arg1)->AddOperationSetVariable(arg2,arg3,(csVector3 const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_5) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iSharedVariable *arg3 = (iSharedVariable *) 0 ;
    csColor *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetVariable(self,time,var,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "3"" of type '" "iSharedVariable *""'"); 
    }
    arg3 = reinterpret_cast< iSharedVariable * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationSetVariable" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    (arg1)->AddOperationSetVariable(arg2,arg3,(csColor const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetVariable) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iSharedVariable, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_4); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_5); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_1); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_2); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceWrapper_AddOperationSetVariable__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSequenceWrapper_AddOperationSetVariable'");
  XSRETURN(0);
}


XS(_wrap_iSequenceWrapper_AddOperationSetMaterial) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    iParameterESM *arg4 = (iParameterESM *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetMaterial(self,time,mesh,mat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetMaterial" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetMaterial" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetMaterial" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetMaterial" "', argument " "4"" of type '" "iParameterESM *""'"); 
    }
    arg4 = reinterpret_cast< iParameterESM * >(argp4);
    (arg1)->AddOperationSetMaterial(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetPolygonMaterial) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    iParameterESM *arg4 = (iParameterESM *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetPolygonMaterial(self,time,polygon,mat);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetPolygonMaterial" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetPolygonMaterial" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetPolygonMaterial" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetPolygonMaterial" "', argument " "4"" of type '" "iParameterESM *""'"); 
    }
    arg4 = reinterpret_cast< iParameterESM * >(argp4);
    (arg1)->AddOperationSetPolygonMaterial(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetLight) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csColor *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetLight(self,time,light,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetLight" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetLight" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetLight" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetLight" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationSetLight" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    (arg1)->AddOperationSetLight(arg2,arg3,(csColor const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationFadeLight) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csColor *arg4 = 0 ;
    csTicks arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    unsigned int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationFadeLight(self,time,light,color,duration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationFadeLight" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationFadeLight" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationFadeLight" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationFadeLight" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationFadeLight" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    ecode5 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSequenceWrapper_AddOperationFadeLight" "', argument " "5"" of type '" "csTicks""'");
    } 
    arg5 = static_cast< csTicks >(val5);
    (arg1)->AddOperationFadeLight(arg2,arg3,(csColor const &)*arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetAmbient) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csColor *arg4 = 0 ;
    iSharedVariable *arg5 = (iSharedVariable *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetAmbient(self,time,sector,color,colorvar);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetAmbient" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetAmbient" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetAmbient" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetAmbient" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationSetAmbient" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iSharedVariable, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSequenceWrapper_AddOperationSetAmbient" "', argument " "5"" of type '" "iSharedVariable *""'"); 
    }
    arg5 = reinterpret_cast< iSharedVariable * >(argp5);
    (arg1)->AddOperationSetAmbient(arg2,arg3,(csColor const &)*arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationFadeAmbient) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csColor *arg4 = 0 ;
    csTicks arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    unsigned int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationFadeAmbient(self,time,sector,color,duration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationFadeAmbient" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationFadeAmbient" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationFadeAmbient" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationFadeAmbient" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationFadeAmbient" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    ecode5 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSequenceWrapper_AddOperationFadeAmbient" "', argument " "5"" of type '" "csTicks""'");
    } 
    arg5 = static_cast< csTicks >(val5);
    (arg1)->AddOperationFadeAmbient(arg2,arg3,(csColor const &)*arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationRandomDelay) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    int arg3 ;
    int arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationRandomDelay(self,time,min,max);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationRandomDelay" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationRandomDelay" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSequenceWrapper_AddOperationRandomDelay" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSequenceWrapper_AddOperationRandomDelay" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    (arg1)->AddOperationRandomDelay(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetMeshColor) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csColor *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetMeshColor(self,time,mesh,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetMeshColor" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetMeshColor" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetMeshColor" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetMeshColor" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationSetMeshColor" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    (arg1)->AddOperationSetMeshColor(arg2,arg3,(csColor const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationFadeMeshColor) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csColor *arg4 = 0 ;
    csTicks arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    unsigned int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationFadeMeshColor(self,time,mesh,color,duration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationFadeMeshColor" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationFadeMeshColor" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationFadeMeshColor" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationFadeMeshColor" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationFadeMeshColor" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    ecode5 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSequenceWrapper_AddOperationFadeMeshColor" "', argument " "5"" of type '" "csTicks""'");
    } 
    arg5 = static_cast< csTicks >(val5);
    (arg1)->AddOperationFadeMeshColor(arg2,arg3,(csColor const &)*arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationSetFog) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csColor *arg4 = 0 ;
    float arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationSetFog(self,time,sector,color,density);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationSetFog" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationSetFog" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationSetFog" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationSetFog" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationSetFog" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSequenceWrapper_AddOperationSetFog" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    (arg1)->AddOperationSetFog(arg2,arg3,(csColor const &)*arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationFadeFog) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csColor *arg4 = 0 ;
    float arg5 ;
    csTicks arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    unsigned int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationFadeFog(self,time,sector,color,density,duration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationFadeFog" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationFadeFog" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationFadeFog" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationFadeFog" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationFadeFog" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSequenceWrapper_AddOperationFadeFog" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iSequenceWrapper_AddOperationFadeFog" "', argument " "6"" of type '" "csTicks""'");
    } 
    arg6 = static_cast< csTicks >(val6);
    (arg1)->AddOperationFadeFog(arg2,arg3,(csColor const &)*arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationRotateDuration) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    int arg4 ;
    float arg5 ;
    int arg6 ;
    float arg7 ;
    int arg8 ;
    float arg9 ;
    csVector3 *arg10 = 0 ;
    csTicks arg11 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int val8 ;
    int ecode8 = 0 ;
    float val9 ;
    int ecode9 = 0 ;
    void *argp10 ;
    int res10 = 0 ;
    unsigned int val11 ;
    int ecode11 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 11) || (items > 11)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationRotateDuration(self,time,mesh,axis1,tot_angle1,axis2,tot_angle2,axis3,tot_angle3,offset,duration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    ecode8 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "8"" of type '" "int""'");
    } 
    arg8 = static_cast< int >(val8);
    ecode9 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "9"" of type '" "float""'");
    } 
    arg9 = static_cast< float >(val9);
    res10 = SWIG_ConvertPtr(ST(9), &argp10, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res10)) {
      SWIG_exception_fail(SWIG_ArgError(res10), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "10"" of type '" "csVector3 const &""'"); 
    }
    if (!argp10) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "10"" of type '" "csVector3 const &""'"); 
    }
    arg10 = reinterpret_cast< csVector3 * >(argp10);
    ecode11 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(10), &val11);
    if (!SWIG_IsOK(ecode11)) {
      SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "iSequenceWrapper_AddOperationRotateDuration" "', argument " "11"" of type '" "csTicks""'");
    } 
    arg11 = static_cast< csTicks >(val11);
    (arg1)->AddOperationRotateDuration(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,(csVector3 const &)*arg10,arg11);
    
    
    
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationMoveDuration) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csVector3 *arg4 = 0 ;
    csTicks arg5 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    unsigned int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationMoveDuration(self,time,mesh,offset,duration);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationMoveDuration" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationMoveDuration" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationMoveDuration" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationMoveDuration" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceWrapper_AddOperationMoveDuration" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSequenceWrapper_AddOperationMoveDuration" "', argument " "5"" of type '" "csTicks""'");
    } 
    arg5 = static_cast< csTicks >(val5);
    (arg1)->AddOperationMoveDuration(arg2,arg3,(csVector3 const &)*arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationTriggerState) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    bool arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    bool val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationTriggerState(self,time,trigger,en);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationTriggerState" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationTriggerState" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationTriggerState" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    ecode4 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSequenceWrapper_AddOperationTriggerState" "', argument " "4"" of type '" "bool""'");
    } 
    arg4 = static_cast< bool >(val4);
    (arg1)->AddOperationTriggerState(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationCheckTrigger) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    csTicks arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationCheckTrigger(self,time,trigger,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationCheckTrigger" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationCheckTrigger" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationCheckTrigger" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSequenceWrapper_AddOperationCheckTrigger" "', argument " "4"" of type '" "csTicks""'");
    } 
    arg4 = static_cast< csTicks >(val4);
    (arg1)->AddOperationCheckTrigger(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceWrapper_AddOperationTestTrigger) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    csTicks arg2 ;
    iParameterESM *arg3 = (iParameterESM *) 0 ;
    iSequence *arg4 = (iSequence *) 0 ;
    iSequence *arg5 = (iSequence *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSequenceWrapper_AddOperationTestTrigger(self,time,trigger,trueSequence,falseSequence);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceWrapper_AddOperationTestTrigger" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceWrapper_AddOperationTestTrigger" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iParameterESM, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceWrapper_AddOperationTestTrigger" "', argument " "3"" of type '" "iParameterESM *""'"); 
    }
    arg3 = reinterpret_cast< iParameterESM * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSequence, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceWrapper_AddOperationTestTrigger" "', argument " "4"" of type '" "iSequence *""'"); 
    }
    arg4 = reinterpret_cast< iSequence * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iSequence, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iSequenceWrapper_AddOperationTestTrigger" "', argument " "5"" of type '" "iSequence *""'"); 
    }
    arg5 = reinterpret_cast< iSequence * >(argp5);
    (arg1)->AddOperationTestTrigger(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSequenceWrapper) {
  {
    iSequenceWrapper *arg1 = (iSequenceWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSequenceWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSequenceWrapper" "', argument " "1"" of type '" "iSequenceWrapper *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceWrapper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_QueryObject) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_QueryObject" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_AddConditionInSector__SWIG_0) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSequenceTrigger_AddConditionInSector(self,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    (arg1)->AddConditionInSector(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_AddConditionInSector__SWIG_1) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csBox3 *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSequenceTrigger_AddConditionInSector(self,sector,box);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csBox3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "3"" of type '" "csBox3 const &""'"); 
    }
    arg3 = reinterpret_cast< csBox3 * >(argp3);
    (arg1)->AddConditionInSector(arg2,(csBox3 const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_AddConditionInSector__SWIG_2) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csSphere *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSequenceTrigger_AddConditionInSector(self,sector,sphere);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csSphere,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "3"" of type '" "csSphere const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceTrigger_AddConditionInSector" "', argument " "3"" of type '" "csSphere const &""'"); 
    }
    arg3 = reinterpret_cast< csSphere * >(argp3);
    (arg1)->AddConditionInSector(arg2,(csSphere const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_AddConditionInSector) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceTrigger, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceTrigger, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csBox3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceTrigger, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csSphere, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceTrigger_AddConditionInSector__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceTrigger_AddConditionInSector__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceTrigger_AddConditionInSector__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'iSequenceTrigger_AddConditionInSector'");
  XSRETURN(0);
}


XS(_wrap_iSequenceTrigger_AddConditionSectorVisible) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSequenceTrigger_AddConditionSectorVisible(self,sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_AddConditionSectorVisible" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSequenceTrigger_AddConditionSectorVisible" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    (arg1)->AddConditionSectorVisible(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_AddConditionMeshClick) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSequenceTrigger_AddConditionMeshClick(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_AddConditionMeshClick" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSequenceTrigger_AddConditionMeshClick" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->AddConditionMeshClick(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_AddConditionLightChange) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iLight *arg2 = (iLight *) 0 ;
    int arg3 ;
    csColor *arg4 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSequenceTrigger_AddConditionLightChange(self,whichlight,oper,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_AddConditionLightChange" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iLight, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSequenceTrigger_AddConditionLightChange" "', argument " "2"" of type '" "iLight *""'"); 
    }
    arg2 = reinterpret_cast< iLight * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSequenceTrigger_AddConditionLightChange" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iSequenceTrigger_AddConditionLightChange" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSequenceTrigger_AddConditionLightChange" "', argument " "4"" of type '" "csColor const &""'"); 
    }
    arg4 = reinterpret_cast< csColor * >(argp4);
    (arg1)->AddConditionLightChange(arg2,arg3,(csColor const &)*arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_AddConditionManual) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_AddConditionManual(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_AddConditionManual" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    (arg1)->AddConditionManual();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_SetEnabled) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSequenceTrigger_SetEnabled(self,en);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_SetEnabled" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceTrigger_SetEnabled" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetEnabled(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_IsEnabled) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_IsEnabled(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_IsEnabled" "', argument " "1"" of type '" "iSequenceTrigger const *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    result = (bool)((iSequenceTrigger const *)arg1)->IsEnabled();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_ClearConditions) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_ClearConditions(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_ClearConditions" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    (arg1)->ClearConditions();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_Trigger) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_Trigger(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_Trigger" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    (arg1)->Trigger();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_SetParameters) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iEngineSequenceParameters *arg2 = (iEngineSequenceParameters *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSequenceTrigger_SetParameters(self,params);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_SetParameters" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngineSequenceParameters, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSequenceTrigger_SetParameters" "', argument " "2"" of type '" "iEngineSequenceParameters *""'"); 
    }
    arg2 = reinterpret_cast< iEngineSequenceParameters * >(argp2);
    (arg1)->SetParameters(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_GetParameters) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iEngineSequenceParameters *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_GetParameters(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_GetParameters" "', argument " "1"" of type '" "iSequenceTrigger const *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    result = (iEngineSequenceParameters *)((iSequenceTrigger const *)arg1)->GetParameters();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iEngineSequenceParameters, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_FireSequence) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    csTicks arg2 ;
    iSequenceWrapper *arg3 = (iSequenceWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSequenceTrigger_FireSequence(self,delay,seq);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_FireSequence" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceTrigger_FireSequence" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceTrigger_FireSequence" "', argument " "3"" of type '" "iSequenceWrapper *""'"); 
    }
    arg3 = reinterpret_cast< iSequenceWrapper * >(argp3);
    (arg1)->FireSequence(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_GetFiredSequence) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    iSequenceWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_GetFiredSequence(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_GetFiredSequence" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    result = (iSequenceWrapper *)(arg1)->GetFiredSequence();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSequenceWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_TestConditions) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    csTicks arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSequenceTrigger_TestConditions(self,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_TestConditions" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceTrigger_TestConditions" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    (arg1)->TestConditions(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_CheckState) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_CheckState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_CheckState" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    result = (bool)(arg1)->CheckState();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_ForceFire__SWIG_0) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSequenceTrigger_ForceFire(self,now);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_ForceFire" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceTrigger_ForceFire" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->ForceFire(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_ForceFire__SWIG_1) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSequenceTrigger_ForceFire(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTrigger_ForceFire" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    (arg1)->ForceFire();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTrigger_ForceFire) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceTrigger, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSequenceTrigger, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceTrigger_ForceFire__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSequenceTrigger_ForceFire__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSequenceTrigger_ForceFire'");
  XSRETURN(0);
}


XS(_wrap_delete_iSequenceTrigger) {
  {
    iSequenceTrigger *arg1 = (iSequenceTrigger *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSequenceTrigger(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTrigger, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSequenceTrigger" "', argument " "1"" of type '" "iSequenceTrigger *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTrigger * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSequenceTimedOperation_Do) {
  {
    iSequenceTimedOperation *arg1 = (iSequenceTimedOperation *) 0 ;
    float arg2 ;
    iBase *arg3 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSequenceTimedOperation_Do(self,time,params);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTimedOperation, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSequenceTimedOperation_Do" "', argument " "1"" of type '" "iSequenceTimedOperation *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTimedOperation * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSequenceTimedOperation_Do" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSequenceTimedOperation_Do" "', argument " "3"" of type '" "iBase *""'"); 
    }
    arg3 = reinterpret_cast< iBase * >(argp3);
    (arg1)->Do(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSequenceTimedOperation) {
  {
    iSequenceTimedOperation *arg1 = (iSequenceTimedOperation *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSequenceTimedOperation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSequenceTimedOperation, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSequenceTimedOperation" "', argument " "1"" of type '" "iSequenceTimedOperation *""'"); 
    }
    arg1 = reinterpret_cast< iSequenceTimedOperation * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_GetSequenceManager) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    iSequenceManager *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngineSequenceManager_GetSequenceManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_GetSequenceManager" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    result = (iSequenceManager *)(arg1)->GetSequenceManager();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSequenceManager, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_CreateParameterESM) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    SwigValueWrapper<csPtr<iParameterESM > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_CreateParameterESM(self,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_CreateParameterESM" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_CreateParameterESM" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    result = (arg1)->CreateParameterESM(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iParameterESM >(static_cast< const csPtr<iParameterESM >& >(result))), SWIGTYPE_p_csPtrTiParameterESM_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_CreateTrigger) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iSequenceTrigger > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_CreateTrigger(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_CreateTrigger" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_CreateTrigger" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->CreateTrigger((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iSequenceTrigger >(static_cast< const csPtr<iSequenceTrigger >& >(result))), SWIGTYPE_p_csPtrTiSequenceTrigger_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_RemoveTrigger) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    iSequenceTrigger *arg2 = (iSequenceTrigger *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_RemoveTrigger(self,trigger);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_RemoveTrigger" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSequenceTrigger, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_RemoveTrigger" "', argument " "2"" of type '" "iSequenceTrigger *""'"); 
    }
    arg2 = reinterpret_cast< iSequenceTrigger * >(argp2);
    (arg1)->RemoveTrigger(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_RemoveTriggers) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngineSequenceManager_RemoveTriggers(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_RemoveTriggers" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    (arg1)->RemoveTriggers();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_GetTriggerCount) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngineSequenceManager_GetTriggerCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_GetTriggerCount" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    result = ((iEngineSequenceManager const *)arg1)->GetTriggerCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_GetTrigger) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    size_t arg2 ;
    iSequenceTrigger *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_GetTrigger(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_GetTrigger" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceManager_GetTrigger" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSequenceTrigger *)((iEngineSequenceManager const *)arg1)->GetTrigger(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSequenceTrigger, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FindTriggerByName) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iSequenceTrigger *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_FindTriggerByName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_FindTriggerByName" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_FindTriggerByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSequenceTrigger *)((iEngineSequenceManager const *)arg1)->FindTriggerByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSequenceTrigger, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FireTriggerByName__SWIG_0) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngineSequenceManager_FireTriggerByName(self,name,now);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_FireTriggerByName" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_FireTriggerByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngineSequenceManager_FireTriggerByName" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)((iEngineSequenceManager const *)arg1)->FireTriggerByName((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FireTriggerByName__SWIG_1) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_FireTriggerByName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_FireTriggerByName" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_FireTriggerByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)((iEngineSequenceManager const *)arg1)->FireTriggerByName((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FireTriggerByName) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceManager_FireTriggerByName__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceManager_FireTriggerByName__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngineSequenceManager_FireTriggerByName'");
  XSRETURN(0);
}


XS(_wrap_iEngineSequenceManager_CreateSequence) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iSequenceWrapper > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_CreateSequence(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_CreateSequence" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_CreateSequence" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (arg1)->CreateSequence((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iSequenceWrapper >(static_cast< const csPtr<iSequenceWrapper >& >(result))), SWIGTYPE_p_csPtrTiSequenceWrapper_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_RemoveSequence) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    iSequenceWrapper *arg2 = (iSequenceWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_RemoveSequence(self,seq);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_RemoveSequence" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSequenceWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_RemoveSequence" "', argument " "2"" of type '" "iSequenceWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iSequenceWrapper * >(argp2);
    (arg1)->RemoveSequence(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_RemoveSequences) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngineSequenceManager_RemoveSequences(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_RemoveSequences" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    (arg1)->RemoveSequences();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_GetSequenceCount) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    size_t result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iEngineSequenceManager_GetSequenceCount(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_GetSequenceCount" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    result = ((iEngineSequenceManager const *)arg1)->GetSequenceCount();
    ST(argvi) = SWIG_From_size_t  SWIG_PERL_CALL_ARGS_1(static_cast< size_t >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_GetSequence) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    size_t arg2 ;
    iSequenceWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    size_t val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_GetSequence(self,idx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_GetSequence" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    ecode2 = SWIG_AsVal_size_t SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceManager_GetSequence" "', argument " "2"" of type '" "size_t""'");
    } 
    arg2 = static_cast< size_t >(val2);
    result = (iSequenceWrapper *)((iEngineSequenceManager const *)arg1)->GetSequence(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSequenceWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FindSequenceByName) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    char *arg2 = (char *) 0 ;
    iSequenceWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_FindSequenceByName(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_FindSequenceByName" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_FindSequenceByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iSequenceWrapper *)((iEngineSequenceManager const *)arg1)->FindSequenceByName((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSequenceWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_RunSequenceByName) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iEngineSequenceManager_RunSequenceByName(self,name,delay);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_RunSequenceByName" "', argument " "1"" of type '" "iEngineSequenceManager const *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iEngineSequenceManager_RunSequenceByName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngineSequenceManager_RunSequenceByName" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)((iEngineSequenceManager const *)arg1)->RunSequenceByName((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FireTimedOperation__SWIG_0) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    csTicks arg2 ;
    csTicks arg3 ;
    iSequenceTimedOperation *arg4 = (iSequenceTimedOperation *) 0 ;
    iBase *arg5 = (iBase *) 0 ;
    uint arg6 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    unsigned int val6 ;
    int ecode6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: iEngineSequenceManager_FireTimedOperation(self,delta,duration,op,params,sequence_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "3"" of type '" "csTicks""'");
    } 
    arg3 = static_cast< csTicks >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSequenceTimedOperation, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "4"" of type '" "iSequenceTimedOperation *""'"); 
    }
    arg4 = reinterpret_cast< iSequenceTimedOperation * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "5"" of type '" "iBase *""'"); 
    }
    arg5 = reinterpret_cast< iBase * >(argp5);
    ecode6 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "6"" of type '" "uint""'");
    } 
    arg6 = static_cast< uint >(val6);
    (arg1)->FireTimedOperation(arg2,arg3,arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FireTimedOperation__SWIG_1) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    csTicks arg2 ;
    csTicks arg3 ;
    iSequenceTimedOperation *arg4 = (iSequenceTimedOperation *) 0 ;
    iBase *arg5 = (iBase *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iEngineSequenceManager_FireTimedOperation(self,delta,duration,op,params);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "3"" of type '" "csTicks""'");
    } 
    arg3 = static_cast< csTicks >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSequenceTimedOperation, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "4"" of type '" "iSequenceTimedOperation *""'"); 
    }
    arg4 = reinterpret_cast< iSequenceTimedOperation * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "5"" of type '" "iBase *""'"); 
    }
    arg5 = reinterpret_cast< iBase * >(argp5);
    (arg1)->FireTimedOperation(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FireTimedOperation__SWIG_2) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    csTicks arg2 ;
    csTicks arg3 ;
    iSequenceTimedOperation *arg4 = (iSequenceTimedOperation *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iEngineSequenceManager_FireTimedOperation(self,delta,duration,op);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "3"" of type '" "csTicks""'");
    } 
    arg3 = static_cast< csTicks >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_iSequenceTimedOperation, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iEngineSequenceManager_FireTimedOperation" "', argument " "4"" of type '" "iSequenceTimedOperation *""'"); 
    }
    arg4 = reinterpret_cast< iSequenceTimedOperation * >(argp4);
    (arg1)->FireTimedOperation(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iEngineSequenceManager_FireTimedOperation) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSequenceTimedOperation, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSequenceTimedOperation, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iEngineSequenceManager, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_iSequenceTimedOperation, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceManager_FireTimedOperation__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceManager_FireTimedOperation__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iEngineSequenceManager_FireTimedOperation__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iEngineSequenceManager_FireTimedOperation'");
  XSRETURN(0);
}


XS(_wrap_iEngineSequenceManager_DestroyTimedOperations) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    uint arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iEngineSequenceManager_DestroyTimedOperations(self,sequence_id);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iEngineSequenceManager_DestroyTimedOperations" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iEngineSequenceManager_DestroyTimedOperations" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    (arg1)->DestroyTimedOperations(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iEngineSequenceManager) {
  {
    iEngineSequenceManager *arg1 = (iEngineSequenceManager *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iEngineSequenceManager(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngineSequenceManager, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iEngineSequenceManager" "', argument " "1"" of type '" "iEngineSequenceManager *""'"); 
    }
    arg1 = reinterpret_cast< iEngineSequenceManager * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovieRecorder_Start) {
  {
    iMovieRecorder *arg1 = (iMovieRecorder *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovieRecorder_Start(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovieRecorder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovieRecorder_Start" "', argument " "1"" of type '" "iMovieRecorder *""'"); 
    }
    arg1 = reinterpret_cast< iMovieRecorder * >(argp1);
    (arg1)->Start();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovieRecorder_Stop) {
  {
    iMovieRecorder *arg1 = (iMovieRecorder *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovieRecorder_Stop(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovieRecorder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovieRecorder_Stop" "', argument " "1"" of type '" "iMovieRecorder *""'"); 
    }
    arg1 = reinterpret_cast< iMovieRecorder * >(argp1);
    (arg1)->Stop();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovieRecorder_IsRecording) {
  {
    iMovieRecorder *arg1 = (iMovieRecorder *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovieRecorder_IsRecording(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovieRecorder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovieRecorder_IsRecording" "', argument " "1"" of type '" "iMovieRecorder const *""'"); 
    }
    arg1 = reinterpret_cast< iMovieRecorder * >(argp1);
    result = (bool)((iMovieRecorder const *)arg1)->IsRecording();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovieRecorder_Pause) {
  {
    iMovieRecorder *arg1 = (iMovieRecorder *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovieRecorder_Pause(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovieRecorder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovieRecorder_Pause" "', argument " "1"" of type '" "iMovieRecorder *""'"); 
    }
    arg1 = reinterpret_cast< iMovieRecorder * >(argp1);
    (arg1)->Pause();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovieRecorder_UnPause) {
  {
    iMovieRecorder *arg1 = (iMovieRecorder *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovieRecorder_UnPause(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovieRecorder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovieRecorder_UnPause" "', argument " "1"" of type '" "iMovieRecorder *""'"); 
    }
    arg1 = reinterpret_cast< iMovieRecorder * >(argp1);
    (arg1)->UnPause();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovieRecorder_IsPaused) {
  {
    iMovieRecorder *arg1 = (iMovieRecorder *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMovieRecorder_IsPaused(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovieRecorder, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMovieRecorder_IsPaused" "', argument " "1"" of type '" "iMovieRecorder const *""'"); 
    }
    arg1 = reinterpret_cast< iMovieRecorder * >(argp1);
    result = (bool)((iMovieRecorder const *)arg1)->IsPaused();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMovieRecorder) {
  {
    iMovieRecorder *arg1 = (iMovieRecorder *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMovieRecorder(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMovieRecorder, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMovieRecorder" "', argument " "1"" of type '" "iMovieRecorder *""'"); 
    }
    arg1 = reinterpret_cast< iMovieRecorder * >(argp1);
    delete_iMovieRecorder(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMovieRecorder_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMovieRecorder_scfGetVersion();");
    }
    result = (int)iMovieRecorder_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_QueryObject) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMapNode_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_QueryObject" "', argument " "1"" of type '" "iMapNode *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_SetPosition) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMapNode_SetPosition(self,pos);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_SetPosition" "', argument " "1"" of type '" "iMapNode *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMapNode_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMapNode_SetPosition" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetPosition((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_GetPosition) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMapNode_GetPosition(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_GetPosition" "', argument " "1"" of type '" "iMapNode const *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    {
      csVector3 const &_result_ref = ((iMapNode const *)arg1)->GetPosition();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_SetXVector) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMapNode_SetXVector(self,vec);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_SetXVector" "', argument " "1"" of type '" "iMapNode *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMapNode_SetXVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMapNode_SetXVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetXVector((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_GetXVector) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMapNode_GetXVector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_GetXVector" "', argument " "1"" of type '" "iMapNode const *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    {
      csVector3 const &_result_ref = ((iMapNode const *)arg1)->GetXVector();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_SetYVector) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMapNode_SetYVector(self,vec);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_SetYVector" "', argument " "1"" of type '" "iMapNode *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMapNode_SetYVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMapNode_SetYVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetYVector((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_GetYVector) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMapNode_GetYVector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_GetYVector" "', argument " "1"" of type '" "iMapNode const *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    {
      csVector3 const &_result_ref = ((iMapNode const *)arg1)->GetYVector();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_SetZVector) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMapNode_SetZVector(self,vec);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_SetZVector" "', argument " "1"" of type '" "iMapNode *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMapNode_SetZVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iMapNode_SetZVector" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetZVector((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_GetZVector) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMapNode_GetZVector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_GetZVector" "', argument " "1"" of type '" "iMapNode const *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    {
      csVector3 const &_result_ref = ((iMapNode const *)arg1)->GetZVector();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_SetSector) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iMapNode_SetSector(self,pSector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_SetSector" "', argument " "1"" of type '" "iMapNode *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iMapNode_SetSector" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    (arg1)->SetSector(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_GetSector) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iMapNode_GetSector(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iMapNode_GetSector" "', argument " "1"" of type '" "iMapNode const *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    result = (iSector *)((iMapNode const *)arg1)->GetSector();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iMapNode) {
  {
    iMapNode *arg1 = (iMapNode *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iMapNode(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iMapNode, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iMapNode" "', argument " "1"" of type '" "iMapNode *""'"); 
    }
    arg1 = reinterpret_cast< iMapNode * >(argp1);
    delete_iMapNode(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iMapNode_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iMapNode_scfGetVersion();");
    }
    result = (int)iMapNode_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_IsType) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iScriptObject_IsType(self,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_IsType" "', argument " "1"" of type '" "iScriptObject const *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_IsType" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)((iScriptObject const *)arg1)->IsType((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_GetPointer) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    iBase *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iScriptObject_GetPointer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_GetPointer" "', argument " "1"" of type '" "iScriptObject const *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    result = (iBase *)((iScriptObject const *)arg1)->GetPointer();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iBase, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_SetPointer) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    iBase *arg2 = (iBase *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iScriptObject_SetPointer(self,iBase *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_SetPointer" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_SetPointer" "', argument " "2"" of type '" "iBase *""'"); 
    }
    arg2 = reinterpret_cast< iBase * >(argp2);
    result = (bool)(arg1)->SetPointer(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Call__SWIG_0) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 3) {
      SWIG_croak("Usage: iScriptObject_Call(self,name,format,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_Call" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_Call" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      arg3 = "%s";
      arg4 = SvPV_nolen (ST(2));
    }
    result = (bool)(arg1)->Call((char const *)arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_IntCall) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    int *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScriptObject_IntCall(self,name,ret,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_IntCall" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_IntCall" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_IntCall" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_IntCall" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_FloatCall) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    float *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScriptObject_FloatCall(self,name,ret,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_FloatCall" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_FloatCall" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_FloatCall" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_FloatCall" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_DoubleCall) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    double *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScriptObject_DoubleCall(self,name,ret,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_DoubleCall" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_DoubleCall" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_double,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_DoubleCall" "', argument " "3"" of type '" "double &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_DoubleCall" "', argument " "3"" of type '" "double &""'"); 
    }
    arg3 = reinterpret_cast< double * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Call__SWIG_1) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iString > *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScriptObject_Call(self,name,csRef<iString > &,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_Call" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_Call" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiString_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_Call" "', argument " "3"" of type '" "csRef<iString > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_Call" "', argument " "3"" of type '" "csRef<iString > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iString > * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Call) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items >= 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScriptObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items >= 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScriptObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiString_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScriptObject_Call__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScriptObject_Call__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iScriptObject_Call'");
  XSRETURN(0);
}


XS(_wrap_iScriptObject_ObjectCall) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iScriptObject > *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScriptObject_ObjectCall(self,name,csRef<iScriptObject > &,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_ObjectCall" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_ObjectCall" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiScriptObject_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_ObjectCall" "', argument " "3"" of type '" "csRef<iScriptObject > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_ObjectCall" "', argument " "3"" of type '" "csRef<iScriptObject > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iScriptObject > * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_SetInt) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_SetInt(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_SetInt" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_SetInt" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iScriptObject_SetInt" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)(arg1)->Set((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_SetFloat) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_SetFloat(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_SetFloat" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_SetFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iScriptObject_SetFloat" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->Set((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_SetDouble) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    double arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    double val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_SetDouble(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_SetDouble" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_SetDouble" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iScriptObject_SetDouble" "', argument " "3"" of type '" "double""'");
    } 
    arg3 = static_cast< double >(val3);
    result = (bool)(arg1)->Set((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_SetString) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_SetString(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_SetString" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_SetString" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_SetString" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->Set((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Set) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    iScriptObject *arg3 = (iScriptObject *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_Set(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_Set" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_Set" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_Set" "', argument " "3"" of type '" "iScriptObject *""'"); 
    }
    arg3 = reinterpret_cast< iScriptObject * >(argp3);
    result = (bool)(arg1)->Set((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_SetTruth) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_SetTruth(self,name,isTrue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_SetTruth" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_SetTruth" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iScriptObject_SetTruth" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->SetTruth((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Get__SWIG_0) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    int *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_Get(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_Get" "', argument " "1"" of type '" "iScriptObject const *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_Get" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    result = (bool)((iScriptObject const *)arg1)->Get((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Get__SWIG_1) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    float *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_Get(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_Get" "', argument " "1"" of type '" "iScriptObject const *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_Get" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    result = (bool)((iScriptObject const *)arg1)->Get((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Get__SWIG_2) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    double *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_Get(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_Get" "', argument " "1"" of type '" "iScriptObject const *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_Get" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_double,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "double &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "double &""'"); 
    }
    arg3 = reinterpret_cast< double * >(argp3);
    result = (bool)((iScriptObject const *)arg1)->Get((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Get__SWIG_3) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iString > *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_Get(self,name,csRef<iString > &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_Get" "', argument " "1"" of type '" "iScriptObject const *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_Get" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiString_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "csRef<iString > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "csRef<iString > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iString > * >(argp3);
    result = (bool)((iScriptObject const *)arg1)->Get((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Get__SWIG_4) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iScriptObject > *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_Get(self,name,csRef<iScriptObject > &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_Get" "', argument " "1"" of type '" "iScriptObject const *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_Get" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiScriptObject_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "csRef<iScriptObject > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_Get" "', argument " "3"" of type '" "csRef<iScriptObject > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iScriptObject > * >(argp3);
    result = (bool)((iScriptObject const *)arg1)->Get((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_Get) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScriptObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScriptObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScriptObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_double, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScriptObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiString_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScriptObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiScriptObject_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScriptObject_Get__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScriptObject_Get__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScriptObject_Get__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScriptObject_Get__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScriptObject_Get__SWIG_4); return;
    }
  }
  
  croak("No matching function for overloaded 'iScriptObject_Get'");
  XSRETURN(0);
}


XS(_wrap_iScriptObject_GetTruth) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    char *arg2 = (char *) 0 ;
    bool *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScriptObject_GetTruth(self,name,isTrue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScriptObject_GetTruth" "', argument " "1"" of type '" "iScriptObject const *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScriptObject_GetTruth" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScriptObject_GetTruth" "', argument " "3"" of type '" "bool &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScriptObject_GetTruth" "', argument " "3"" of type '" "bool &""'"); 
    }
    arg3 = reinterpret_cast< bool * >(argp3);
    result = (bool)((iScriptObject const *)arg1)->GetTruth((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iScriptObject) {
  {
    iScriptObject *arg1 = (iScriptObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iScriptObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScriptObject, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iScriptObject" "', argument " "1"" of type '" "iScriptObject *""'"); 
    }
    arg1 = reinterpret_cast< iScriptObject * >(argp1);
    delete_iScriptObject(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScriptObject_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iScriptObject_scfGetVersion();");
    }
    result = (int)iScriptObject_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Initialize) {
  {
    iScript *arg1 = (iScript *) 0 ;
    iObjectRegistry *arg2 = (iObjectRegistry *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iScript_Initialize(self,object_reg);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Initialize" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Initialize" "', argument " "2"" of type '" "iObjectRegistry *""'"); 
    }
    arg2 = reinterpret_cast< iObjectRegistry * >(argp2);
    result = (bool)(arg1)->Initialize(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Store__SWIG_0) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    void *arg3 = (void *) 0 ;
    void *arg4 = (void *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    int res4 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iScript_Store(self,name,data,tag);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Store" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Store" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2),SWIG_as_voidptrptr(&arg3), 0, 0);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_Store" "', argument " "3"" of type '" "void *""'"); 
    }
    res4 = SWIG_ConvertPtr(ST(3),SWIG_as_voidptrptr(&arg4), 0, 0);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "iScript_Store" "', argument " "4"" of type '" "void *""'"); 
    }
    result = (bool)(arg1)->Store((char const *)arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_RunText) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iScript_RunText(self,text);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_RunText" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_RunText" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->RunText((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_LoadModule__SWIG_0) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iScript_LoadModule(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_LoadModule" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_LoadModule" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->LoadModule((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_LoadModule__SWIG_1) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_LoadModule(self,path,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_LoadModule" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_LoadModule" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_LoadModule" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->LoadModule((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_LoadModule) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_LoadModule__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_LoadModule__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iScript_LoadModule'");
  XSRETURN(0);
}


XS(_wrap_iScript_Call__SWIG_0) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *arg4 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 3) {
      SWIG_croak("Usage: iScript_Call(self,name,format,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Call" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Call" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      arg3 = "%s";
      arg4 = SvPV_nolen (ST(2));
    }
    result = (bool)(arg1)->Call((char const *)arg2,(char const *)arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_IntCall) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    int *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScript_IntCall(self,name,ret,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_IntCall" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_IntCall" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_IntCall" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_IntCall" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_FloatCall) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    float *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScript_FloatCall(self,name,ret,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_FloatCall" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_FloatCall" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_FloatCall" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_FloatCall" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_DoubleCall) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    double *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScript_DoubleCall(self,name,ret,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_DoubleCall" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_DoubleCall" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_double,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_DoubleCall" "', argument " "3"" of type '" "double &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_DoubleCall" "', argument " "3"" of type '" "double &""'"); 
    }
    arg3 = reinterpret_cast< double * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Call__SWIG_1) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iString > *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScript_Call(self,name,csRef<iString > &,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Call" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Call" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiString_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_Call" "', argument " "3"" of type '" "csRef<iString > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_Call" "', argument " "3"" of type '" "csRef<iString > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iString > * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Call) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items >= 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(2), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items >= 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiString_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Call__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Call__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iScript_Call'");
  XSRETURN(0);
}


XS(_wrap_iScript_ObjectCall) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iScriptObject > *arg3 = 0 ;
    char *arg4 = (char *) 0 ;
    void *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 4) {
      SWIG_croak("Usage: iScript_ObjectCall(self,name,ret,fmt,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_ObjectCall" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_ObjectCall" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiScriptObject_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_ObjectCall" "', argument " "3"" of type '" "csRef<iScriptObject > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_ObjectCall" "', argument " "3"" of type '" "csRef<iScriptObject > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iScriptObject > * >(argp3);
    {
      arg4 = "%s";
      arg5 = SvPV_nolen (ST(3));
    }
    result = (bool)(arg1)->Call((char const *)arg2,*arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_NewObject) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    void *arg4 = 0 ;
    SwigValueWrapper<csRef<iScriptObject > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if (items < 3) {
      SWIG_croak("Usage: iScript_NewObject(self,type,ctorFormat,...);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_NewObject" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_NewObject" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_NewObject" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (arg1)->NewObject((char const *)arg2,(char const *)arg3,arg4);
    {
      csRef<iScriptObject> rf ((csRef<iScriptObject>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iScriptObject*)rf, SWIG_TypeQuery("cspace::""iScriptObject"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_StoreInt) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_StoreInt(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_StoreInt" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_StoreInt" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iScript_StoreInt" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (bool)(arg1)->Store((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_StoreFloat) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    float arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_StoreFloat(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_StoreFloat" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_StoreFloat" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iScript_StoreFloat" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    result = (bool)(arg1)->Store((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_StoreDouble) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    double arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    double val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_StoreDouble(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_StoreDouble" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_StoreDouble" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_double SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iScript_StoreDouble" "', argument " "3"" of type '" "double""'");
    } 
    arg3 = static_cast< double >(val3);
    result = (bool)(arg1)->Store((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_StoreString) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int res3 ;
    char *buf3 = 0 ;
    int alloc3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_StoreString(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_StoreString" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_StoreString" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_AsCharPtrAndSize(ST(2), &buf3, NULL, &alloc3);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_StoreString" "', argument " "3"" of type '" "char const *""'");
    }
    arg3 = buf3;
    result = (bool)(arg1)->Store((char const *)arg2,(char const *)arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Store__SWIG_1) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    iScriptObject *arg3 = (iScriptObject *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_Store(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Store" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Store" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iScriptObject, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_Store" "', argument " "3"" of type '" "iScriptObject *""'"); 
    }
    arg3 = reinterpret_cast< iScriptObject * >(argp3);
    result = (bool)(arg1)->Store((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Store) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iScriptObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &ptr, 0, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *ptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &ptr, 0, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Store__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Store__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iScript_Store'");
  XSRETURN(0);
}


XS(_wrap_iScript_SetTruth) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    bool arg3 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_SetTruth(self,name,isTrue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_SetTruth" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_SetTruth" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iScript_SetTruth" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    result = (bool)(arg1)->SetTruth((char const *)arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Retrieve__SWIG_0) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    int *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_Retrieve(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Retrieve" "', argument " "1"" of type '" "iScript const *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "int &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "int &""'"); 
    }
    arg3 = reinterpret_cast< int * >(argp3);
    result = (bool)((iScript const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Retrieve__SWIG_1) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    float *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_Retrieve(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Retrieve" "', argument " "1"" of type '" "iScript const *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "float &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "float &""'"); 
    }
    arg3 = reinterpret_cast< float * >(argp3);
    result = (bool)((iScript const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Retrieve__SWIG_2) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    double *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_Retrieve(self,name,data);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Retrieve" "', argument " "1"" of type '" "iScript const *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_double,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "double &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "double &""'"); 
    }
    arg3 = reinterpret_cast< double * >(argp3);
    result = (bool)((iScript const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Retrieve__SWIG_3) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iString > *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_Retrieve(self,name,csRef<iString > &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Retrieve" "', argument " "1"" of type '" "iScript const *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiString_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "csRef<iString > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "csRef<iString > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iString > * >(argp3);
    result = (bool)((iScript const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Retrieve__SWIG_4) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    csRef<iScriptObject > *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_Retrieve(self,name,csRef<iScriptObject > &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Retrieve" "', argument " "1"" of type '" "iScript const *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Retrieve" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csRefTiScriptObject_t,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "csRef<iScriptObject > &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_Retrieve" "', argument " "3"" of type '" "csRef<iScriptObject > &""'"); 
    }
    arg3 = reinterpret_cast< csRef<iScriptObject > * >(argp3);
    result = (bool)((iScript const *)arg1)->Retrieve((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Retrieve) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_int, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_double, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiString_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iScript, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csRefTiScriptObject_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Retrieve__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Retrieve__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Retrieve__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Retrieve__SWIG_3); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iScript_Retrieve__SWIG_4); return;
    }
  }
  
  croak("No matching function for overloaded 'iScript_Retrieve'");
  XSRETURN(0);
}


XS(_wrap_iScript_GetTruth) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    bool *arg3 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iScript_GetTruth(self,name,isTrue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_GetTruth" "', argument " "1"" of type '" "iScript const *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_GetTruth" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_bool,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iScript_GetTruth" "', argument " "3"" of type '" "bool &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iScript_GetTruth" "', argument " "3"" of type '" "bool &""'"); 
    }
    arg3 = reinterpret_cast< bool * >(argp3);
    result = (bool)((iScript const *)arg1)->GetTruth((char const *)arg2,*arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_Remove) {
  {
    iScript *arg1 = (iScript *) 0 ;
    char *arg2 = (char *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iScript_Remove(self,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iScript_Remove" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iScript_Remove" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (bool)(arg1)->Remove((char const *)arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iScript) {
  {
    iScript *arg1 = (iScript *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iScript(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iScript, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iScript" "', argument " "1"" of type '" "iScript *""'"); 
    }
    arg1 = reinterpret_cast< iScript * >(argp1);
    delete_iScript(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iScript_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iScript_scfGetVersion();");
    }
    result = (int)iScript_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetHeightmap__SWIG_0) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    iImage *arg2 = (iImage *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSimpleFormerState_SetHeightmap(self,heightmap);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetHeightmap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSimpleFormerState_SetHeightmap" "', argument " "2"" of type '" "iImage *""'"); 
    }
    arg2 = reinterpret_cast< iImage * >(argp2);
    (arg1)->SetHeightmap(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetHeightmap__SWIG_1) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    float *arg2 = (float *) 0 ;
    unsigned int arg3 ;
    unsigned int arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSimpleFormerState_SetHeightmap(self,data,width,height);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetHeightmap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_float, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSimpleFormerState_SetHeightmap" "', argument " "2"" of type '" "float *""'"); 
    }
    arg2 = reinterpret_cast< float * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iSimpleFormerState_SetHeightmap" "', argument " "3"" of type '" "unsigned int""'");
    } 
    arg3 = static_cast< unsigned int >(val3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSimpleFormerState_SetHeightmap" "', argument " "4"" of type '" "unsigned int""'");
    } 
    arg4 = static_cast< unsigned int >(val4);
    (arg1)->SetHeightmap(arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetHeightmap) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSimpleFormerState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSimpleFormerState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_float, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSimpleFormerState_SetHeightmap__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSimpleFormerState_SetHeightmap__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'iSimpleFormerState_SetHeightmap'");
  XSRETURN(0);
}


XS(_wrap_iSimpleFormerState_SetScale) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csVector3 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSimpleFormerState_SetScale(self,scale);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetScale" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSimpleFormerState_SetScale" "', argument " "2"" of type '" "csVector3""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSimpleFormerState_SetScale" "', argument " "2"" of type '" "csVector3""'");
      } else {
        arg2 = *(reinterpret_cast< csVector3 * >(argp2));
      }
    }
    (arg1)->SetScale(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetOffset) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csVector3 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSimpleFormerState_SetOffset(self,scale);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetOffset" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSimpleFormerState_SetOffset" "', argument " "2"" of type '" "csVector3""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSimpleFormerState_SetOffset" "', argument " "2"" of type '" "csVector3""'");
      } else {
        arg2 = *(reinterpret_cast< csVector3 * >(argp2));
      }
    }
    (arg1)->SetOffset(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetIntegerMap__SWIG_0) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csStringID arg2 ;
    iImage *arg3 = (iImage *) 0 ;
    int arg4 ;
    int arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSimpleFormerState_SetIntegerMap(self,type,map,scale,offset);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "3"" of type '" "iImage *""'"); 
    }
    arg3 = reinterpret_cast< iImage * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (bool)(arg1)->SetIntegerMap(arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetIntegerMap__SWIG_1) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csStringID arg2 ;
    iImage *arg3 = (iImage *) 0 ;
    int arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSimpleFormerState_SetIntegerMap(self,type,map,scale);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "3"" of type '" "iImage *""'"); 
    }
    arg3 = reinterpret_cast< iImage * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    result = (bool)(arg1)->SetIntegerMap(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetIntegerMap__SWIG_2) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csStringID arg2 ;
    iImage *arg3 = (iImage *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSimpleFormerState_SetIntegerMap(self,type,map);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSimpleFormerState_SetIntegerMap" "', argument " "3"" of type '" "iImage *""'"); 
    }
    arg3 = reinterpret_cast< iImage * >(argp3);
    result = (bool)(arg1)->SetIntegerMap(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetIntegerMap) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSimpleFormerState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSimpleFormerState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSimpleFormerState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSimpleFormerState_SetIntegerMap__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSimpleFormerState_SetIntegerMap__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSimpleFormerState_SetIntegerMap__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSimpleFormerState_SetIntegerMap'");
  XSRETURN(0);
}


XS(_wrap_iSimpleFormerState_SetFloatMap__SWIG_0) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csStringID arg2 ;
    iImage *arg3 = (iImage *) 0 ;
    float arg4 ;
    float arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iSimpleFormerState_SetFloatMap(self,type,map,scale,offset);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "3"" of type '" "iImage *""'"); 
    }
    arg3 = reinterpret_cast< iImage * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (bool)(arg1)->SetFloatMap(arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetFloatMap__SWIG_1) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csStringID arg2 ;
    iImage *arg3 = (iImage *) 0 ;
    float arg4 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iSimpleFormerState_SetFloatMap(self,type,map,scale);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "3"" of type '" "iImage *""'"); 
    }
    arg3 = reinterpret_cast< iImage * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    result = (bool)(arg1)->SetFloatMap(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetFloatMap__SWIG_2) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csStringID arg2 ;
    iImage *arg3 = (iImage *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iSimpleFormerState_SetFloatMap(self,type,map);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iImage, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iSimpleFormerState_SetFloatMap" "', argument " "3"" of type '" "iImage *""'"); 
    }
    arg3 = reinterpret_cast< iImage * >(argp3);
    result = (bool)(arg1)->SetFloatMap(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetFloatMap) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSimpleFormerState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSimpleFormerState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iSimpleFormerState, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iImage, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSimpleFormerState_SetFloatMap__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSimpleFormerState_SetFloatMap__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iSimpleFormerState_SetFloatMap__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iSimpleFormerState_SetFloatMap'");
  XSRETURN(0);
}


XS(_wrap_iSimpleFormerState_GetFloatMap) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iSimpleFormerState_GetFloatMap(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_GetFloatMap" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    result = (float *)(arg1)->GetFloatMap();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_SetMaterialScale) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    csVector2 arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iSimpleFormerState_SetMaterialScale(self,scale);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iSimpleFormerState_SetMaterialScale" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector2,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iSimpleFormerState_SetMaterialScale" "', argument " "2"" of type '" "csVector2""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iSimpleFormerState_SetMaterialScale" "', argument " "2"" of type '" "csVector2""'");
      } else {
        arg2 = *(reinterpret_cast< csVector2 * >(argp2));
      }
    }
    (arg1)->SetMaterialScale(arg2);
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iSimpleFormerState) {
  {
    iSimpleFormerState *arg1 = (iSimpleFormerState *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iSimpleFormerState(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iSimpleFormerState, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iSimpleFormerState" "', argument " "1"" of type '" "iSimpleFormerState *""'"); 
    }
    arg1 = reinterpret_cast< iSimpleFormerState * >(argp1);
    delete_iSimpleFormerState(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iSimpleFormerState_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iSimpleFormerState_scfGetVersion();");
    }
    result = (int)iSimpleFormerState_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_GetSampler__SWIG_0) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    csBox2 arg2 ;
    unsigned int arg3 ;
    unsigned int arg4 ;
    SwigValueWrapper<csPtr<iTerraSampler > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: iTerraFormer_GetSampler(self,region,resx,resy);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraFormer_GetSampler" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerraFormer_GetSampler" "', argument " "2"" of type '" "csBox2""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerraFormer_GetSampler" "', argument " "2"" of type '" "csBox2""'");
      } else {
        arg2 = *(reinterpret_cast< csBox2 * >(argp2));
      }
    }
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerraFormer_GetSampler" "', argument " "3"" of type '" "unsigned int""'");
    } 
    arg3 = static_cast< unsigned int >(val3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerraFormer_GetSampler" "', argument " "4"" of type '" "unsigned int""'");
    } 
    arg4 = static_cast< unsigned int >(val4);
    result = (arg1)->GetSampler(arg2,arg3,arg4);
    {
      csRef<iTerraSampler> rf ((csPtr<iTerraSampler>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTerraSampler*)rf, SWIG_TypeQuery("cspace::""iTerraSampler"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_GetSampler__SWIG_1) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    csBox2 arg2 ;
    unsigned int arg3 ;
    SwigValueWrapper<csPtr<iTerraSampler > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iTerraFormer_GetSampler(self,region,resx);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraFormer_GetSampler" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    {
      res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csBox2,  0 );
      if (!SWIG_IsOK(res2)) {
        SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerraFormer_GetSampler" "', argument " "2"" of type '" "csBox2""'"); 
      }  
      if (!argp2) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerraFormer_GetSampler" "', argument " "2"" of type '" "csBox2""'");
      } else {
        arg2 = *(reinterpret_cast< csBox2 * >(argp2));
      }
    }
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerraFormer_GetSampler" "', argument " "3"" of type '" "unsigned int""'");
    } 
    arg3 = static_cast< unsigned int >(val3);
    result = (arg1)->GetSampler(arg2,arg3);
    {
      csRef<iTerraSampler> rf ((csPtr<iTerraSampler>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iTerraSampler*)rf, SWIG_TypeQuery("cspace::""iTerraSampler"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_GetSampler) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTerraFormer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTerraFormer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csBox2, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTerraFormer_GetSampler__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_iTerraFormer_GetSampler__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'iTerraFormer_GetSampler'");
  XSRETURN(0);
}


XS(_wrap_iTerraFormer_GetIntegerMapSize) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    csStringID arg2 ;
    csVector2 result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerraFormer_GetIntegerMapSize(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraFormer_GetIntegerMapSize" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraFormer_GetIntegerMapSize" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (arg1)->GetIntegerMapSize(arg2);
    ST(argvi) = SWIG_NewPointerObj((new csVector2(static_cast< const csVector2& >(result))), SWIGTYPE_p_csVector2, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_SampleFloat) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    csStringID arg2 ;
    float arg3 ;
    float arg4 ;
    float *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iTerraFormer_SampleFloat(self,type,x,z,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraFormer_SampleFloat" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraFormer_SampleFloat" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerraFormer_SampleFloat" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerraFormer_SampleFloat" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_float,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iTerraFormer_SampleFloat" "', argument " "5"" of type '" "float &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerraFormer_SampleFloat" "', argument " "5"" of type '" "float &""'"); 
    }
    arg5 = reinterpret_cast< float * >(argp5);
    result = (bool)(arg1)->SampleFloat(arg2,arg3,arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_SampleVector2) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    csStringID arg2 ;
    float arg3 ;
    float arg4 ;
    csVector2 *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iTerraFormer_SampleVector2(self,type,x,z,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraFormer_SampleVector2" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraFormer_SampleVector2" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerraFormer_SampleVector2" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerraFormer_SampleVector2" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector2,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iTerraFormer_SampleVector2" "', argument " "5"" of type '" "csVector2 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerraFormer_SampleVector2" "', argument " "5"" of type '" "csVector2 &""'"); 
    }
    arg5 = reinterpret_cast< csVector2 * >(argp5);
    result = (bool)(arg1)->SampleVector2(arg2,arg3,arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_SampleVector3) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    csStringID arg2 ;
    float arg3 ;
    float arg4 ;
    csVector3 *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iTerraFormer_SampleVector3(self,type,x,z,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraFormer_SampleVector3" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraFormer_SampleVector3" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerraFormer_SampleVector3" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerraFormer_SampleVector3" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iTerraFormer_SampleVector3" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerraFormer_SampleVector3" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (bool)(arg1)->SampleVector3(arg2,arg3,arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_SampleInteger) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    csStringID arg2 ;
    float arg3 ;
    float arg4 ;
    int *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: iTerraFormer_SampleInteger(self,type,x,z,value);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraFormer_SampleInteger" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraFormer_SampleInteger" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "iTerraFormer_SampleInteger" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "iTerraFormer_SampleInteger" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_int,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "iTerraFormer_SampleInteger" "', argument " "5"" of type '" "int &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerraFormer_SampleInteger" "', argument " "5"" of type '" "int &""'"); 
    }
    arg5 = reinterpret_cast< int * >(argp5);
    result = (bool)(arg1)->SampleInteger(arg2,arg3,arg4,*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_QueryObject) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerraFormer_QueryObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraFormer_QueryObject" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    result = (iObject *)(arg1)->QueryObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTerraFormer) {
  {
    iTerraFormer *arg1 = (iTerraFormer *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTerraFormer(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraFormer, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTerraFormer" "', argument " "1"" of type '" "iTerraFormer *""'"); 
    }
    arg1 = reinterpret_cast< iTerraFormer * >(argp1);
    delete_iTerraFormer(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraFormer_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iTerraFormer_scfGetVersion();");
    }
    result = (int)iTerraFormer_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_SampleFloat) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    csStringID arg2 ;
    float *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerraSampler_SampleFloat(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_SampleFloat" "', argument " "1"" of type '" "iTerraSampler *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraSampler_SampleFloat" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (float *)(arg1)->SampleFloat(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_float, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_SampleVector2) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    csStringID arg2 ;
    csVector2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerraSampler_SampleVector2(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_SampleVector2" "', argument " "1"" of type '" "iTerraSampler *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraSampler_SampleVector2" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (csVector2 *)(arg1)->SampleVector2(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector2, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_SampleVector3) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    csStringID arg2 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerraSampler_SampleVector3(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_SampleVector3" "', argument " "1"" of type '" "iTerraSampler *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraSampler_SampleVector3" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (csVector3 *)(arg1)->SampleVector3(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_SampleInteger) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    csStringID arg2 ;
    int *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned long val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: iTerraSampler_SampleInteger(self,type);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_SampleInteger" "', argument " "1"" of type '" "iTerraSampler *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "iTerraSampler_SampleInteger" "', argument " "2"" of type '" "csStringID""'");
    } 
    arg2 = static_cast< csStringID >(val2);
    result = (int *)(arg1)->SampleInteger(arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_int, 0 | 0); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_GetMaterialPalette) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    csArray<iMaterialWrapper * > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerraSampler_GetMaterialPalette(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_GetMaterialPalette" "', argument " "1"" of type '" "iTerraSampler *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    {
      csArray<iMaterialWrapper * > const &_result_ref = (arg1)->GetMaterialPalette();
      result = (csArray<iMaterialWrapper * > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_GetRegion) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    csBox2 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerraSampler_GetRegion(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_GetRegion" "', argument " "1"" of type '" "iTerraSampler const *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    {
      csBox2 const &_result_ref = ((iTerraSampler const *)arg1)->GetRegion();
      result = (csBox2 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csBox2, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_GetResolution) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    uint *arg2 = 0 ;
    uint *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: iTerraSampler_GetResolution(self,resx,resz);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_GetResolution" "', argument " "1"" of type '" "iTerraSampler const *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_unsigned_int,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "iTerraSampler_GetResolution" "', argument " "2"" of type '" "uint &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerraSampler_GetResolution" "', argument " "2"" of type '" "uint &""'"); 
    }
    arg2 = reinterpret_cast< uint * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_unsigned_int,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "iTerraSampler_GetResolution" "', argument " "3"" of type '" "uint &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "iTerraSampler_GetResolution" "', argument " "3"" of type '" "uint &""'"); 
    }
    arg3 = reinterpret_cast< uint * >(argp3);
    ((iTerraSampler const *)arg1)->GetResolution(*arg2,*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_GetVersion) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    unsigned int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerraSampler_GetVersion(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_GetVersion" "', argument " "1"" of type '" "iTerraSampler const *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    result = (unsigned int)((iTerraSampler const *)arg1)->GetVersion();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_Cleanup) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: iTerraSampler_Cleanup(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "iTerraSampler_Cleanup" "', argument " "1"" of type '" "iTerraSampler *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    (arg1)->Cleanup();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_iTerraSampler) {
  {
    iTerraSampler *arg1 = (iTerraSampler *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_iTerraSampler(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTerraSampler, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_iTerraSampler" "', argument " "1"" of type '" "iTerraSampler *""'"); 
    }
    arg1 = reinterpret_cast< iTerraSampler * >(argp1);
    delete_iTerraSampler(arg1);
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_iTerraSampler_scfGetVersion) {
  {
    int result;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: iTerraSampler_scfGetVersion();");
    }
    result = (int)iTerraSampler_scfGetVersion();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csObject__SWIG_0) {
  {
    iBase *arg1 = (iBase *) 0 ;
    csObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csObject(pParent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csObject" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    result = (csObject *)new csObject(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csObject, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csObject__SWIG_1) {
  {
    csObject *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csObject();");
    }
    result = (csObject *)new csObject();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csObject, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_new_csObject__SWIG_2) {
  {
    csObject *arg1 = 0 ;
    csObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csObject(o);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csObject,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csObject" "', argument " "1"" of type '" "csObject &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csObject" "', argument " "1"" of type '" "csObject &""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    result = (csObject *)new csObject(*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csObject, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csObject) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 0) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iBase, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csObject__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csObject__SWIG_0); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csObject__SWIG_2); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csObject'");
  XSRETURN(0);
}


XS(_wrap_delete_csObject) {
  {
    csObject *arg1 = (csObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csObject(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csObject" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_SetName) {
  {
    csObject *arg1 = (csObject *) 0 ;
    char *arg2 = (char *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_SetName(self,iName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_SetName" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_SetName" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    (arg1)->SetName((char const *)arg2);
    
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_GetName) {
  {
    csObject *arg1 = (csObject *) 0 ;
    char *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csObject_GetName(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_GetName" "', argument " "1"" of type '" "csObject const *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    result = (char *)((csObject const *)arg1)->GetName();
    ST(argvi) = SWIG_FromCharPtr(result); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_GetID) {
  {
    csObject *arg1 = (csObject *) 0 ;
    uint result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csObject_GetID(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_GetID" "', argument " "1"" of type '" "csObject const *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    result = (uint)((csObject const *)arg1)->GetID();
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_SetObjectParent) {
  {
    csObject *arg1 = (csObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_SetObjectParent(self,iObject *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_SetObjectParent" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_SetObjectParent" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->SetObjectParent(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_GetObjectParent) {
  {
    csObject *arg1 = (csObject *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csObject_GetObjectParent(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_GetObjectParent" "', argument " "1"" of type '" "csObject const *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    result = (iObject *)((csObject const *)arg1)->GetObjectParent();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_ObjAdd) {
  {
    csObject *arg1 = (csObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_ObjAdd(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_ObjAdd" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_ObjAdd" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->ObjAdd(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_ObjRemove) {
  {
    csObject *arg1 = (csObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_ObjRemove(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_ObjRemove" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_ObjRemove" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->ObjRemove(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_ObjRemoveAll) {
  {
    csObject *arg1 = (csObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csObject_ObjRemoveAll(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_ObjRemoveAll" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    (arg1)->ObjRemoveAll();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_ObjAddChildren) {
  {
    csObject *arg1 = (csObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_ObjAddChildren(self,Parent);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_ObjAddChildren" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_ObjAddChildren" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->ObjAddChildren(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_GetChild__SWIG_0) {
  {
    csObject *arg1 = (csObject *) 0 ;
    int arg2 ;
    int arg3 ;
    char *arg4 = (char *) 0 ;
    bool arg5 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csObject_GetChild(self,iInterfaceID,iVersion,Name,FirstName);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_GetChild" "', argument " "1"" of type '" "csObject const *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csObject_GetChild" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csObject_GetChild" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csObject_GetChild" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csObject_GetChild" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = (iObject *)((csObject const *)arg1)->GetChild(arg2,arg3,(char const *)arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_GetChild__SWIG_1) {
  {
    csObject *arg1 = (csObject *) 0 ;
    int arg2 ;
    int arg3 ;
    char *arg4 = (char *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csObject_GetChild(self,iInterfaceID,iVersion,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_GetChild" "', argument " "1"" of type '" "csObject const *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csObject_GetChild" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csObject_GetChild" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    res4 = SWIG_AsCharPtrAndSize(ST(3), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csObject_GetChild" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = (iObject *)((csObject const *)arg1)->GetChild(arg2,arg3,(char const *)arg4);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_GetChild__SWIG_2) {
  {
    csObject *arg1 = (csObject *) 0 ;
    int arg2 ;
    int arg3 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csObject_GetChild(self,iInterfaceID,iVersion);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_GetChild" "', argument " "1"" of type '" "csObject const *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csObject_GetChild" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csObject_GetChild" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    result = (iObject *)((csObject const *)arg1)->GetChild(arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_GetChild__SWIG_3) {
  {
    csObject *arg1 = (csObject *) 0 ;
    char *arg2 = (char *) 0 ;
    iObject *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_GetChild(self,Name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_GetChild" "', argument " "1"" of type '" "csObject const *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_GetChild" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = (iObject *)((csObject const *)arg1)->GetChild((char const *)arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iObject, 0 | SWIG_SHADOW); argvi++ ;
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_GetChild) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(1), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        int res = SWIG_AsCharPtrAndSize(ST(3), 0, NULL, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csObject_GetChild__SWIG_3); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csObject_GetChild__SWIG_2); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csObject_GetChild__SWIG_1); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csObject_GetChild__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csObject_GetChild'");
  XSRETURN(0);
}


XS(_wrap_csObject_GetIterator) {
  {
    csObject *arg1 = (csObject *) 0 ;
    SwigValueWrapper<csPtr<iObjectIterator > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csObject_GetIterator(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_GetIterator" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    result = (arg1)->GetIterator();
    ST(argvi) = SWIG_NewPointerObj((new csPtr<iObjectIterator >(static_cast< const csPtr<iObjectIterator >& >(result))), SWIGTYPE_p_csPtrTiObjectIterator_t, SWIG_POINTER_OWN | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_AddNameChangeListener) {
  {
    csObject *arg1 = (csObject *) 0 ;
    iObjectNameChangeListener *arg2 = (iObjectNameChangeListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_AddNameChangeListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_AddNameChangeListener" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectNameChangeListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_AddNameChangeListener" "', argument " "2"" of type '" "iObjectNameChangeListener *""'"); 
    }
    arg2 = reinterpret_cast< iObjectNameChangeListener * >(argp2);
    (arg1)->AddNameChangeListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_RemoveNameChangeListener) {
  {
    csObject *arg1 = (csObject *) 0 ;
    iObjectNameChangeListener *arg2 = (iObjectNameChangeListener *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_RemoveNameChangeListener(self,listener);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_RemoveNameChangeListener" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObjectNameChangeListener, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_RemoveNameChangeListener" "', argument " "2"" of type '" "iObjectNameChangeListener *""'"); 
    }
    arg2 = reinterpret_cast< iObjectNameChangeListener * >(argp2);
    (arg1)->RemoveNameChangeListener(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csObject_ObjReleaseOld) {
  {
    csObject *arg1 = (csObject *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csObject_ObjReleaseOld(self,obj);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csObject_ObjReleaseOld" "', argument " "1"" of type '" "csObject *""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csObject_ObjReleaseOld" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    (arg1)->ObjReleaseOld(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColliderWrapper__SWIG_0) {
  {
    csObject *arg1 = 0 ;
    iCollideSystem *arg2 = (iCollideSystem *) 0 ;
    iPolygonMesh *arg3 = (iPolygonMesh *) 0 ;
    csColliderWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csColliderWrapper(parent,collide_system,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csObject,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csColliderWrapper" "', argument " "1"" of type '" "csObject &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_csColliderWrapper" "', argument " "1"" of type '" "csObject &""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csColliderWrapper" "', argument " "2"" of type '" "iCollideSystem *""'"); 
    }
    arg2 = reinterpret_cast< iCollideSystem * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csColliderWrapper" "', argument " "3"" of type '" "iPolygonMesh *""'"); 
    }
    arg3 = reinterpret_cast< iPolygonMesh * >(argp3);
    result = (csColliderWrapper *)new csColliderWrapper(*arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderWrapper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColliderWrapper__SWIG_1) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iCollideSystem *arg2 = (iCollideSystem *) 0 ;
    iPolygonMesh *arg3 = (iPolygonMesh *) 0 ;
    csColliderWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csColliderWrapper(parent,collide_system,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csColliderWrapper" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csColliderWrapper" "', argument " "2"" of type '" "iCollideSystem *""'"); 
    }
    arg2 = reinterpret_cast< iCollideSystem * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iPolygonMesh, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csColliderWrapper" "', argument " "3"" of type '" "iPolygonMesh *""'"); 
    }
    arg3 = reinterpret_cast< iPolygonMesh * >(argp3);
    result = (csColliderWrapper *)new csColliderWrapper(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderWrapper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColliderWrapper__SWIG_2) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iCollideSystem *arg2 = (iCollideSystem *) 0 ;
    iTerraFormer *arg3 = (iTerraFormer *) 0 ;
    csColliderWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csColliderWrapper(parent,collide_system,terrain);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csColliderWrapper" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csColliderWrapper" "', argument " "2"" of type '" "iCollideSystem *""'"); 
    }
    arg2 = reinterpret_cast< iCollideSystem * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iTerraFormer, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csColliderWrapper" "', argument " "3"" of type '" "iTerraFormer *""'"); 
    }
    arg3 = reinterpret_cast< iTerraFormer * >(argp3);
    result = (csColliderWrapper *)new csColliderWrapper(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderWrapper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColliderWrapper__SWIG_3) {
  {
    iObject *arg1 = (iObject *) 0 ;
    iCollideSystem *arg2 = (iCollideSystem *) 0 ;
    iCollider *arg3 = (iCollider *) 0 ;
    csColliderWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: new_csColliderWrapper(parent,collide_system,collider);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csColliderWrapper" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csColliderWrapper" "', argument " "2"" of type '" "iCollideSystem *""'"); 
    }
    arg2 = reinterpret_cast< iCollideSystem * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_csColliderWrapper" "', argument " "3"" of type '" "iCollider *""'"); 
    }
    arg3 = reinterpret_cast< iCollider * >(argp3);
    result = (csColliderWrapper *)new csColliderWrapper(arg1,arg2,arg3);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderWrapper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColliderWrapper) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iPolygonMesh, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iPolygonMesh, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iTerraFormer, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iCollider, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColliderWrapper__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColliderWrapper__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColliderWrapper__SWIG_2); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csColliderWrapper__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csColliderWrapper'");
  XSRETURN(0);
}


XS(_wrap_delete_csColliderWrapper) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csColliderWrapper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csColliderWrapper" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_GetCollider) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    iCollider *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderWrapper_GetCollider(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_GetCollider" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    result = (iCollider *)(arg1)->GetCollider();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCollider, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_GetCollideSystem) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    iCollideSystem *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderWrapper_GetCollideSystem(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_GetCollideSystem" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    result = (iCollideSystem *)(arg1)->GetCollideSystem();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCollideSystem, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_0) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    csColliderWrapper *arg2 = 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    csReversibleTransform *arg4 = (csReversibleTransform *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,pOtherCollider,pThisTransform,pOtherTransform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColliderWrapper,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csColliderWrapper &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csColliderWrapper &""'"); 
    }
    arg2 = reinterpret_cast< csColliderWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderWrapper_Collide" "', argument " "3"" of type '" "csReversibleTransform *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderWrapper_Collide" "', argument " "4"" of type '" "csReversibleTransform *""'"); 
    }
    arg4 = reinterpret_cast< csReversibleTransform * >(argp4);
    result = (bool)(arg1)->Collide(*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_1) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    csColliderWrapper *arg2 = 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,pOtherCollider,pThisTransform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColliderWrapper,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csColliderWrapper &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csColliderWrapper &""'"); 
    }
    arg2 = reinterpret_cast< csColliderWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderWrapper_Collide" "', argument " "3"" of type '" "csReversibleTransform *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    result = (bool)(arg1)->Collide(*arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_2) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    csColliderWrapper *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,pOtherCollider);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColliderWrapper,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csColliderWrapper &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csColliderWrapper &""'"); 
    }
    arg2 = reinterpret_cast< csColliderWrapper * >(argp2);
    result = (bool)(arg1)->Collide(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_3) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    csObject *arg2 = 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    csReversibleTransform *arg4 = (csReversibleTransform *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,otherObject,pThisTransform,pOtherTransform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csObject,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csObject &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csObject &""'"); 
    }
    arg2 = reinterpret_cast< csObject * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderWrapper_Collide" "', argument " "3"" of type '" "csReversibleTransform *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderWrapper_Collide" "', argument " "4"" of type '" "csReversibleTransform *""'"); 
    }
    arg4 = reinterpret_cast< csReversibleTransform * >(argp4);
    result = (bool)(arg1)->Collide(*arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_4) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    csObject *arg2 = 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,otherObject,pThisTransform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csObject,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csObject &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csObject &""'"); 
    }
    arg2 = reinterpret_cast< csObject * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderWrapper_Collide" "', argument " "3"" of type '" "csReversibleTransform *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    result = (bool)(arg1)->Collide(*arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_5) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    csObject *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,otherObject);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csObject,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csObject &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "csObject &""'"); 
    }
    arg2 = reinterpret_cast< csObject * >(argp2);
    result = (bool)(arg1)->Collide(*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_6) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    csReversibleTransform *arg4 = (csReversibleTransform *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 = 0 ;
    int res4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,otherObject,pThisTransform,pOtherTransform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderWrapper_Collide" "', argument " "3"" of type '" "csReversibleTransform *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderWrapper_Collide" "', argument " "4"" of type '" "csReversibleTransform *""'"); 
    }
    arg4 = reinterpret_cast< csReversibleTransform * >(argp4);
    result = (bool)(arg1)->Collide(arg2,arg3,arg4);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_7) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,otherObject,pThisTransform);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderWrapper_Collide" "', argument " "3"" of type '" "csReversibleTransform *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    result = (bool)(arg1)->Collide(arg2,arg3);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide__SWIG_8) {
  {
    csColliderWrapper *arg1 = (csColliderWrapper *) 0 ;
    iObject *arg2 = (iObject *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderWrapper_Collide(self,otherObject);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderWrapper, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_Collide" "', argument " "1"" of type '" "csColliderWrapper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderWrapper * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderWrapper_Collide" "', argument " "2"" of type '" "iObject *""'"); 
    }
    arg2 = reinterpret_cast< iObject * >(argp2);
    result = (bool)(arg1)->Collide(arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_Collide) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_4;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 4;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_4:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_5;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 5;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_5:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_6;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 6;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_6:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_7;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 7;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_7:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_8;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 8;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_8:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csReversibleTransform, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_9;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 9;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_9:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_5); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_8); return;
    case 4:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_1); return;
    case 5:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_7); return;
    case 6:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_4); return;
    case 7:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_6); return;
    case 8:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_0); return;
    case 9:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_Collide__SWIG_3); return;
    }
  }
  
  croak("No matching function for overloaded 'csColliderWrapper_Collide'");
  XSRETURN(0);
}


XS(_wrap_csColliderWrapper_GetColliderWrapper__SWIG_0) {
  {
    csObject *arg1 = 0 ;
    csColliderWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderWrapper_GetColliderWrapper(object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1, SWIGTYPE_p_csObject,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_GetColliderWrapper" "', argument " "1"" of type '" "csObject &""'"); 
    }
    if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderWrapper_GetColliderWrapper" "', argument " "1"" of type '" "csObject &""'"); 
    }
    arg1 = reinterpret_cast< csObject * >(argp1);
    result = (csColliderWrapper *)csColliderWrapper::GetColliderWrapper(*arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_GetColliderWrapper__SWIG_1) {
  {
    iObject *arg1 = (iObject *) 0 ;
    csColliderWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderWrapper_GetColliderWrapper(object);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderWrapper_GetColliderWrapper" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    result = (csColliderWrapper *)csColliderWrapper::GetColliderWrapper(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderWrapper_GetColliderWrapper) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iObject, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_GetColliderWrapper__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderWrapper_GetColliderWrapper__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csColliderWrapper_GetColliderWrapper'");
  XSRETURN(0);
}


XS(_wrap_csTraceBeamResult_closest_tri_set) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    csIntersectingTriangle *arg2 = (csIntersectingTriangle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTraceBeamResult_closest_tri_set(self,closest_tri);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_closest_tri_set" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csIntersectingTriangle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTraceBeamResult_closest_tri_set" "', argument " "2"" of type '" "csIntersectingTriangle *""'"); 
    }
    arg2 = reinterpret_cast< csIntersectingTriangle * >(argp2);
    if (arg1) (arg1)->closest_tri = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_closest_tri_get) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    csIntersectingTriangle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTraceBeamResult_closest_tri_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_closest_tri_get" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    result = (csIntersectingTriangle *)& ((arg1)->closest_tri);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csIntersectingTriangle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_closest_isect_set) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    csVector3 *arg2 = (csVector3 *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTraceBeamResult_closest_isect_set(self,closest_isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_closest_isect_set" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_csVector3, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTraceBeamResult_closest_isect_set" "', argument " "2"" of type '" "csVector3 *""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    if (arg1) (arg1)->closest_isect = *arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_closest_isect_get) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTraceBeamResult_closest_isect_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_closest_isect_get" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    result = (csVector3 *)& ((arg1)->closest_isect);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_closest_mesh_set) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTraceBeamResult_closest_mesh_set(self,closest_mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_closest_mesh_set" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTraceBeamResult_closest_mesh_set" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    if (arg1) (arg1)->closest_mesh = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_closest_mesh_get) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    iMeshWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTraceBeamResult_closest_mesh_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_closest_mesh_get" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    result = (iMeshWrapper *) ((arg1)->closest_mesh);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iMeshWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_sqdistance_set) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTraceBeamResult_sqdistance_set(self,sqdistance);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_sqdistance_set" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csTraceBeamResult_sqdistance_set" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    if (arg1) (arg1)->sqdistance = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_sqdistance_get) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTraceBeamResult_sqdistance_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_sqdistance_get" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    result = (float) ((arg1)->sqdistance);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_end_sector_set) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csTraceBeamResult_end_sector_set(self,end_sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_end_sector_set" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csTraceBeamResult_end_sector_set" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    if (arg1) (arg1)->end_sector = arg2;
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csTraceBeamResult_end_sector_get) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    iSector *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csTraceBeamResult_end_sector_get(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csTraceBeamResult_end_sector_get" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    result = (iSector *) ((arg1)->end_sector);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iSector, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csTraceBeamResult) {
  {
    csTraceBeamResult *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csTraceBeamResult();");
    }
    result = (csTraceBeamResult *)new csTraceBeamResult();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csTraceBeamResult, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csTraceBeamResult) {
  {
    csTraceBeamResult *arg1 = (csTraceBeamResult *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csTraceBeamResult(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csTraceBeamResult, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csTraceBeamResult" "', argument " "1"" of type '" "csTraceBeamResult *""'"); 
    }
    arg1 = reinterpret_cast< csTraceBeamResult * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_InitializeCollisionWrapper) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    csColliderWrapper *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderHelper_InitializeCollisionWrapper(colsys,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderHelper_InitializeCollisionWrapper" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderHelper_InitializeCollisionWrapper" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    result = (csColliderWrapper *)csColliderHelper::InitializeCollisionWrapper(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderWrapper, 0 | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_InitializeCollisionWrappers__SWIG_0) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iEngine *arg2 = (iEngine *) 0 ;
    iRegion *arg3 = (iRegion *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csColliderHelper_InitializeCollisionWrappers(colsys,engine,region);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderHelper_InitializeCollisionWrappers" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderHelper_InitializeCollisionWrappers" "', argument " "2"" of type '" "iEngine *""'"); 
    }
    arg2 = reinterpret_cast< iEngine * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_iRegion, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderHelper_InitializeCollisionWrappers" "', argument " "3"" of type '" "iRegion *""'"); 
    }
    arg3 = reinterpret_cast< iRegion * >(argp3);
    csColliderHelper::InitializeCollisionWrappers(arg1,arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_InitializeCollisionWrappers__SWIG_1) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iEngine *arg2 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderHelper_InitializeCollisionWrappers(colsys,engine);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderHelper_InitializeCollisionWrappers" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderHelper_InitializeCollisionWrappers" "', argument " "2"" of type '" "iEngine *""'"); 
    }
    arg2 = reinterpret_cast< iEngine * >(argp2);
    csColliderHelper::InitializeCollisionWrappers(arg1,arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_InitializeCollisionWrappers) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iEngine, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_iRegion, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderHelper_InitializeCollisionWrappers__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderHelper_InitializeCollisionWrappers__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csColliderHelper_InitializeCollisionWrappers'");
  XSRETURN(0);
}


XS(_wrap_csColliderHelper_CollideArray) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iCollider *arg2 = (iCollider *) 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    int arg4 ;
    iCollider **arg5 = (iCollider **) 0 ;
    csReversibleTransform **arg6 = (csReversibleTransform **) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    int val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: csColliderHelper_CollideArray(colsys,collider,trans,num_colliders,colliders,transforms);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderHelper_CollideArray" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderHelper_CollideArray" "', argument " "2"" of type '" "iCollider *""'"); 
    }
    arg2 = reinterpret_cast< iCollider * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderHelper_CollideArray" "', argument " "3"" of type '" "csReversibleTransform const *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csColliderHelper_CollideArray" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5,SWIGTYPE_p_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csColliderHelper_CollideArray" "', argument " "5"" of type '" "iCollider **""'"); 
    }
    arg5 = reinterpret_cast< iCollider ** >(argp5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csColliderHelper_CollideArray" "', argument " "6"" of type '" "csReversibleTransform **""'"); 
    }
    arg6 = reinterpret_cast< csReversibleTransform ** >(argp6);
    result = (bool)csColliderHelper::CollideArray(arg1,arg2,(csReversibleTransform const *)arg3,arg4,arg5,arg6);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_CollidePath) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iCollider *arg2 = (iCollider *) 0 ;
    csReversibleTransform *arg3 = (csReversibleTransform *) 0 ;
    float arg4 ;
    csVector3 *arg5 = 0 ;
    int arg6 ;
    iCollider **arg7 = (iCollider **) 0 ;
    csReversibleTransform **arg8 = (csReversibleTransform **) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    void *argp5 = 0 ;
    int res5 = 0 ;
    int val6 ;
    int ecode6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    void *argp8 = 0 ;
    int res8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: csColliderHelper_CollidePath(colsys,collider,trans,nbrsteps,newpos,num_colliders,colliders,transforms);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderHelper_CollidePath" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderHelper_CollidePath" "', argument " "2"" of type '" "iCollider *""'"); 
    }
    arg2 = reinterpret_cast< iCollider * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3,SWIGTYPE_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderHelper_CollidePath" "', argument " "3"" of type '" "csReversibleTransform const *""'"); 
    }
    arg3 = reinterpret_cast< csReversibleTransform * >(argp3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csColliderHelper_CollidePath" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csColliderHelper_CollidePath" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_CollidePath" "', argument " "5"" of type '" "csVector3 &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csColliderHelper_CollidePath" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7,SWIGTYPE_p_p_iCollider, 0 |  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csColliderHelper_CollidePath" "', argument " "7"" of type '" "iCollider **""'"); 
    }
    arg7 = reinterpret_cast< iCollider ** >(argp7);
    res8 = SWIG_ConvertPtr(ST(7), &argp8,SWIGTYPE_p_p_csReversibleTransform, 0 |  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "csColliderHelper_CollidePath" "', argument " "8"" of type '" "csReversibleTransform **""'"); 
    }
    arg8 = reinterpret_cast< csReversibleTransform ** >(argp8);
    result = (int)csColliderHelper::CollidePath(arg1,arg2,(csReversibleTransform const *)arg3,arg4,*arg5,arg6,arg7,arg8);
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_TraceBeam__SWIG_0) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool arg5 ;
    csIntersectingTriangle *arg6 = 0 ;
    csVector3 *arg7 = 0 ;
    iMeshWrapper **arg8 = (iMeshWrapper **) 0 ;
    iSector **arg9 = (iSector **) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    void *argp8 = 0 ;
    int res8 = 0 ;
    void *argp9 = 0 ;
    int res9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 9) || (items > 9)) {
      SWIG_croak("Usage: csColliderHelper_TraceBeam(cdsys,sector,start,end,traverse_portals,closest_tri,closest_isect,closest_mesh,end_sector);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderHelper_TraceBeam" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderHelper_TraceBeam" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderHelper_TraceBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderHelper_TraceBeam" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csColliderHelper_TraceBeam" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csIntersectingTriangle,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csColliderHelper_TraceBeam" "', argument " "6"" of type '" "csIntersectingTriangle &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "6"" of type '" "csIntersectingTriangle &""'"); 
    }
    arg6 = reinterpret_cast< csIntersectingTriangle * >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csColliderHelper_TraceBeam" "', argument " "7"" of type '" "csVector3 &""'"); 
    }
    if (!argp7) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "7"" of type '" "csVector3 &""'"); 
    }
    arg7 = reinterpret_cast< csVector3 * >(argp7);
    res8 = SWIG_ConvertPtr(ST(7), &argp8,SWIGTYPE_p_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res8)) {
      SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "csColliderHelper_TraceBeam" "', argument " "8"" of type '" "iMeshWrapper **""'"); 
    }
    arg8 = reinterpret_cast< iMeshWrapper ** >(argp8);
    res9 = SWIG_ConvertPtr(ST(8), &argp9,SWIGTYPE_p_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res9)) {
      SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "csColliderHelper_TraceBeam" "', argument " "9"" of type '" "iSector **""'"); 
    }
    arg9 = reinterpret_cast< iSector ** >(argp9);
    result = (float)csColliderHelper::TraceBeam(arg1,arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,arg5,*arg6,*arg7,arg8,arg9);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_TraceBeam__SWIG_1) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool arg5 ;
    csIntersectingTriangle *arg6 = 0 ;
    csVector3 *arg7 = 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    void *argp6 = 0 ;
    int res6 = 0 ;
    void *argp7 = 0 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: csColliderHelper_TraceBeam(cdsys,sector,start,end,traverse_portals,closest_tri,closest_isect);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderHelper_TraceBeam" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderHelper_TraceBeam" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderHelper_TraceBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderHelper_TraceBeam" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csColliderHelper_TraceBeam" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6, SWIGTYPE_p_csIntersectingTriangle,  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csColliderHelper_TraceBeam" "', argument " "6"" of type '" "csIntersectingTriangle &""'"); 
    }
    if (!argp6) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "6"" of type '" "csIntersectingTriangle &""'"); 
    }
    arg6 = reinterpret_cast< csIntersectingTriangle * >(argp6);
    res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res7)) {
      SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csColliderHelper_TraceBeam" "', argument " "7"" of type '" "csVector3 &""'"); 
    }
    if (!argp7) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "7"" of type '" "csVector3 &""'"); 
    }
    arg7 = reinterpret_cast< csVector3 * >(argp7);
    result = (float)csColliderHelper::TraceBeam(arg1,arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,arg5,*arg6,*arg7);
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_TraceBeam__SWIG_2) {
  {
    iCollideSystem *arg1 = (iCollideSystem *) 0 ;
    iSector *arg2 = (iSector *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    bool arg5 ;
    csTraceBeamResult result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    bool val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csColliderHelper_TraceBeam(cdsys,sector,start,end,traverse_portals);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderHelper_TraceBeam" "', argument " "1"" of type '" "iCollideSystem *""'"); 
    }
    arg1 = reinterpret_cast< iCollideSystem * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iSector, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderHelper_TraceBeam" "', argument " "2"" of type '" "iSector *""'"); 
    }
    arg2 = reinterpret_cast< iSector * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderHelper_TraceBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderHelper_TraceBeam" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderHelper_TraceBeam" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csColliderHelper_TraceBeam" "', argument " "5"" of type '" "bool""'");
    } 
    arg5 = static_cast< bool >(val5);
    result = csColliderHelper::TraceBeam(arg1,arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj((new csTraceBeamResult(static_cast< const csTraceBeamResult& >(result))), SWIGTYPE_p_csTraceBeamResult, SWIG_POINTER_OWN | SWIG_SHADOW); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderHelper_TraceBeam) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csIntersectingTriangle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
    if (items == 9) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iCollideSystem, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(5), &vptr, SWIGTYPE_p_csIntersectingTriangle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(7), &vptr, SWIGTYPE_p_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(8), &vptr, SWIGTYPE_p_p_iSector, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_3;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 3;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_3:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderHelper_TraceBeam__SWIG_2); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderHelper_TraceBeam__SWIG_1); return;
    case 3:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderHelper_TraceBeam__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csColliderHelper_TraceBeam'");
  XSRETURN(0);
}


XS(_wrap_new_csColliderHelper) {
  {
    csColliderHelper *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csColliderHelper();");
    }
    result = (csColliderHelper *)new csColliderHelper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderHelper, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csColliderHelper) {
  {
    csColliderHelper *arg1 = (csColliderHelper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csColliderHelper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderHelper, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csColliderHelper" "', argument " "1"" of type '" "csColliderHelper *""'"); 
    }
    arg1 = reinterpret_cast< csColliderHelper * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csColliderActor) {
  {
    csColliderActor *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: new_csColliderActor();");
    }
    result = (csColliderActor *)new csColliderActor();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csColliderActor, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_SetCollideSystem) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    iCollideSystem *arg2 = (iCollideSystem *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderActor_SetCollideSystem(self,cdsys);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_SetCollideSystem" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCollideSystem, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderActor_SetCollideSystem" "', argument " "2"" of type '" "iCollideSystem *""'"); 
    }
    arg2 = reinterpret_cast< iCollideSystem * >(argp2);
    (arg1)->SetCollideSystem(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_SetEngine) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    iEngine *arg2 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderActor_SetEngine(self,engine);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_SetEngine" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderActor_SetEngine" "', argument " "2"" of type '" "iEngine *""'"); 
    }
    arg2 = reinterpret_cast< iEngine * >(argp2);
    (arg1)->SetEngine(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_InitializeColliders__SWIG_0) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csColliderActor_InitializeColliders(self,mesh,legs,body,shift);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_InitializeColliders" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderActor_InitializeColliders" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderActor_InitializeColliders" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_InitializeColliders" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderActor_InitializeColliders" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_InitializeColliders" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csColliderActor_InitializeColliders" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_InitializeColliders" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    (arg1)->InitializeColliders(arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,(csVector3 const &)*arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_InitializeColliders__SWIG_1) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csColliderActor_InitializeColliders(self,camera,legs,body,shift);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_InitializeColliders" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderActor_InitializeColliders" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderActor_InitializeColliders" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_InitializeColliders" "', argument " "3"" of type '" "csVector3 const &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderActor_InitializeColliders" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_InitializeColliders" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csColliderActor_InitializeColliders" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_InitializeColliders" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    (arg1)->InitializeColliders(arg2,(csVector3 const &)*arg3,(csVector3 const &)*arg4,(csVector3 const &)*arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_InitializeColliders) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderActor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderActor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(3), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(4), &vptr, SWIGTYPE_p_csVector3, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderActor_InitializeColliders__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderActor_InitializeColliders__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'csColliderActor_InitializeColliders'");
  XSRETURN(0);
}


XS(_wrap_csColliderActor_SetCamera__SWIG_0) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    bool arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    bool val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csColliderActor_SetCamera(self,camera,adjustRotation);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_SetCamera" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderActor_SetCamera" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    ecode3 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csColliderActor_SetCamera" "', argument " "3"" of type '" "bool""'");
    } 
    arg3 = static_cast< bool >(val3);
    (arg1)->SetCamera(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_SetCamera__SWIG_1) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderActor_SetCamera(self,camera);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_SetCamera" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderActor_SetCamera" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    (arg1)->SetCamera(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_SetCamera) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderActor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csColliderActor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iCamera, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderActor_SetCamera__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csColliderActor_SetCamera__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csColliderActor_SetCamera'");
  XSRETURN(0);
}


XS(_wrap_csColliderActor_SetGravity) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderActor_SetGravity(self,g);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_SetGravity" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColliderActor_SetGravity" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    (arg1)->SetGravity(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_GetGravity) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    float result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderActor_GetGravity(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_GetGravity" "', argument " "1"" of type '" "csColliderActor const *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    result = (float)((csColliderActor const *)arg1)->GetGravity();
    ST(argvi) = SWIG_From_float  SWIG_PERL_CALL_ARGS_1(static_cast< float >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_IsOnGround) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderActor_IsOnGround(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_IsOnGround" "', argument " "1"" of type '" "csColliderActor const *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    result = (bool)((csColliderActor const *)arg1)->IsOnGround();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_SetOnGround) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderActor_SetOnGround(self,og);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_SetOnGround" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColliderActor_SetOnGround" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetOnGround(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_HasCD) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderActor_HasCD(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_HasCD" "', argument " "1"" of type '" "csColliderActor const *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    result = (bool)((csColliderActor const *)arg1)->HasCD();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_SetCD) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderActor_SetCD(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_SetCD" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColliderActor_SetCD" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetCD(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_CheckRevertMove) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderActor_CheckRevertMove(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_CheckRevertMove" "', argument " "1"" of type '" "csColliderActor const *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    result = (bool)((csColliderActor const *)arg1)->CheckRevertMove();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_EnableHitMeshes) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderActor_EnableHitMeshes(self,hm);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_EnableHitMeshes" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColliderActor_EnableHitMeshes" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->EnableHitMeshes(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_CheckHitMeshes) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderActor_CheckHitMeshes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_CheckHitMeshes" "', argument " "1"" of type '" "csColliderActor const *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    result = (bool)((csColliderActor const *)arg1)->CheckHitMeshes();
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_GetHitMeshes) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    csSet<csPtrKey<iMeshWrapper > > *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderActor_GetHitMeshes(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_GetHitMeshes" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    {
      csSet<csPtrKey<iMeshWrapper > > const &_result_ref = (arg1)->GetHitMeshes();
      result = (csSet<csPtrKey<iMeshWrapper > > *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t, 0 | 0); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_Move) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    float arg2 ;
    float arg3 ;
    csVector3 *arg4 = 0 ;
    csVector3 *arg5 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    void *argp5 ;
    int res5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csColliderActor_Move(self,delta,speed,velBody,angularVelocity);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_Move" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csColliderActor_Move" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csColliderActor_Move" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderActor_Move" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_Move" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    res5 = SWIG_ConvertPtr(ST(4), &argp5, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "csColliderActor_Move" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    if (!argp5) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_Move" "', argument " "5"" of type '" "csVector3 const &""'"); 
    }
    arg5 = reinterpret_cast< csVector3 * >(argp5);
    result = (bool)(arg1)->Move(arg2,arg3,(csVector3 const &)*arg4,(csVector3 const &)*arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_GetRotation) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    csVector3 *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csColliderActor_GetRotation(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_GetRotation" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    {
      csVector3 const &_result_ref = (arg1)->GetRotation();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_SetRotation) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    csVector3 *arg2 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csColliderActor_SetRotation(self,rot);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_SetRotation" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderActor_SetRotation" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_SetRotation" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    (arg1)->SetRotation((csVector3 const &)*arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csColliderActor_AdjustForCollisions) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    csVector3 *arg2 = 0 ;
    csVector3 *arg3 = 0 ;
    csVector3 *arg4 = 0 ;
    float arg5 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 = 0 ;
    int res3 = 0 ;
    void *argp4 ;
    int res4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csColliderActor_AdjustForCollisions(self,oldpos,newpos,vel,delta);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csColliderActor_AdjustForCollisions" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csColliderActor_AdjustForCollisions" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_AdjustForCollisions" "', argument " "2"" of type '" "csVector3 const &""'"); 
    }
    arg2 = reinterpret_cast< csVector3 * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csColliderActor_AdjustForCollisions" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_AdjustForCollisions" "', argument " "3"" of type '" "csVector3 &""'"); 
    }
    arg3 = reinterpret_cast< csVector3 * >(argp3);
    res4 = SWIG_ConvertPtr(ST(3), &argp4, SWIGTYPE_p_csVector3,  0 );
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "csColliderActor_AdjustForCollisions" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csColliderActor_AdjustForCollisions" "', argument " "4"" of type '" "csVector3 const &""'"); 
    }
    arg4 = reinterpret_cast< csVector3 * >(argp4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csColliderActor_AdjustForCollisions" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    result = (bool)(arg1)->AdjustForCollisions((csVector3 const &)*arg2,*arg3,(csVector3 const &)*arg4,arg5);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csColliderActor) {
  {
    csColliderActor *arg1 = (csColliderActor *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csColliderActor(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csColliderActor, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csColliderActor" "', argument " "1"" of type '" "csColliderActor *""'"); 
    }
    arg1 = reinterpret_cast< csColliderActor * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csView) {
  {
    iEngine *arg1 = (iEngine *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    csView *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: new_csView(iEngine,ig3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csView" "', argument " "1"" of type '" "iEngine *""'"); 
    }
    arg1 = reinterpret_cast< iEngine * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_csView" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    result = (csView *)new csView(arg1,arg2);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csView, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_delete_csView) {
  {
    csView *arg1 = (csView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csView(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csView" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_GetEngine) {
  {
    csView *arg1 = (csView *) 0 ;
    iEngine *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csView_GetEngine(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_GetEngine" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    result = (iEngine *)(arg1)->GetEngine();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iEngine, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_SetEngine) {
  {
    csView *arg1 = (csView *) 0 ;
    iEngine *arg2 = (iEngine *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csView_SetEngine(self,e);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_SetEngine" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iEngine, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csView_SetEngine" "', argument " "2"" of type '" "iEngine *""'"); 
    }
    arg2 = reinterpret_cast< iEngine * >(argp2);
    (arg1)->SetEngine(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_GetCamera) {
  {
    csView *arg1 = (csView *) 0 ;
    iCamera *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csView_GetCamera(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_GetCamera" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    result = (iCamera *)(arg1)->GetCamera();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iCamera, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_SetCamera) {
  {
    csView *arg1 = (csView *) 0 ;
    iCamera *arg2 = (iCamera *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csView_SetCamera(self,c);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_SetCamera" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iCamera, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csView_SetCamera" "', argument " "2"" of type '" "iCamera *""'"); 
    }
    arg2 = reinterpret_cast< iCamera * >(argp2);
    (arg1)->SetCamera(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_GetContext) {
  {
    csView *arg1 = (csView *) 0 ;
    iGraphics3D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csView_GetContext(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_GetContext" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    result = (iGraphics3D *)(arg1)->GetContext();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iGraphics3D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_SetContext) {
  {
    csView *arg1 = (csView *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csView_SetContext(self,ig3d);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_SetContext" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csView_SetContext" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    (arg1)->SetContext(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_SetRectangle) {
  {
    csView *arg1 = (csView *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csView_SetRectangle(self,x,y,w,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_SetRectangle" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csView_SetRectangle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csView_SetRectangle" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csView_SetRectangle" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csView_SetRectangle" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->SetRectangle(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_ClearView) {
  {
    csView *arg1 = (csView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csView_ClearView(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_ClearView" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    (arg1)->ClearView();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_AddViewVertex) {
  {
    csView *arg1 = (csView *) 0 ;
    int arg2 ;
    int arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int val2 ;
    int ecode2 = 0 ;
    int val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csView_AddViewVertex(self,x,y);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_AddViewVertex" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csView_AddViewVertex" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csView_AddViewVertex" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    (arg1)->AddViewVertex(arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_RestrictClipperToScreen) {
  {
    csView *arg1 = (csView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csView_RestrictClipperToScreen(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_RestrictClipperToScreen" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    (arg1)->RestrictClipperToScreen();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_SetAutoResize) {
  {
    csView *arg1 = (csView *) 0 ;
    bool arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    bool val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csView_SetAutoResize(self,state);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_SetAutoResize" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    ecode2 = SWIG_AsVal_bool SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csView_SetAutoResize" "', argument " "2"" of type '" "bool""'");
    } 
    arg2 = static_cast< bool >(val2);
    (arg1)->SetAutoResize(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_UpdateClipper) {
  {
    csView *arg1 = (csView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csView_UpdateClipper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_UpdateClipper" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    (arg1)->UpdateClipper();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_GetClipper) {
  {
    csView *arg1 = (csView *) 0 ;
    iClipper2D *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csView_GetClipper(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_GetClipper" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    result = (iClipper2D *)(arg1)->GetClipper();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iClipper2D, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_Draw__SWIG_0) {
  {
    csView *arg1 = (csView *) 0 ;
    iMeshWrapper *arg2 = (iMeshWrapper *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csView_Draw(self,mesh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_Draw" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iMeshWrapper, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csView_Draw" "', argument " "2"" of type '" "iMeshWrapper *""'"); 
    }
    arg2 = reinterpret_cast< iMeshWrapper * >(argp2);
    (arg1)->Draw(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_Draw__SWIG_1) {
  {
    csView *arg1 = (csView *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csView_Draw(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csView, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csView_Draw" "', argument " "1"" of type '" "csView *""'"); 
    }
    arg1 = reinterpret_cast< csView * >(argp1);
    (arg1)->Draw();
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csView_Draw) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csView, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 2) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csView, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iMeshWrapper, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csView_Draw__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csView_Draw__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csView_Draw'");
  XSRETURN(0);
}


XS(_wrap_csfxInterference) {
  {
    iGraphics2D *arg1 = (iGraphics2D *) 0 ;
    float arg2 ;
    float arg3 ;
    float arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csfxInterference(g2d,amount,anim,length);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics2D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxInterference" "', argument " "1"" of type '" "iGraphics2D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics2D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csfxInterference" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csfxInterference" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csfxInterference" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    csfxInterference(arg1,arg2,arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxFadeOut) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csfxFadeOut(g3d,fadevalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxFadeOut" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csfxFadeOut" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    csfxFadeOut(arg1,arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxFadeTo) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    float arg3 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    float val3 ;
    int ecode3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csfxFadeTo(g3d,tex,fadevalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxFadeTo" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csfxFadeTo" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    ecode3 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csfxFadeTo" "', argument " "3"" of type '" "float""'");
    } 
    arg3 = static_cast< float >(val3);
    csfxFadeTo(arg1,arg2,arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxFadeToColor) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float arg2 ;
    csColor *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csfxFadeToColor(g3d,fadevalue,color);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxFadeToColor" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csfxFadeToColor" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csfxFadeToColor" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csfxFadeToColor" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    arg3 = reinterpret_cast< csColor * >(argp3);
    csfxFadeToColor(arg1,arg2,(csColor const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxGreenScreen) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csfxGreenScreen(g3d,fadevalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxGreenScreen" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csfxGreenScreen" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    csfxGreenScreen(arg1,arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxRedScreen) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csfxRedScreen(g3d,fadevalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxRedScreen" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csfxRedScreen" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    csfxRedScreen(arg1,arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxBlueScreen) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csfxBlueScreen(g3d,fadevalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxBlueScreen" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csfxBlueScreen" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    csfxBlueScreen(arg1,arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxWhiteOut) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    float arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    float val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csfxWhiteOut(g3d,fadevalue);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxWhiteOut" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csfxWhiteOut" "', argument " "2"" of type '" "float""'");
    } 
    arg2 = static_cast< float >(val2);
    csfxWhiteOut(arg1,arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxShadeVert__SWIG_0) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csColor *arg2 = 0 ;
    csColor *arg3 = 0 ;
    uint arg4 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    unsigned int val4 ;
    int ecode4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 4) || (items > 4)) {
      SWIG_croak("Usage: csfxShadeVert(g3d,topcolor,bottomcolor,mixmode);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxShadeVert" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csfxShadeVert" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csfxShadeVert" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csfxShadeVert" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csfxShadeVert" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    arg3 = reinterpret_cast< csColor * >(argp3);
    ecode4 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csfxShadeVert" "', argument " "4"" of type '" "uint""'");
    } 
    arg4 = static_cast< uint >(val4);
    csfxShadeVert(arg1,(csColor const &)*arg2,(csColor const &)*arg3,arg4);
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxShadeVert__SWIG_1) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    csColor *arg2 = 0 ;
    csColor *arg3 = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    void *argp3 ;
    int res3 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: csfxShadeVert(g3d,topcolor,bottomcolor);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxShadeVert" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csfxShadeVert" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csfxShadeVert" "', argument " "2"" of type '" "csColor const &""'"); 
    }
    arg2 = reinterpret_cast< csColor * >(argp2);
    res3 = SWIG_ConvertPtr(ST(2), &argp3, SWIGTYPE_p_csColor,  0 );
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "csfxShadeVert" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csfxShadeVert" "', argument " "3"" of type '" "csColor const &""'"); 
    }
    arg3 = reinterpret_cast< csColor * >(argp3);
    csfxShadeVert(arg1,(csColor const &)*arg2,(csColor const &)*arg3);
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxShadeVert) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 3) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 4) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(2), &vptr, SWIGTYPE_p_csColor, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csfxShadeVert__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csfxShadeVert__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csfxShadeVert'");
  XSRETURN(0);
}


XS(_wrap_csfxScreenDPFX) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    uint arg3 ;
    float arg4 ;
    float arg5 ;
    float arg6 ;
    float arg7 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    unsigned int val3 ;
    int ecode3 = 0 ;
    float val4 ;
    int ecode4 = 0 ;
    float val5 ;
    int ecode5 = 0 ;
    float val6 ;
    int ecode6 = 0 ;
    float val7 ;
    int ecode7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: csfxScreenDPFX(g3d,tex,mixmode,r,g,b,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxScreenDPFX" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csfxScreenDPFX" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    ecode3 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csfxScreenDPFX" "', argument " "3"" of type '" "uint""'");
    } 
    arg3 = static_cast< uint >(val3);
    ecode4 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csfxScreenDPFX" "', argument " "4"" of type '" "float""'");
    } 
    arg4 = static_cast< float >(val4);
    ecode5 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csfxScreenDPFX" "', argument " "5"" of type '" "float""'");
    } 
    arg5 = static_cast< float >(val5);
    ecode6 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csfxScreenDPFX" "', argument " "6"" of type '" "float""'");
    } 
    arg6 = static_cast< float >(val6);
    ecode7 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "csfxScreenDPFX" "', argument " "7"" of type '" "float""'");
    } 
    arg7 = static_cast< float >(val7);
    csfxScreenDPFX(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csfxScreenDPFXPartial) {
  {
    iGraphics3D *arg1 = (iGraphics3D *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    iTextureHandle *arg6 = (iTextureHandle *) 0 ;
    uint arg7 ;
    float arg8 ;
    float arg9 ;
    float arg10 ;
    float arg11 ;
    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 ;
    unsigned int val7 ;
    int ecode7 = 0 ;
    float val8 ;
    int ecode8 = 0 ;
    float val9 ;
    int ecode9 = 0 ;
    float val10 ;
    int ecode10 = 0 ;
    float val11 ;
    int ecode11 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 11) || (items > 11)) {
      SWIG_croak("Usage: csfxScreenDPFXPartial(g3d,x,y,w,h,tex,mixmode,r,g,b,a);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csfxScreenDPFXPartial" "', argument " "1"" of type '" "iGraphics3D *""'"); 
    }
    arg1 = reinterpret_cast< iGraphics3D * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csfxScreenDPFXPartial" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csfxScreenDPFXPartial" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csfxScreenDPFXPartial" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csfxScreenDPFXPartial" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    res6 = SWIG_ConvertPtr(ST(5), &argp6,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res6)) {
      SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "csfxScreenDPFXPartial" "', argument " "6"" of type '" "iTextureHandle *""'"); 
    }
    arg6 = reinterpret_cast< iTextureHandle * >(argp6);
    ecode7 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "csfxScreenDPFXPartial" "', argument " "7"" of type '" "uint""'");
    } 
    arg7 = static_cast< uint >(val7);
    ecode8 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "csfxScreenDPFXPartial" "', argument " "8"" of type '" "float""'");
    } 
    arg8 = static_cast< float >(val8);
    ecode9 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(8), &val9);
    if (!SWIG_IsOK(ecode9)) {
      SWIG_exception_fail(SWIG_ArgError(ecode9), "in method '" "csfxScreenDPFXPartial" "', argument " "9"" of type '" "float""'");
    } 
    arg9 = static_cast< float >(val9);
    ecode10 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(9), &val10);
    if (!SWIG_IsOK(ecode10)) {
      SWIG_exception_fail(SWIG_ArgError(ecode10), "in method '" "csfxScreenDPFXPartial" "', argument " "10"" of type '" "float""'");
    } 
    arg10 = static_cast< float >(val10);
    ecode11 = SWIG_AsVal_float SWIG_PERL_CALL_ARGS_2(ST(10), &val11);
    if (!SWIG_IsOK(ecode11)) {
      SWIG_exception_fail(SWIG_ArgError(ecode11), "in method '" "csfxScreenDPFXPartial" "', argument " "11"" of type '" "float""'");
    } 
    arg11 = static_cast< float >(val11);
    csfxScreenDPFXPartial(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
    
    
    
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPixmap__SWIG_0) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    csSimplePixmap *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: new_csPixmap(hTexture);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPixmap" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    result = (csSimplePixmap *)new csSimplePixmap(arg1);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSimplePixmap, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPixmap__SWIG_1) {
  {
    iTextureHandle *arg1 = (iTextureHandle *) 0 ;
    int arg2 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    csSimplePixmap *result = 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: new_csPixmap(hTexture,x,y,w,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_csPixmap" "', argument " "1"" of type '" "iTextureHandle *""'"); 
    }
    arg1 = reinterpret_cast< iTextureHandle * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_csPixmap" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_csPixmap" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_csPixmap" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "new_csPixmap" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    result = (csSimplePixmap *)new csSimplePixmap(arg1,arg2,arg3,arg4,arg5);
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csSimplePixmap, SWIG_OWNER | SWIG_SHADOW); argvi++ ;
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_new_csPixmap) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 1) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 5) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_iTextureHandle, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPixmap__SWIG_0); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_new_csPixmap__SWIG_1); return;
    }
  }
  
  croak("No matching function for overloaded 'new_csPixmap'");
  XSRETURN(0);
}


XS(_wrap_delete_csPixmap) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: delete_csPixmap(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, SWIG_POINTER_DISOWN |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_csPixmap" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    delete arg1;
    
    
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_SetTextureHandle) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    iTextureHandle *arg2 = (iTextureHandle *) 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 = 0 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixmap_SetTextureHandle(self,hTexture);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_SetTextureHandle" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iTextureHandle, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixmap_SetTextureHandle" "', argument " "2"" of type '" "iTextureHandle *""'"); 
    }
    arg2 = reinterpret_cast< iTextureHandle * >(argp2);
    (arg1)->SetTextureHandle(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_SetTextureRectangle) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 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 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 5) || (items > 5)) {
      SWIG_croak("Usage: csPixmap_SetTextureRectangle(self,x,y,w,h);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_SetTextureRectangle" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixmap_SetTextureRectangle" "', argument " "2"" of type '" "int""'");
    } 
    arg2 = static_cast< int >(val2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPixmap_SetTextureRectangle" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPixmap_SetTextureRectangle" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csPixmap_SetTextureRectangle" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    (arg1)->SetTextureRectangle(arg2,arg3,arg4,arg5);
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_DrawScaled__SWIG_0) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    uint8 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 ;
    void *argp7 ;
    int res7 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 7) || (items > 7)) {
      SWIG_croak("Usage: csPixmap_DrawScaled(self,g3d,sx,sy,sw,sh,Alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_DrawScaled" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixmap_DrawScaled" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPixmap_DrawScaled" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPixmap_DrawScaled" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csPixmap_DrawScaled" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csPixmap_DrawScaled" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    {
      res7 = SWIG_ConvertPtr(ST(6), &argp7, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res7)) {
        SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "csPixmap_DrawScaled" "', argument " "7"" of type '" "uint8""'"); 
      }  
      if (!argp7) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPixmap_DrawScaled" "', argument " "7"" of type '" "uint8""'");
      } else {
        arg7 = *(reinterpret_cast< uint8 * >(argp7));
      }
    }
    (arg1)->DrawScaled(arg2,arg3,arg4,arg5,arg6,arg7);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_DrawScaled__SWIG_1) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    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 argvi = 0;
    dXSARGS;
    
    if ((items < 6) || (items > 6)) {
      SWIG_croak("Usage: csPixmap_DrawScaled(self,g3d,sx,sy,sw,sh);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_DrawScaled" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixmap_DrawScaled" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPixmap_DrawScaled" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPixmap_DrawScaled" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csPixmap_DrawScaled" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csPixmap_DrawScaled" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    (arg1)->DrawScaled(arg2,arg3,arg4,arg5,arg6);
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_DrawScaled) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 6) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSimplePixmap, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 7) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSimplePixmap, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(6), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPixmap_DrawScaled__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPixmap_DrawScaled__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csPixmap_DrawScaled'");
  XSRETURN(0);
}


XS(_wrap_csPixmap_DrawTiled__SWIG_0) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    int arg7 ;
    int arg8 ;
    uint8 arg9 ;
    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 ;
    int val8 ;
    int ecode8 = 0 ;
    void *argp9 ;
    int res9 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 9) || (items > 9)) {
      SWIG_croak("Usage: csPixmap_DrawTiled(self,g3d,sx,sy,sw,sh,orgx,orgy,Alpha);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_DrawTiled" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixmap_DrawTiled" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPixmap_DrawTiled" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPixmap_DrawTiled" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csPixmap_DrawTiled" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csPixmap_DrawTiled" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    ecode7 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "csPixmap_DrawTiled" "', argument " "7"" of type '" "int""'");
    } 
    arg7 = static_cast< int >(val7);
    ecode8 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "csPixmap_DrawTiled" "', argument " "8"" of type '" "int""'");
    } 
    arg8 = static_cast< int >(val8);
    {
      res9 = SWIG_ConvertPtr(ST(8), &argp9, SWIGTYPE_p_uint8_t,  0 );
      if (!SWIG_IsOK(res9)) {
        SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "csPixmap_DrawTiled" "', argument " "9"" of type '" "uint8""'"); 
      }  
      if (!argp9) {
        SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "csPixmap_DrawTiled" "', argument " "9"" of type '" "uint8""'");
      } else {
        arg9 = *(reinterpret_cast< uint8 * >(argp9));
      }
    }
    (arg1)->DrawTiled(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_DrawTiled__SWIG_1) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    iGraphics3D *arg2 = (iGraphics3D *) 0 ;
    int arg3 ;
    int arg4 ;
    int arg5 ;
    int arg6 ;
    int arg7 ;
    int arg8 ;
    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 ;
    int val8 ;
    int ecode8 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 8) || (items > 8)) {
      SWIG_croak("Usage: csPixmap_DrawTiled(self,g3d,sx,sy,sw,sh,orgx,orgy);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_DrawTiled" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_iGraphics3D, 0 |  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "csPixmap_DrawTiled" "', argument " "2"" of type '" "iGraphics3D *""'"); 
    }
    arg2 = reinterpret_cast< iGraphics3D * >(argp2);
    ecode3 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val3);
    if (!SWIG_IsOK(ecode3)) {
      SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "csPixmap_DrawTiled" "', argument " "3"" of type '" "int""'");
    } 
    arg3 = static_cast< int >(val3);
    ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val4);
    if (!SWIG_IsOK(ecode4)) {
      SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "csPixmap_DrawTiled" "', argument " "4"" of type '" "int""'");
    } 
    arg4 = static_cast< int >(val4);
    ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), &val5);
    if (!SWIG_IsOK(ecode5)) {
      SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "csPixmap_DrawTiled" "', argument " "5"" of type '" "int""'");
    } 
    arg5 = static_cast< int >(val5);
    ecode6 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), &val6);
    if (!SWIG_IsOK(ecode6)) {
      SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "csPixmap_DrawTiled" "', argument " "6"" of type '" "int""'");
    } 
    arg6 = static_cast< int >(val6);
    ecode7 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), &val7);
    if (!SWIG_IsOK(ecode7)) {
      SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "csPixmap_DrawTiled" "', argument " "7"" of type '" "int""'");
    } 
    arg7 = static_cast< int >(val7);
    ecode8 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), &val8);
    if (!SWIG_IsOK(ecode8)) {
      SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "csPixmap_DrawTiled" "', argument " "8"" of type '" "int""'");
    } 
    arg8 = static_cast< int >(val8);
    (arg1)->DrawTiled(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
    
    
    
    
    
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_DrawTiled) {
  dXSARGS;
  
  {
    unsigned long _index = 0;
    SWIG_TypeRank _rank = 0; 
    if (items == 8) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSimplePixmap, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_1;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 1;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_1:
    
    if (items == 9) {
      SWIG_TypeRank _ranki = 0;
      SWIG_TypeRank _rankm = 0;
      SWIG_TypeRank _pi = 1;
      int _v = 0;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_csSimplePixmap, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_iGraphics3D, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(4), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(5), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(6), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        {
          int res = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(7), NULL);
          _v = SWIG_CheckState(res);
        }
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      {
        void *vptr = 0;
        int res = SWIG_ConvertPtr(ST(8), &vptr, SWIGTYPE_p_uint8_t, 0);
        _v = SWIG_CheckState(res);
      }
      if (!_v) goto check_2;
      _ranki += _v*_pi;
      _rankm += _pi;
      _pi *= SWIG_MAXCASTRANK;
      if (!_index || (_ranki < _rank)) {
        _rank = _ranki; _index = 2;
        if (_rank == _rankm) goto dispatch;
      }
    }
  check_2:
    
  dispatch:
    switch(_index) {
    case 1:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPixmap_DrawTiled__SWIG_1); return;
    case 2:
      ++PL_markstack_ptr; SWIG_CALLXS(_wrap_csPixmap_DrawTiled__SWIG_0); return;
    }
  }
  
  croak("No matching function for overloaded 'csPixmap_DrawTiled'");
  XSRETURN(0);
}


XS(_wrap_csPixmap_Width) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixmap_Width(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_Width" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    result = (int)(arg1)->Width();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_Height) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    int result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixmap_Height(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_Height" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    result = (int)(arg1)->Height();
    ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_Advance) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    csTicks arg2 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csPixmap_Advance(self,csTicks);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_Advance" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csPixmap_Advance" "', argument " "2"" of type '" "csTicks""'");
    } 
    arg2 = static_cast< csTicks >(val2);
    (arg1)->Advance(arg2);
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csPixmap_GetTextureHandle) {
  {
    csSimplePixmap *arg1 = (csSimplePixmap *) 0 ;
    iTextureHandle *result = 0 ;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csPixmap_GetTextureHandle(self);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_csSimplePixmap, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csPixmap_GetTextureHandle" "', argument " "1"" of type '" "csSimplePixmap *""'"); 
    }
    arg1 = reinterpret_cast< csSimplePixmap * >(argp1);
    result = (iTextureHandle *)(arg1)->GetTextureHandle();
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_iTextureHandle, 0 | SWIG_SHADOW); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_IS_KEYBOARD_EVENT) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iEvent *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_IS_KEYBOARD_EVENT(iObjectRegistry *,iEvent const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_IS_KEYBOARD_EVENT" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iEvent,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_IS_KEYBOARD_EVENT" "', argument " "2"" of type '" "iEvent const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CS_IS_KEYBOARD_EVENT" "', argument " "2"" of type '" "iEvent const &""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (bool)CS_IS_KEYBOARD_EVENT(arg1,(iEvent const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_IS_MOUSE_EVENT) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iEvent *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_IS_MOUSE_EVENT(iObjectRegistry *,iEvent const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_IS_MOUSE_EVENT" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iEvent,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_IS_MOUSE_EVENT" "', argument " "2"" of type '" "iEvent const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CS_IS_MOUSE_EVENT" "', argument " "2"" of type '" "iEvent const &""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (bool)CS_IS_MOUSE_EVENT(arg1,(iEvent const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_IS_JOYSTICK_EVENT) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iEvent *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_IS_JOYSTICK_EVENT(iObjectRegistry *,iEvent const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_IS_JOYSTICK_EVENT" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iEvent,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_IS_JOYSTICK_EVENT" "', argument " "2"" of type '" "iEvent const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CS_IS_JOYSTICK_EVENT" "', argument " "2"" of type '" "iEvent const &""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (bool)CS_IS_JOYSTICK_EVENT(arg1,(iEvent const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_IS_INPUT_EVENT) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    iEvent *arg2 = 0 ;
    bool result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    void *argp2 ;
    int res2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_IS_INPUT_EVENT(iObjectRegistry *,iEvent const &);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_IS_INPUT_EVENT" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_ConvertPtr(ST(1), &argp2, SWIGTYPE_p_iEvent,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_IS_INPUT_EVENT" "', argument " "2"" of type '" "iEvent const &""'"); 
    }
    if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CS_IS_INPUT_EVENT" "', argument " "2"" of type '" "iEvent const &""'"); 
    }
    arg2 = reinterpret_cast< iEvent * >(argp2);
    result = (bool)CS_IS_INPUT_EVENT(arg1,(iEvent const &)*arg2);
    ST(argvi) = SWIG_From_bool  SWIG_PERL_CALL_ARGS_1(static_cast< bool >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevAllEvents) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevAllEvents(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevAllEvents" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevAllEvents(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevFrame) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevFrame(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevFrame" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevFrame(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevInput) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevInput(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevInput" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevInput(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevQuit) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevQuit(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevQuit" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevQuit(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevKeyboardEvent) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevKeyboardEvent(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevKeyboardEvent" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevKeyboardEvent(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevKeyboardDown) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevKeyboardDown(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevKeyboardDown" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevKeyboardDown(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevKeyboardUp) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevKeyboardUp(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevKeyboardUp" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevKeyboardUp(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseEvent) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevMouseEvent(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseEvent" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevMouseEvent(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseButton) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevMouseButton(iObjectRegistry *,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseButton" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouseButton" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevMouseButton(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseUp) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevMouseUp(iObjectRegistry *,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseUp" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouseUp" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevMouseUp(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseDown) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevMouseDown(iObjectRegistry *,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseDown" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouseDown" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevMouseDown(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseClick) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevMouseClick(iObjectRegistry *,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseClick" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouseClick" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevMouseClick(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseDoubleClick) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevMouseDoubleClick(iObjectRegistry *,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseDoubleClick" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouseDoubleClick" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevMouseDoubleClick(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevMouseMove) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    uint arg2 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    unsigned int val2 ;
    int ecode2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: csevMouseMove(iObjectRegistry *,x);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevMouseMove" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    ecode2 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2);
    if (!SWIG_IsOK(ecode2)) {
      SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "csevMouseMove" "', argument " "2"" of type '" "uint""'");
    } 
    arg2 = static_cast< uint >(val2);
    result = (csEventID)csevMouseMove(arg1,arg2);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_csevJoystickEvent) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    csEventID result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: csevJoystickEvent(iObjectRegistry *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "csevJoystickEvent" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    result = (csEventID)csevJoystickEvent(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_long  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned long >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_QUERY_REGISTRY_TAG) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iBase > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_QUERY_REGISTRY_TAG(iObjectRegistry *,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_QUERY_REGISTRY_TAG" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_QUERY_REGISTRY_TAG" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = CS_QUERY_REGISTRY_TAG(arg1,(char const *)arg2);
    {
      csRef<iBase> rf ((csPtr<iBase>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iBase*)rf, SWIG_TypeQuery("cspace::""iBase"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_CS_LOAD_PLUGIN_ALWAYS) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    SwigValueWrapper<csPtr<iBase > > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_LOAD_PLUGIN_ALWAYS(iPluginManager *,char const *);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_LOAD_PLUGIN_ALWAYS" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_LOAD_PLUGIN_ALWAYS" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    result = CS_LOAD_PLUGIN_ALWAYS(arg1,(char const *)arg2);
    {
      csRef<iBase> rf ((csPtr<iBase>&)result); /* explicit cast */
      /*@SWIG:TYPEMAP_OUT_csRef_BODY@*/
      if (rf.IsValid ())
      {
        rf->IncRef ();
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, (iBase*)rf, SWIG_TypeQuery("cspace::""iBase"), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
      /*@SWIG@*/
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    SWIG_croak_null();
  }
}


XS(_wrap_CS_FX_SETALPHA) {
  {
    uint arg1 ;
    uint result;
    unsigned int val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: CS_FX_SETALPHA(uint);");
    }
    ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "CS_FX_SETALPHA" "', argument " "1"" of type '" "uint""'");
    } 
    arg1 = static_cast< uint >(val1);
    result = (uint)CS_FX_SETALPHA(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_FX_SETALPHA_INT) {
  {
    uint arg1 ;
    uint result;
    unsigned int val1 ;
    int ecode1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 1) || (items > 1)) {
      SWIG_croak("Usage: CS_FX_SETALPHA_INT(uint);");
    }
    ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1);
    if (!SWIG_IsOK(ecode1)) {
      SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "CS_FX_SETALPHA_INT" "', argument " "1"" of type '" "uint""'");
    } 
    arg1 = static_cast< uint >(val1);
    result = (uint)CS_FX_SETALPHA_INT(arg1);
    ST(argvi) = SWIG_From_unsigned_SS_int  SWIG_PERL_CALL_ARGS_1(static_cast< unsigned int >(result)); argvi++ ;
    
    XSRETURN(argvi);
  fail:
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_QUERY_REGISTRY) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_QUERY_REGISTRY(reg,iface,iface_ver);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_QUERY_REGISTRY" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg2 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(1));
      arg2 = inputString;
      arg3 = scfGetVersion(inputString);
    }
    result = CS_QUERY_REGISTRY(arg1,(char const *)arg2,arg3);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_QUERY_REGISTRY_TAG_INTERFACE) {
  {
    iObjectRegistry *arg1 = (iObjectRegistry *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: CS_QUERY_REGISTRY_TAG_INTERFACE(reg,tag,iface,iface_ver);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObjectRegistry, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_QUERY_REGISTRY_TAG_INTERFACE" "', argument " "1"" of type '" "iObjectRegistry *""'"); 
    }
    arg1 = reinterpret_cast< iObjectRegistry * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_QUERY_REGISTRY_TAG_INTERFACE" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg3 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(2));
      arg3 = inputString;
      arg4 = scfGetVersion(inputString);
    }
    result = CS_QUERY_REGISTRY_TAG_INTERFACE(arg1,(char const *)arg2,(char const *)arg3,arg4);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_SCF_QUERY_INTERFACE) {
  {
    iBase *arg1 = (iBase *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: SCF_QUERY_INTERFACE(obj,iface,iface_ver);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SCF_QUERY_INTERFACE" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg2 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(1));
      arg2 = inputString;
      arg3 = scfGetVersion(inputString);
    }
    result = SCF_QUERY_INTERFACE(arg1,(char const *)arg2,arg3);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_SCF_QUERY_INTERFACE_SAFE) {
  {
    iBase *arg1 = (iBase *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: SCF_QUERY_INTERFACE_SAFE(obj,iface,iface_ver);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iBase, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SCF_QUERY_INTERFACE_SAFE" "', argument " "1"" of type '" "iBase *""'"); 
    }
    arg1 = reinterpret_cast< iBase * >(argp1);
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg2 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(1));
      arg2 = inputString;
      arg3 = scfGetVersion(inputString);
    }
    result = SCF_QUERY_INTERFACE_SAFE(arg1,(char const *)arg2,arg3);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_QUERY_PLUGIN_CLASS) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: CS_QUERY_PLUGIN_CLASS(obj,id,iface,iface_ver);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_QUERY_PLUGIN_CLASS" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_QUERY_PLUGIN_CLASS" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg3 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(2));
      arg3 = inputString;
      arg4 = scfGetVersion(inputString);
    }
    result = CS_QUERY_PLUGIN_CLASS(arg1,(char const *)arg2,(char const *)arg3,arg4);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_LOAD_PLUGIN) {
  {
    iPluginManager *arg1 = (iPluginManager *) 0 ;
    char *arg2 = (char *) 0 ;
    char *arg3 = (char *) 0 ;
    int arg4 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res2 ;
    char *buf2 = 0 ;
    int alloc2 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: CS_LOAD_PLUGIN(obj,id,iface,iface_ver);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iPluginManager, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_LOAD_PLUGIN" "', argument " "1"" of type '" "iPluginManager *""'"); 
    }
    arg1 = reinterpret_cast< iPluginManager * >(argp1);
    res2 = SWIG_AsCharPtrAndSize(ST(1), &buf2, NULL, &alloc2);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CS_LOAD_PLUGIN" "', argument " "2"" of type '" "char const *""'");
    }
    arg2 = buf2;
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg3 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(2));
      arg3 = inputString;
      arg4 = scfGetVersion(inputString);
    }
    result = CS_LOAD_PLUGIN(arg1,(char const *)arg2,(char const *)arg3,arg4);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    XSRETURN(argvi);
  fail:
    
    if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_GET_CHILD_OBJECT) {
  {
    iObject *arg1 = (iObject *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_GET_CHILD_OBJECT(obj,iface,iface_ver);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_GET_CHILD_OBJECT" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg2 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(1));
      arg2 = inputString;
      arg3 = scfGetVersion(inputString);
    }
    result = CS_GET_CHILD_OBJECT(arg1,(char const *)arg2,arg3);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    
    XSRETURN(argvi);
  fail:
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_GET_NAMED_CHILD_OBJECT) {
  {
    iObject *arg1 = (iObject *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    char *arg4 = (char *) 0 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: CS_GET_NAMED_CHILD_OBJECT(obj,iface,iface_ver,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_GET_NAMED_CHILD_OBJECT" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg2 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(1));
      arg2 = inputString;
      arg3 = scfGetVersion(inputString);
    }
    res4 = SWIG_AsCharPtrAndSize(ST(2), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CS_GET_NAMED_CHILD_OBJECT" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = CS_GET_NAMED_CHILD_OBJECT(arg1,(char const *)arg2,arg3,(char const *)arg4);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_CS_GET_FIRST_NAMED_CHILD_OBJECT) {
  {
    iObject *arg1 = (iObject *) 0 ;
    char *arg2 = (char *) 0 ;
    int arg3 ;
    char *arg4 = (char *) 0 ;
    SwigValueWrapper<csWrapPtr > result;
    void *argp1 = 0 ;
    int res1 = 0 ;
    int res4 ;
    char *buf4 = 0 ;
    int alloc4 = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 3) || (items > 3)) {
      SWIG_croak("Usage: CS_GET_FIRST_NAMED_CHILD_OBJECT(obj,iface,iface_ver,name);");
    }
    res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_iObject, 0 |  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CS_GET_FIRST_NAMED_CHILD_OBJECT" "', argument " "1"" of type '" "iObject *""'"); 
    }
    arg1 = reinterpret_cast< iObject * >(argp1);
    {
      // SvPV_nolen is a macro that can't be used in general expression so we
      // declare a temp variable.  The temp variable is non-const because SWIG
      // declares arg2 to be non-const for some reason.
      char *inputString;
      inputString = SvPV_nolen(ST(1));
      arg2 = inputString;
      arg3 = scfGetVersion(inputString);
    }
    res4 = SWIG_AsCharPtrAndSize(ST(2), &buf4, NULL, &alloc4);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CS_GET_FIRST_NAMED_CHILD_OBJECT" "', argument " "4"" of type '" "char const *""'");
    }
    arg4 = buf4;
    result = CS_GET_FIRST_NAMED_CHILD_OBJECT(arg1,(char const *)arg2,arg3,(char const *)arg4);
    {
      csRef<iBase> rf ((&result)->Ref);
      if (rf.IsValid ())
      {
        csString pT; pT << "cspace::" << (&result)->Type;
        iBase* ibase = rf;
        void* ptr = ibase->QueryInterface(iSCF::SCF->GetInterfaceID((&result)->Type), (&result)->Version);
        SV* rv = sv_newmortal();
        SWIG_MakePtr(rv, ptr, SWIG_TypeQuery(pT.GetData()), 0);
        ST(argvi) = rv;
      }
      else
      {
        SvREFCNT_inc (& PL_sv_undef);
        ST(argvi) = & PL_sv_undef;
      }
      argvi++;
    }
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    XSRETURN(argvi);
  fail:
    
    
    if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_PLUGIN) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    SV * _saved[2] ;
    dXSARGS;
    
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 2) || (items > 2)) {
      SWIG_croak("Usage: CS_REQUEST_PLUGIN(__Iscfid__,__Iiface__);");
    }
    {
      tmp1 = (char *) SvPV_nolen (ST(0));
      arg1 = & tmp1;
    }
    {
      tmp2 = (char *) SvPV_nolen (ST(1));
      arg2 = & tmp2;
    }
    _saved[0] = ST(0);
    _saved[1] = ST(1);
    CS_REQUEST_PLUGIN(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_VFS) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_VFS();");
    }
    CS_REQUEST_VFS(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_FONTSERVER) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_FONTSERVER();");
    }
    CS_REQUEST_FONTSERVER(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_IMAGELOADER) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_IMAGELOADER();");
    }
    CS_REQUEST_IMAGELOADER(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_NULL3D) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_NULL3D();");
    }
    CS_REQUEST_NULL3D(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_SOFTWARE3D) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_SOFTWARE3D();");
    }
    CS_REQUEST_SOFTWARE3D(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_OPENGL3D) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_OPENGL3D();");
    }
    CS_REQUEST_OPENGL3D(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_ENGINE) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_ENGINE();");
    }
    CS_REQUEST_ENGINE(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_LEVELLOADER) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_LEVELLOADER();");
    }
    CS_REQUEST_LEVELLOADER(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_LEVELSAVER) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_LEVELSAVER();");
    }
    CS_REQUEST_LEVELSAVER(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_REPORTER) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_REPORTER();");
    }
    CS_REQUEST_REPORTER(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_REPORTERLISTENER) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_REPORTERLISTENER();");
    }
    CS_REQUEST_REPORTERLISTENER(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_REQUEST_CONSOLEOUT) {
  {
    char **arg1 = 0 ;
    char **arg2 = 0 ;
    int *arg3 = 0 ;
    int *arg4 = 0 ;
    char *tmp1 ;
    char *tmp2 ;
    int temp3 ;
    int res3 = SWIG_TMPOBJ ;
    int temp4 ;
    int res4 = SWIG_TMPOBJ ;
    int argvi = 0;
    dXSARGS;
    
    {
      arg1 = & tmp1;
    }
    {
      arg2 = & tmp2;
    }
    arg3 = &temp3;
    arg4 = &temp4;
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_REQUEST_CONSOLEOUT();");
    }
    CS_REQUEST_CONSOLEOUT(*arg1,*arg2,*arg3,*arg4);
    
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg1));
      argvi++;
    }
    {
      if (argvi >= items) {
        EXTEND (sp, 1); 
      }
      ST(argvi) = sv_newmortal ();
      sv_setpv (ST(argvi), * (arg2));
      argvi++;
    }
    if (SWIG_IsTmpObj(res3)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg3)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res3) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg3), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    if (SWIG_IsTmpObj(res4)) {
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_From_int  SWIG_PERL_CALL_ARGS_1((*arg4)); argvi++  ;
    } else {
      int new_flags = SWIG_IsNewObj(res4) ? (SWIG_POINTER_OWN | 0) : 0;
      if (argvi >= items) EXTEND(sp,1);  ST(argvi) = SWIG_NewPointerObj((void*)(arg4), SWIGTYPE_p_int, new_flags); argvi++  ;
    }
    
    
    
    
    XSRETURN(argvi);
  fail:
    
    
    
    
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_FORWARD) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_FORWARD();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_FORWARD();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_BACKWARD) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_BACKWARD();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_BACKWARD();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_RIGHT) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_RIGHT();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_RIGHT();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_LEFT) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_LEFT();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_LEFT();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_UP) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_UP();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_UP();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_DOWN) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_DOWN();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_DOWN();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_ROT_RIGHT) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_ROT_RIGHT();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_ROT_RIGHT();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_ROT_LEFT) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_ROT_LEFT();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_ROT_LEFT();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_TILT_RIGHT) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_TILT_RIGHT();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_TILT_RIGHT();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_TILT_LEFT) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_TILT_LEFT();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_TILT_LEFT();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_TILT_UP) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_TILT_UP();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_TILT_UP();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}


XS(_wrap_CS_VEC_TILT_DOWN) {
  {
    csVector3 *result = 0 ;
    int argvi = 0;
    dXSARGS;
    
    if ((items < 0) || (items > 0)) {
      SWIG_croak("Usage: CS_VEC_TILT_DOWN();");
    }
    {
      csVector3 const &_result_ref = CS_VEC_TILT_DOWN();
      result = (csVector3 *) &_result_ref;
    }
    ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_csVector3, 0 | SWIG_SHADOW); argvi++ ;
    XSRETURN(argvi);
  fail:
    SWIG_croak_null();
  }
}



/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */

static void *_p_csStringFastT36_tTo_p_csStringBase(void *x) {
    return (void *)((csStringBase *)  ((csStringFast<36 > *) x));
}
static void *_p_csStringTo_p_csStringBase(void *x) {
    return (void *)((csStringBase *) (csStringFast<36 > *) ((csString *) x));
}
static void *_p_csShaderVariableTo_p_csRefCount(void *x) {
    return (void *)((csRefCount *)  ((csShaderVariable *) x));
}
static void *_p_p_iAwsRGBKeyTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *) ((iAwsRGBKey **) x));
}
static void *_p_p_iEventTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEvent **) x));
}
static void *_p_p_iRendererLightmapTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iRendererLightmap **) x));
}
static void *_p_p_iSuperLightmapTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSuperLightmap **) x));
}
static void *_p_p_iConsoleOutputTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iConsoleOutput **) x));
}
static void *_p_p_iTerrainObjectStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTerrainObjectState **) x));
}
static void *_p_p_iClipper2DTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iClipper2D **) x));
}
static void *_p_p_iParticleEffectorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iParticleEffector **) x));
}
static void *_p_p_iDebugHelperTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDebugHelper **) x));
}
static void *_p_p_iODEDynamicStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iODEDynamicState **) x));
}
static void *_p_p_iMaterialEngineTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMaterialEngine **) x));
}
static void *_p_p_iDocumentAttributeTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDocumentAttribute **) x));
}
static void *_p_p_iImageIOTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iImageIO **) x));
}
static void *_p_p_iODEHingeJointTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iODEGeneralJointState *) ((iODEHingeJoint **) x));
}
static void *_p_p_iLoaderStatusTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLoaderStatus **) x));
}
static void *_p_p_iImageTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iImage **) x));
}
static void *_p_p_iODEBallJointTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iODEBallJoint **) x));
}
static void *_p_p_iTextureHandleTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTextureHandle **) x));
}
static void *_p_p_iGeneralMeshStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iGeneralMeshCommonState *) ((iGeneralMeshState **) x));
}
static void *_p_p_iDynamicsTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDynamics **) x));
}
static void *_p_p_iParameterESMTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iParameterESM **) x));
}
static void *_p_p_iSndSysSoftwareOutputFilterTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysSoftwareOutputFilter **) x));
}
static void *_p_p_iAwsIntKeyTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *) ((iAwsIntKey **) x));
}
static void *_p_p_iParticleBuiltinEmitterCylinderTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterCylinder **) x));
}
static void *_p_p_iSaverTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSaver **) x));
}
static void *_p_p_iODEDynamicSystemStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iODEDynamicSystemState **) x));
}
static void *_p_p_iMeshListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshList **) x));
}
static void *_p_p_iEventPlugTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEventPlug **) x));
}
static void *_p_p_iParticleBuiltinEmitterBoxTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterBox **) x));
}
static void *_p_p_iODEJointStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iODEJointState **) x));
}
static void *_p_p_iODEGeneralJointStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iODEGeneralJointState **) x));
}
static void *_p_p_iTextureWrapperTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTextureWrapper **) x));
}
static void *_p_p_iMaterialWrapperTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMaterialWrapper **) x));
}
static void *_p_p_iMeshWrapperTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshWrapper **) x));
}
static void *_p_p_iMeshFactoryWrapperTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshFactoryWrapper **) x));
}
static void *_p_p_iStringTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iString **) x));
}
static void *_p_p_iSndSysWrapperTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysWrapper **) x));
}
static void *_p_p_iSequenceWrapperTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSequenceWrapper **) x));
}
static void *_p_p_iEngineTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEngine **) x));
}
static void *_p_p_iConsoleWatcherTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iConsoleWatcher **) x));
}
static void *_p_p_iMaterialTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iShaderVariableContext *) ((iMaterial **) x));
}
static void *_p_p_iSimpleFormerStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSimpleFormerState **) x));
}
static void *_p_p_iSprite2DUVAnimationTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSprite2DUVAnimation **) x));
}
static void *_p_p_iPolygonMeshTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iPolygonMesh **) x));
}
static void *_p_p_iTerrainFactoryStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTerrainFactoryState **) x));
}
static void *_p_p_iThingFactoryStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iThingFactoryState **) x));
}
static void *_p_p_iSpriteCal3DFactoryStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSpriteCal3DFactoryState **) x));
}
static void *_p_p_iSprite3DFactoryStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSprite3DFactoryState **) x));
}
static void *_p_p_iSprite2DFactoryStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSprite2DFactoryState **) x));
}
static void *_p_p_iGeneralFactoryStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iGeneralMeshCommonState *) ((iGeneralFactoryState **) x));
}
static void *_p_p_iSCFTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSCF **) x));
}
static void *_p_p_iParticleEmitterTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iParticleEmitter **) x));
}
static void *_p_p_iDocumentTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDocument **) x));
}
static void *_p_p_iGraphics2DTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iGraphics2D **) x));
}
static void *_p_p_iShaderPriorityListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iShaderPriorityList **) x));
}
static void *_p_p_iSndSysSourceSoftware3DTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iSndSysSource *)(iSndSysSourceSoftware *) ((iSndSysSourceSoftware3D **) x));
}
static void *_p_p_iMeshObjectTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshObject **) x));
}
static void *_p_p_iSkeletonGraveyardTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonGraveyard **) x));
}
static void *_p_p_iDataBufferTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDataBuffer **) x));
}
static void *_p_p_iScriptObjectTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iScriptObject **) x));
}
static void *_p_p_iSequenceTimedOperationTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSequenceTimedOperation **) x));
}
static void *_p_p_iFontServerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iFontServer **) x));
}
static void *_p_p_scfImplementation1TcsPath_iPath_tTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iPath *) ((scfImplementation1<csPath,iPath > **) x));
}
static void *_p_p_iStringArrayTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iStringArray **) x));
}
static void *_p_p_iReporterTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iReporter **) x));
}
static void *_p_p_iPathTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iPath **) x));
}
static void *_p_p_iVisibilityObjectIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iVisibilityObjectIterator **) x));
}
static void *_p_p_iLightIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLightIterator **) x));
}
static void *_p_p_iSectorIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSectorIterator **) x));
}
static void *_p_p_iMeshWrapperIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshWrapperIterator **) x));
}
static void *_p_p_iObjectIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iObjectIterator **) x));
}
static void *_p_p_iObjectRegistryIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iObjectRegistryIterator **) x));
}
static void *_p_p_iEventAttributeIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEventAttributeIterator **) x));
}
static void *_p_p_iPluginIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iPluginIterator **) x));
}
static void *_p_p_iConfigIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iConfigIterator **) x));
}
static void *_p_p_iDocumentAttributeIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDocumentAttributeIterator **) x));
}
static void *_p_p_iDocumentNodeIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDocumentNodeIterator **) x));
}
static void *_p_p_iReporterIteratorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iReporterIterator **) x));
}
static void *_p_p_iMapNodeTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMapNode **) x));
}
static void *_p_p_iGenMeshAnimationControlTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iGenMeshAnimationControl **) x));
}
static void *_p_p_iObjectRegistryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iObjectRegistry **) x));
}
static void *_p_p_iEventNameRegistryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEventNameRegistry **) x));
}
static void *_p_p_iSndSysListenerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysListener **) x));
}
static void *_p_p_iVisibilityCullerListenerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iVisibilityCullerListener **) x));
}
static void *_p_p_iObjectModelListenerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iObjectModelListener **) x));
}
static void *_p_p_iCameraSectorListenerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iCameraSectorListener **) x));
}
static void *_p_p_iMovableListenerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMovableListener **) x));
}
static void *_p_p_iObjectNameChangeListenerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iObjectNameChangeListener **) x));
}
static void *_p_p_iDocumentSystemTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDocumentSystem **) x));
}
static void *_p_p_iReporterListenerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iReporterListener **) x));
}
static void *_p_p_iStandardReporterListenerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iStandardReporterListener **) x));
}
static void *_p_p_iSprite2DUVAnimationFrameTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSprite2DUVAnimationFrame **) x));
}
static void *_p_p_iSndSysSourceSoftwareTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iSndSysSource *) ((iSndSysSourceSoftware **) x));
}
static void *_p_p_iSndSysRendererSoftwareTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysRendererSoftware **) x));
}
static void *_p_p_iTerraFormerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTerraFormer **) x));
}
static void *_p_p_iSkeletonTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeleton **) x));
}
static void *_p_p_iSectorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSector **) x));
}
static void *_p_p_iSequenceTriggerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSequenceTrigger **) x));
}
static void *_p_p_iPortalContainerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iPortalContainer **) x));
}
static void *_p_p_iAwsKeyContainerTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *) ((iAwsKeyContainer **) x));
}
static void *_p_p_iODESliderJointTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iODEGeneralJointState *) ((iODESliderJoint **) x));
}
static void *_p_p_iODEAMotorJointTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iODEGeneralJointState *) ((iODEAMotorJoint **) x));
}
static void *_p_p_iODEHinge2JointTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iODEGeneralJointState *) ((iODEHinge2Joint **) x));
}
static void *_p_p_iRegionListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iRegionList **) x));
}
static void *_p_p_iCameraPositionListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iCameraPositionList **) x));
}
static void *_p_p_iSpriteActionTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSpriteAction **) x));
}
static void *_p_p_iLightListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLightList **) x));
}
static void *_p_p_iMeshObjectDrawCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshObjectDrawCallback **) x));
}
static void *_p_p_iSkeletonUpdateCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonUpdateCallback **) x));
}
static void *_p_p_iSkeletonScriptCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonScriptCallback **) x));
}
static void *_p_p_iSkeletonBoneUpdateCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonBoneUpdateCallback **) x));
}
static void *_p_p_iPortalCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iPortalCallback **) x));
}
static void *_p_p_iLightCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLightCallback **) x));
}
static void *_p_p_iSectorCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSectorCallback **) x));
}
static void *_p_p_iSectorMeshCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSectorMeshCallback **) x));
}
static void *_p_p_iLightVisibleCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLightVisibleCallback **) x));
}
static void *_p_p_iEngineFrameCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEngineFrameCallback **) x));
}
static void *_p_p_iEngineSectorCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEngineSectorCallback **) x));
}
static void *_p_p_iTextureCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTextureCallback **) x));
}
static void *_p_p_iMeshDrawCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshDrawCallback **) x));
}
static void *_p_p_iVisibilityObjectTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iVisibilityObject **) x));
}
static void *_p_p_iSndSysStreamCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysStreamCallback **) x));
}
static void *_p_p_iSndSysRendererCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysRendererCallback **) x));
}
static void *_p_p_iObjectTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iObject **) x));
}
static void *_p_p_iOffscreenCanvasCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iOffscreenCanvasCallback **) x));
}
static void *_p_p_iDynamicsMoveCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDynamicsMoveCallback **) x));
}
static void *_p_p_iDynamicsCollisionCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDynamicsCollisionCallback **) x));
}
static void *_p_p_iDynamicsColliderCollisionCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDynamicsColliderCollisionCallback **) x));
}
static void *_p_p_iODEFrameUpdateCallbackTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iODEFrameUpdateCallback **) x));
}
static void *_p_p_iCameraTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iCamera **) x));
}
static void *_p_p_iCommandLineParserTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iCommandLineParser **) x));
}
static void *_p_p_iMeshFactoryListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshFactoryList **) x));
}
static void *_p_p_iMeshObjectTypeTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshObjectType **) x));
}
static void *_p_p_iVirtualClockTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iVirtualClock **) x));
}
static void *_p_p_iGraphics3DTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iGraphics3D **) x));
}
static void *_p_p_iMovieRecorderTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMovieRecorder **) x));
}
static void *_p_p_iSprite2DStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iSprite2DFactoryState *) ((iSprite2DState **) x));
}
static void *_p_p_iParticleBuiltinEmitterSphereTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterSphere **) x));
}
static void *_p_p_iThingEnvironmentTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iThingEnvironment **) x));
}
static void *_p_p_iMovableTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMovable **) x));
}
static void *_p_p_iSceneNodeArrayTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iArrayReadOnly<iSceneNode * > *) ((iSceneNodeArray **) x));
}
static void *_p_p_iSectorListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSectorList **) x));
}
static void *_p_p_iShaderVariableContextTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iShaderVariableContext **) x));
}
static void *_p_p_iParticleSystemTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleSystemBase *) ((iParticleSystem **) x));
}
static void *_p_p_iSndSysSoftwareFilter3DTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysSoftwareFilter3D **) x));
}
static void *_p_p_iCollideSystemTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iCollideSystem **) x));
}
static void *_p_p_iDynamicSystemTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDynamicSystem **) x));
}
static void *_p_p_csPathTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iPath *)(scfImplementation1<csPath,iPath > *) ((csPath **) x));
}
static void *_p_p_iShaderCompilerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iShaderCompiler **) x));
}
static void *_p_p_iLightingProcessDataTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLightingProcessData **) x));
}
static void *_p_p_iCameraPositionTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iCameraPosition **) x));
}
static void *_p_p_iBinaryLoaderPluginTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iBinaryLoaderPlugin **) x));
}
static void *_p_p_iLoaderPluginTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLoaderPlugin **) x));
}
static void *_p_p_iHaloTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iHalo **) x));
}
static void *_p_p_iSpriteCal3DSocketTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iSpriteSocket *) ((iSpriteCal3DSocket **) x));
}
static void *_p_p_iSkeletonSocketTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonSocket **) x));
}
static void *_p_p_iSndSysStreamTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysStream **) x));
}
static void *_p_p_iVisibilityCullerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iVisibilityCuller **) x));
}
static void *_p_p_iGeneralMeshCommonStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iGeneralMeshCommonState **) x));
}
static void *_p_p_iConfigFileTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iConfigFile **) x));
}
static void *_p_p_iEventQueueTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEventQueue **) x));
}
static void *_p_p_iRigidBodyTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iRigidBody **) x));
}
static void *_p_p_iAwsComponentNodeTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *)(iAwsKeyContainer *) ((iAwsComponentNode **) x));
}
static void *_p_p_iEventOutletTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEventOutlet **) x));
}
static void *_p_p_iDocumentNodeTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDocumentNode **) x));
}
static void *_p_p_iSpriteCal3DStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSpriteCal3DState **) x));
}
static void *_p_p_iSprite3DStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSprite3DState **) x));
}
static void *_p_p_iKeyboardDriverTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iKeyboardDriver **) x));
}
static void *_p_p_iBodyGroupTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iBodyGroup **) x));
}
static void *_p_p_iFrustumViewTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iFrustumView **) x));
}
static void *_p_p_iAnimTimeUpdateHandlerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAnimTimeUpdateHandler **) x));
}
static void *_p_p_iEventHandlerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEventHandler **) x));
}
static void *_p_p_iPortalTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iPortal **) x));
}
static void *_p_p_iAwsTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAws **) x));
}
static void *_p_p_iEngineSequenceParametersTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEngineSequenceParameters **) x));
}
static void *_p_p_iAwsKeyTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsKey **) x));
}
static void *_p_p_iArrayChangeAllTcsSprite2DVertex_tTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iArrayReadOnly<csSprite2DVertex > *)(iArrayChangeElements<csSprite2DVertex > *) ((iArrayChangeAll<csSprite2DVertex > **) x));
}
static void *_p_p_iArrayChangeElementsTcsSprite2DVertex_tTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iArrayReadOnly<csSprite2DVertex > *) ((iArrayChangeElements<csSprite2DVertex > **) x));
}
static void *_p_p_iArrayReadOnlyTcsSprite2DVertex_tTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iArrayReadOnly<csSprite2DVertex > **) x));
}
static void *_p_p_iGenMeshAnimationControlTypeTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iGenMeshAnimationControlType **) x));
}
static void *_p_p_iFileTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iFile **) x));
}
static void *_p_p_iKeyComposerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iKeyComposer **) x));
}
static void *_p_p_iMaterialListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMaterialList **) x));
}
static void *_p_p_iAwsRectKeyTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *) ((iAwsRectKey **) x));
}
static void *_p_p_iParticleBuiltinEffectorVelocityFieldTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleEffector *) ((iParticleBuiltinEffectorVelocityField **) x));
}
static void *_p_p_iLightingProcessInfoTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iFrustumViewUserdata *) ((iLightingProcessInfo **) x));
}
static void *_p_p_iSpriteSocketTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSpriteSocket **) x));
}
static void *_p_p_iParticleBuiltinEmitterBaseTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleEmitter *) ((iParticleBuiltinEmitterBase **) x));
}
static void *_p_p_iParticleBuiltinEmitterConeTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterCone **) x));
}
static void *_p_p_iSndSysRendererTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysRenderer **) x));
}
static void *_p_p_iAwsComponentTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsSource *) ((iAwsComponent **) x));
}
static void *_p_p_iComponentTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iComponent **) x));
}
static void *_p_p_iAwsStringKeyTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *) ((iAwsStringKey **) x));
}
static void *_p_p_iGenMeshSkeletonControlStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iGenMeshSkeletonControlState **) x));
}
static void *_p_p_iAwsSourceTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsSource **) x));
}
static void *_p_p_iSndSysSourceTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysSource **) x));
}
static void *_p_p_iParticleBuiltinEffectorForceTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleEffector *) ((iParticleBuiltinEffectorForce **) x));
}
static void *_p_p_iVFSTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iVFS **) x));
}
static void *_p_p_iParticleBuiltinEffectorFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iParticleBuiltinEffectorFactory **) x));
}
static void *_p_p_iParticleBuiltinEmitterFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iParticleBuiltinEmitterFactory **) x));
}
static void *_p_p_iParticleSystemFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleSystemBase *) ((iParticleSystemFactory **) x));
}
static void *_p_p_iMeshObjectFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMeshObjectFactory **) x));
}
static void *_p_p_iSkeletonFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonFactory **) x));
}
static void *_p_p_iSkeletonSocketFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonSocketFactory **) x));
}
static void *_p_p_iSkeletonBoneFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonBoneFactory **) x));
}
static void *_p_p_iGenMeshAnimationControlFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iGenMeshAnimationControlFactory **) x));
}
static void *_p_p_iAwsConnectionNodeFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsConnectionNodeFactory **) x));
}
static void *_p_p_iAwsKeyFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsKeyFactory **) x));
}
static void *_p_p_iAwsComponentFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsComponentFactory **) x));
}
static void *_p_p_iFactoryTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iFactory **) x));
}
static void *_p_p_iSndSysSoftwareDriverTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysSoftwareDriver **) x));
}
static void *_p_p_iMouseDriverTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMouseDriver **) x));
}
static void *_p_p_iJoystickDriverTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iJoystickDriver **) x));
}
static void *_p_p_iSndSysLoaderTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysLoader **) x));
}
static void *_p_p_iLoaderTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLoader **) x));
}
static void *_p_p_iFrustumViewUserdataTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iFrustumViewUserdata **) x));
}
static void *_p_p_iAwsSinkTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsSink **) x));
}
static void *_p_p_iShaderTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iShaderVariableContext *) ((iShader **) x));
}
static void *_p_p_iTextureListTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTextureList **) x));
}
static void *_p_p_iNativeWindowTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iNativeWindow **) x));
}
static void *_p_p_iParticleSystemBaseTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iParticleSystemBase **) x));
}
static void *_p_p_iSpriteFrameTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSpriteFrame **) x));
}
static void *_p_p_iSkeletonScriptTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonScript **) x));
}
static void *_p_p_iFontDeleteNotifyTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iFontDeleteNotify **) x));
}
static void *_p_p_iThingStateTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iThingState **) x));
}
static void *_p_p_iAwsFloatKeyTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *) ((iAwsFloatKey **) x));
}
static void *_p_p_iJointTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iJoint **) x));
}
static void *_p_p_iShaderVariableAccessorTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iShaderVariableAccessor **) x));
}
static void *_p_p_iFontTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iFont **) x));
}
static void *_p_p_iTerraSamplerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTerraSampler **) x));
}
static void *_p_p_iArrayReadOnlyTcsShaderVariable_p_tTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iArrayReadOnly<csShaderVariable * > **) x));
}
static void *_p_p_iArrayChangeElementsTcsShaderVariable_p_tTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iArrayReadOnly<csShaderVariable * > *) ((iArrayChangeElements<csShaderVariable * > **) x));
}
static void *_p_p_iArrayChangeAllTcsShaderVariable_p_tTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iArrayReadOnly<csShaderVariable * > *)(iArrayChangeElements<csShaderVariable * > *) ((iArrayChangeAll<csShaderVariable * > **) x));
}
static void *_p_p_iSkeletonBoneTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonBone **) x));
}
static void *_p_p_iAwsSlotTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsSlot **) x));
}
static void *_p_p_iArrayReadOnlyTiSceneNode_p_tTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iArrayReadOnly<iSceneNode * > **) x));
}
static void *_p_p_iSceneNodeTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSceneNode **) x));
}
static void *_p_p_iLightTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iLight **) x));
}
static void *_p_p_iSkeletonScriptKeyFrameTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonScriptKeyFrame **) x));
}
static void *_p_p_iParticleBuiltinEffectorLinColorTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iParticleEffector *) ((iParticleBuiltinEffectorLinColor **) x));
}
static void *_p_p_iShaderVarStackTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iArrayReadOnly<csShaderVariable * > *)(iArrayChangeElements<csShaderVariable * > *)(iArrayChangeAll<csShaderVariable * > *) ((iShaderVarStack **) x));
}
static void *_p_p_iViewTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iView **) x));
}
static void *_p_p_iGeneralMeshSubMeshTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iGeneralMeshSubMesh **) x));
}
static void *_p_p_iColliderTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iCollider **) x));
}
static void *_p_p_iDynamicsSystemColliderTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iDynamicsSystemCollider **) x));
}
static void *_p_p_iODEUniversalJointTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iODEGeneralJointState *) ((iODEUniversalJoint **) x));
}
static void *_p_p_iPolygonHandleTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iPolygonHandle **) x));
}
static void *_p_p_iObjectModelTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iObjectModel **) x));
}
static void *_p_p_iAwsConnectionKeyTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *) ((iAwsConnectionKey **) x));
}
static void *_p_p_iSkeletonBoneRagdollInfoTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSkeletonBoneRagdollInfo **) x));
}
static void *_p_p_iMissingLoaderDataTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iMissingLoaderData **) x));
}
static void *_p_p_iRegionTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iRegion **) x));
}
static void *_p_p_iStringSetTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iStringSet **) x));
}
static void *_p_p_iColoredVerticesTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iArrayReadOnly<csSprite2DVertex > *)(iArrayChangeElements<csSprite2DVertex > *)(iArrayChangeAll<csSprite2DVertex > *) ((iColoredVertices **) x));
}
static void *_p_p_iAwsLayoutManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsLayoutManager **) x));
}
static void *_p_p_iAwsSinkManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsSinkManager **) x));
}
static void *_p_p_iAwsPrefManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iAwsPrefManager **) x));
}
static void *_p_p_iSndSysManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysManager **) x));
}
static void *_p_p_iCacheManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iCacheManager **) x));
}
static void *_p_p_iPluginManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iPluginManager **) x));
}
static void *_p_p_iConfigManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iConfigFile *) ((iConfigManager **) x));
}
static void *_p_p_iNativeWindowManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iNativeWindowManager **) x));
}
static void *_p_p_iShaderManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iShaderVariableContext *) ((iShaderManager **) x));
}
static void *_p_p_iTextureManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iTextureManager **) x));
}
static void *_p_p_iEngineSequenceManagerTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEngineSequenceManager **) x));
}
static void *_p_p_iAwsPointKeyTo_p_p_iBase(void *x) {
    return (void *)((iBase **) (iAwsKey *) ((iAwsPointKey **) x));
}
static void *_p_p_iScriptTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iScript **) x));
}
static void *_p_p_iSndSysDataTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iSndSysData **) x));
}
static void *_p_p_iEventCordTo_p_p_iBase(void *x) {
    return (void *)((iBase **)  ((iEventCord **) x));
}
static void *_p_iAwsRGBKeyTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *) ((iAwsRGBKey *) x));
}
static void *_p_iEventTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEvent *) x));
}
static void *_p_iRendererLightmapTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iRendererLightmap *) x));
}
static void *_p_iSuperLightmapTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSuperLightmap *) x));
}
static void *_p_iConsoleOutputTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iConsoleOutput *) x));
}
static void *_p_iTerrainObjectStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTerrainObjectState *) x));
}
static void *_p_iClipper2DTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iClipper2D *) x));
}
static void *_p_iParticleEffectorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iParticleEffector *) x));
}
static void *_p_iDebugHelperTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDebugHelper *) x));
}
static void *_p_iODEDynamicStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iODEDynamicState *) x));
}
static void *_p_iMaterialEngineTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMaterialEngine *) x));
}
static void *_p_iDocumentAttributeTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDocumentAttribute *) x));
}
static void *_p_iImageIOTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iImageIO *) x));
}
static void *_p_iODEHingeJointTo_p_iBase(void *x) {
    return (void *)((iBase *) (iODEGeneralJointState *) ((iODEHingeJoint *) x));
}
static void *_p_iLoaderStatusTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLoaderStatus *) x));
}
static void *_p_iImageTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iImage *) x));
}
static void *_p_iODEBallJointTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iODEBallJoint *) x));
}
static void *_p_iTextureHandleTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTextureHandle *) x));
}
static void *_p_iGeneralMeshStateTo_p_iBase(void *x) {
    return (void *)((iBase *) (iGeneralMeshCommonState *) ((iGeneralMeshState *) x));
}
static void *_p_iDynamicsTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDynamics *) x));
}
static void *_p_iParameterESMTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iParameterESM *) x));
}
static void *_p_iSndSysSoftwareOutputFilterTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysSoftwareOutputFilter *) x));
}
static void *_p_iAwsIntKeyTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *) ((iAwsIntKey *) x));
}
static void *_p_iParticleBuiltinEmitterCylinderTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterCylinder *) x));
}
static void *_p_iSaverTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSaver *) x));
}
static void *_p_iODEDynamicSystemStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iODEDynamicSystemState *) x));
}
static void *_p_iMeshListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshList *) x));
}
static void *_p_iEventPlugTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEventPlug *) x));
}
static void *_p_iParticleBuiltinEmitterBoxTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterBox *) x));
}
static void *_p_iODEJointStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iODEJointState *) x));
}
static void *_p_iODEGeneralJointStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iODEGeneralJointState *) x));
}
static void *_p_iTextureWrapperTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTextureWrapper *) x));
}
static void *_p_iMaterialWrapperTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMaterialWrapper *) x));
}
static void *_p_iMeshWrapperTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshWrapper *) x));
}
static void *_p_iMeshFactoryWrapperTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshFactoryWrapper *) x));
}
static void *_p_iStringTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iString *) x));
}
static void *_p_iSndSysWrapperTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysWrapper *) x));
}
static void *_p_iSequenceWrapperTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSequenceWrapper *) x));
}
static void *_p_iEngineTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEngine *) x));
}
static void *_p_iConsoleWatcherTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iConsoleWatcher *) x));
}
static void *_p_iMaterialTo_p_iBase(void *x) {
    return (void *)((iBase *) (iShaderVariableContext *) ((iMaterial *) x));
}
static void *_p_iSimpleFormerStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSimpleFormerState *) x));
}
static void *_p_iSprite2DUVAnimationTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSprite2DUVAnimation *) x));
}
static void *_p_iPolygonMeshTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iPolygonMesh *) x));
}
static void *_p_iTerrainFactoryStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTerrainFactoryState *) x));
}
static void *_p_iThingFactoryStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iThingFactoryState *) x));
}
static void *_p_iSpriteCal3DFactoryStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSpriteCal3DFactoryState *) x));
}
static void *_p_iSprite3DFactoryStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSprite3DFactoryState *) x));
}
static void *_p_iSprite2DFactoryStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSprite2DFactoryState *) x));
}
static void *_p_iGeneralFactoryStateTo_p_iBase(void *x) {
    return (void *)((iBase *) (iGeneralMeshCommonState *) ((iGeneralFactoryState *) x));
}
static void *_p_iSCFTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSCF *) x));
}
static void *_p_iParticleEmitterTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iParticleEmitter *) x));
}
static void *_p_iDocumentTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDocument *) x));
}
static void *_p_iGraphics2DTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iGraphics2D *) x));
}
static void *_p_iShaderPriorityListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iShaderPriorityList *) x));
}
static void *_p_iSndSysSourceSoftware3DTo_p_iBase(void *x) {
    return (void *)((iBase *) (iSndSysSource *)(iSndSysSourceSoftware *) ((iSndSysSourceSoftware3D *) x));
}
static void *_p_iMeshObjectTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshObject *) x));
}
static void *_p_iSkeletonGraveyardTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonGraveyard *) x));
}
static void *_p_iDataBufferTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDataBuffer *) x));
}
static void *_p_iScriptObjectTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iScriptObject *) x));
}
static void *_p_iSequenceTimedOperationTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSequenceTimedOperation *) x));
}
static void *_p_iFontServerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iFontServer *) x));
}
static void *_p_scfImplementation1TcsPath_iPath_tTo_p_iBase(void *x) {
    return (void *)((iBase *) (iPath *) ((scfImplementation1<csPath,iPath > *) x));
}
static void *_p_iStringArrayTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iStringArray *) x));
}
static void *_p_iReporterTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iReporter *) x));
}
static void *_p_iPathTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iPath *) x));
}
static void *_p_iVisibilityObjectIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iVisibilityObjectIterator *) x));
}
static void *_p_iLightIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLightIterator *) x));
}
static void *_p_iSectorIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSectorIterator *) x));
}
static void *_p_iMeshWrapperIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshWrapperIterator *) x));
}
static void *_p_iObjectIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iObjectIterator *) x));
}
static void *_p_iObjectRegistryIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iObjectRegistryIterator *) x));
}
static void *_p_iEventAttributeIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEventAttributeIterator *) x));
}
static void *_p_iPluginIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iPluginIterator *) x));
}
static void *_p_iConfigIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iConfigIterator *) x));
}
static void *_p_iDocumentAttributeIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDocumentAttributeIterator *) x));
}
static void *_p_iDocumentNodeIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDocumentNodeIterator *) x));
}
static void *_p_iReporterIteratorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iReporterIterator *) x));
}
static void *_p_iMapNodeTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMapNode *) x));
}
static void *_p_iGenMeshAnimationControlTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iGenMeshAnimationControl *) x));
}
static void *_p_iObjectRegistryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iObjectRegistry *) x));
}
static void *_p_iEventNameRegistryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEventNameRegistry *) x));
}
static void *_p_iSndSysListenerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysListener *) x));
}
static void *_p_iVisibilityCullerListenerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iVisibilityCullerListener *) x));
}
static void *_p_iObjectModelListenerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iObjectModelListener *) x));
}
static void *_p_iCameraSectorListenerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iCameraSectorListener *) x));
}
static void *_p_iMovableListenerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMovableListener *) x));
}
static void *_p_iObjectNameChangeListenerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iObjectNameChangeListener *) x));
}
static void *_p_iDocumentSystemTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDocumentSystem *) x));
}
static void *_p_iReporterListenerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iReporterListener *) x));
}
static void *_p_iStandardReporterListenerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iStandardReporterListener *) x));
}
static void *_p_iSprite2DUVAnimationFrameTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSprite2DUVAnimationFrame *) x));
}
static void *_p_iSndSysSourceSoftwareTo_p_iBase(void *x) {
    return (void *)((iBase *) (iSndSysSource *) ((iSndSysSourceSoftware *) x));
}
static void *_p_iSndSysRendererSoftwareTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysRendererSoftware *) x));
}
static void *_p_iTerraFormerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTerraFormer *) x));
}
static void *_p_iSkeletonTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeleton *) x));
}
static void *_p_iSectorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSector *) x));
}
static void *_p_iSequenceTriggerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSequenceTrigger *) x));
}
static void *_p_iPortalContainerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iPortalContainer *) x));
}
static void *_p_iAwsKeyContainerTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *) ((iAwsKeyContainer *) x));
}
static void *_p_iODESliderJointTo_p_iBase(void *x) {
    return (void *)((iBase *) (iODEGeneralJointState *) ((iODESliderJoint *) x));
}
static void *_p_iODEAMotorJointTo_p_iBase(void *x) {
    return (void *)((iBase *) (iODEGeneralJointState *) ((iODEAMotorJoint *) x));
}
static void *_p_iODEHinge2JointTo_p_iBase(void *x) {
    return (void *)((iBase *) (iODEGeneralJointState *) ((iODEHinge2Joint *) x));
}
static void *_p_iRegionListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iRegionList *) x));
}
static void *_p_iCameraPositionListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iCameraPositionList *) x));
}
static void *_p_iSpriteActionTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSpriteAction *) x));
}
static void *_p_iLightListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLightList *) x));
}
static void *_p_iMeshObjectDrawCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshObjectDrawCallback *) x));
}
static void *_p_iSkeletonUpdateCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonUpdateCallback *) x));
}
static void *_p_iSkeletonScriptCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonScriptCallback *) x));
}
static void *_p_iSkeletonBoneUpdateCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonBoneUpdateCallback *) x));
}
static void *_p_iPortalCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iPortalCallback *) x));
}
static void *_p_iLightCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLightCallback *) x));
}
static void *_p_iSectorCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSectorCallback *) x));
}
static void *_p_iSectorMeshCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSectorMeshCallback *) x));
}
static void *_p_iLightVisibleCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLightVisibleCallback *) x));
}
static void *_p_iEngineFrameCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEngineFrameCallback *) x));
}
static void *_p_iEngineSectorCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEngineSectorCallback *) x));
}
static void *_p_iTextureCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTextureCallback *) x));
}
static void *_p_iMeshDrawCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshDrawCallback *) x));
}
static void *_p_iVisibilityObjectTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iVisibilityObject *) x));
}
static void *_p_iSndSysStreamCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysStreamCallback *) x));
}
static void *_p_iSndSysRendererCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysRendererCallback *) x));
}
static void *_p_iObjectTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iObject *) x));
}
static void *_p_iOffscreenCanvasCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iOffscreenCanvasCallback *) x));
}
static void *_p_iDynamicsMoveCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDynamicsMoveCallback *) x));
}
static void *_p_iDynamicsCollisionCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDynamicsCollisionCallback *) x));
}
static void *_p_iDynamicsColliderCollisionCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDynamicsColliderCollisionCallback *) x));
}
static void *_p_iODEFrameUpdateCallbackTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iODEFrameUpdateCallback *) x));
}
static void *_p_iCameraTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iCamera *) x));
}
static void *_p_iCommandLineParserTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iCommandLineParser *) x));
}
static void *_p_iMeshFactoryListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshFactoryList *) x));
}
static void *_p_iMeshObjectTypeTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshObjectType *) x));
}
static void *_p_iVirtualClockTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iVirtualClock *) x));
}
static void *_p_iGraphics3DTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iGraphics3D *) x));
}
static void *_p_iMovieRecorderTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMovieRecorder *) x));
}
static void *_p_iSprite2DStateTo_p_iBase(void *x) {
    return (void *)((iBase *) (iSprite2DFactoryState *) ((iSprite2DState *) x));
}
static void *_p_iParticleBuiltinEmitterSphereTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterSphere *) x));
}
static void *_p_iThingEnvironmentTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iThingEnvironment *) x));
}
static void *_p_iMovableTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMovable *) x));
}
static void *_p_iSceneNodeArrayTo_p_iBase(void *x) {
    return (void *)((iBase *) (iArrayReadOnly<iSceneNode * > *) ((iSceneNodeArray *) x));
}
static void *_p_iSectorListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSectorList *) x));
}
static void *_p_iShaderVariableContextTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iShaderVariableContext *) x));
}
static void *_p_iParticleSystemTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleSystemBase *) ((iParticleSystem *) x));
}
static void *_p_iSndSysSoftwareFilter3DTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysSoftwareFilter3D *) x));
}
static void *_p_iCollideSystemTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iCollideSystem *) x));
}
static void *_p_iDynamicSystemTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDynamicSystem *) x));
}
static void *_p_csPathTo_p_iBase(void *x) {
    return (void *)((iBase *) (iPath *)(scfImplementation1<csPath,iPath > *) ((csPath *) x));
}
static void *_p_iShaderCompilerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iShaderCompiler *) x));
}
static void *_p_iLightingProcessDataTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLightingProcessData *) x));
}
static void *_p_iCameraPositionTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iCameraPosition *) x));
}
static void *_p_iBinaryLoaderPluginTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iBinaryLoaderPlugin *) x));
}
static void *_p_iLoaderPluginTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLoaderPlugin *) x));
}
static void *_p_iHaloTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iHalo *) x));
}
static void *_p_iSpriteCal3DSocketTo_p_iBase(void *x) {
    return (void *)((iBase *) (iSpriteSocket *) ((iSpriteCal3DSocket *) x));
}
static void *_p_iSkeletonSocketTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonSocket *) x));
}
static void *_p_iSndSysStreamTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysStream *) x));
}
static void *_p_iVisibilityCullerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iVisibilityCuller *) x));
}
static void *_p_iGeneralMeshCommonStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iGeneralMeshCommonState *) x));
}
static void *_p_iConfigFileTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iConfigFile *) x));
}
static void *_p_iEventQueueTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEventQueue *) x));
}
static void *_p_iRigidBodyTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iRigidBody *) x));
}
static void *_p_iAwsComponentNodeTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *)(iAwsKeyContainer *) ((iAwsComponentNode *) x));
}
static void *_p_iEventOutletTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEventOutlet *) x));
}
static void *_p_iDocumentNodeTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDocumentNode *) x));
}
static void *_p_iSpriteCal3DStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSpriteCal3DState *) x));
}
static void *_p_iSprite3DStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSprite3DState *) x));
}
static void *_p_iKeyboardDriverTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iKeyboardDriver *) x));
}
static void *_p_iBodyGroupTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iBodyGroup *) x));
}
static void *_p_iFrustumViewTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iFrustumView *) x));
}
static void *_p_iAnimTimeUpdateHandlerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAnimTimeUpdateHandler *) x));
}
static void *_p_iEventHandlerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEventHandler *) x));
}
static void *_p_iPortalTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iPortal *) x));
}
static void *_p_iAwsTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAws *) x));
}
static void *_p_iEngineSequenceParametersTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEngineSequenceParameters *) x));
}
static void *_p_iAwsKeyTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsKey *) x));
}
static void *_p_iArrayChangeAllTcsSprite2DVertex_tTo_p_iBase(void *x) {
    return (void *)((iBase *) (iArrayReadOnly<csSprite2DVertex > *)(iArrayChangeElements<csSprite2DVertex > *) ((iArrayChangeAll<csSprite2DVertex > *) x));
}
static void *_p_iArrayChangeElementsTcsSprite2DVertex_tTo_p_iBase(void *x) {
    return (void *)((iBase *) (iArrayReadOnly<csSprite2DVertex > *) ((iArrayChangeElements<csSprite2DVertex > *) x));
}
static void *_p_iArrayReadOnlyTcsSprite2DVertex_tTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iArrayReadOnly<csSprite2DVertex > *) x));
}
static void *_p_iGenMeshAnimationControlTypeTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iGenMeshAnimationControlType *) x));
}
static void *_p_iFileTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iFile *) x));
}
static void *_p_iKeyComposerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iKeyComposer *) x));
}
static void *_p_iMaterialListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMaterialList *) x));
}
static void *_p_iAwsRectKeyTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *) ((iAwsRectKey *) x));
}
static void *_p_iParticleBuiltinEffectorVelocityFieldTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleEffector *) ((iParticleBuiltinEffectorVelocityField *) x));
}
static void *_p_iLightingProcessInfoTo_p_iBase(void *x) {
    return (void *)((iBase *) (iFrustumViewUserdata *) ((iLightingProcessInfo *) x));
}
static void *_p_iSpriteSocketTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSpriteSocket *) x));
}
static void *_p_iParticleBuiltinEmitterBaseTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleEmitter *) ((iParticleBuiltinEmitterBase *) x));
}
static void *_p_iParticleBuiltinEmitterConeTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterCone *) x));
}
static void *_p_iSndSysRendererTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysRenderer *) x));
}
static void *_p_iAwsComponentTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsSource *) ((iAwsComponent *) x));
}
static void *_p_iComponentTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iComponent *) x));
}
static void *_p_iAwsStringKeyTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *) ((iAwsStringKey *) x));
}
static void *_p_iGenMeshSkeletonControlStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iGenMeshSkeletonControlState *) x));
}
static void *_p_iAwsSourceTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsSource *) x));
}
static void *_p_iSndSysSourceTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysSource *) x));
}
static void *_p_iParticleBuiltinEffectorForceTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleEffector *) ((iParticleBuiltinEffectorForce *) x));
}
static void *_p_iVFSTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iVFS *) x));
}
static void *_p_iParticleBuiltinEffectorFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iParticleBuiltinEffectorFactory *) x));
}
static void *_p_iParticleBuiltinEmitterFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iParticleBuiltinEmitterFactory *) x));
}
static void *_p_iParticleSystemFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleSystemBase *) ((iParticleSystemFactory *) x));
}
static void *_p_iMeshObjectFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMeshObjectFactory *) x));
}
static void *_p_iSkeletonFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonFactory *) x));
}
static void *_p_iSkeletonSocketFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonSocketFactory *) x));
}
static void *_p_iSkeletonBoneFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonBoneFactory *) x));
}
static void *_p_iGenMeshAnimationControlFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iGenMeshAnimationControlFactory *) x));
}
static void *_p_iAwsConnectionNodeFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsConnectionNodeFactory *) x));
}
static void *_p_iAwsKeyFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsKeyFactory *) x));
}
static void *_p_iAwsComponentFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsComponentFactory *) x));
}
static void *_p_iFactoryTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iFactory *) x));
}
static void *_p_iSndSysSoftwareDriverTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysSoftwareDriver *) x));
}
static void *_p_iMouseDriverTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMouseDriver *) x));
}
static void *_p_iJoystickDriverTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iJoystickDriver *) x));
}
static void *_p_iSndSysLoaderTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysLoader *) x));
}
static void *_p_iLoaderTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLoader *) x));
}
static void *_p_iFrustumViewUserdataTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iFrustumViewUserdata *) x));
}
static void *_p_iAwsSinkTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsSink *) x));
}
static void *_p_iShaderTo_p_iBase(void *x) {
    return (void *)((iBase *) (iShaderVariableContext *) ((iShader *) x));
}
static void *_p_iTextureListTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTextureList *) x));
}
static void *_p_iNativeWindowTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iNativeWindow *) x));
}
static void *_p_iParticleSystemBaseTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iParticleSystemBase *) x));
}
static void *_p_iSpriteFrameTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSpriteFrame *) x));
}
static void *_p_iSkeletonScriptTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonScript *) x));
}
static void *_p_iFontDeleteNotifyTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iFontDeleteNotify *) x));
}
static void *_p_iThingStateTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iThingState *) x));
}
static void *_p_iAwsFloatKeyTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *) ((iAwsFloatKey *) x));
}
static void *_p_iJointTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iJoint *) x));
}
static void *_p_iShaderVariableAccessorTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iShaderVariableAccessor *) x));
}
static void *_p_iFontTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iFont *) x));
}
static void *_p_iTerraSamplerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTerraSampler *) x));
}
static void *_p_iArrayReadOnlyTcsShaderVariable_p_tTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iArrayReadOnly<csShaderVariable * > *) x));
}
static void *_p_iArrayChangeElementsTcsShaderVariable_p_tTo_p_iBase(void *x) {
    return (void *)((iBase *) (iArrayReadOnly<csShaderVariable * > *) ((iArrayChangeElements<csShaderVariable * > *) x));
}
static void *_p_iArrayChangeAllTcsShaderVariable_p_tTo_p_iBase(void *x) {
    return (void *)((iBase *) (iArrayReadOnly<csShaderVariable * > *)(iArrayChangeElements<csShaderVariable * > *) ((iArrayChangeAll<csShaderVariable * > *) x));
}
static void *_p_iSkeletonBoneTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonBone *) x));
}
static void *_p_iAwsSlotTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsSlot *) x));
}
static void *_p_iArrayReadOnlyTiSceneNode_p_tTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iArrayReadOnly<iSceneNode * > *) x));
}
static void *_p_iSceneNodeTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSceneNode *) x));
}
static void *_p_iLightTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iLight *) x));
}
static void *_p_iSkeletonScriptKeyFrameTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonScriptKeyFrame *) x));
}
static void *_p_iParticleBuiltinEffectorLinColorTo_p_iBase(void *x) {
    return (void *)((iBase *) (iParticleEffector *) ((iParticleBuiltinEffectorLinColor *) x));
}
static void *_p_iShaderVarStackTo_p_iBase(void *x) {
    return (void *)((iBase *) (iArrayReadOnly<csShaderVariable * > *)(iArrayChangeElements<csShaderVariable * > *)(iArrayChangeAll<csShaderVariable * > *) ((iShaderVarStack *) x));
}
static void *_p_iViewTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iView *) x));
}
static void *_p_iGeneralMeshSubMeshTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iGeneralMeshSubMesh *) x));
}
static void *_p_iColliderTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iCollider *) x));
}
static void *_p_iDynamicsSystemColliderTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iDynamicsSystemCollider *) x));
}
static void *_p_iODEUniversalJointTo_p_iBase(void *x) {
    return (void *)((iBase *) (iODEGeneralJointState *) ((iODEUniversalJoint *) x));
}
static void *_p_iPolygonHandleTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iPolygonHandle *) x));
}
static void *_p_iObjectModelTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iObjectModel *) x));
}
static void *_p_iAwsConnectionKeyTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *) ((iAwsConnectionKey *) x));
}
static void *_p_iSkeletonBoneRagdollInfoTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSkeletonBoneRagdollInfo *) x));
}
static void *_p_iMissingLoaderDataTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iMissingLoaderData *) x));
}
static void *_p_iRegionTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iRegion *) x));
}
static void *_p_iStringSetTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iStringSet *) x));
}
static void *_p_iColoredVerticesTo_p_iBase(void *x) {
    return (void *)((iBase *) (iArrayReadOnly<csSprite2DVertex > *)(iArrayChangeElements<csSprite2DVertex > *)(iArrayChangeAll<csSprite2DVertex > *) ((iColoredVertices *) x));
}
static void *_p_iAwsLayoutManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsLayoutManager *) x));
}
static void *_p_iAwsSinkManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsSinkManager *) x));
}
static void *_p_iAwsPrefManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iAwsPrefManager *) x));
}
static void *_p_iSndSysManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysManager *) x));
}
static void *_p_iCacheManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iCacheManager *) x));
}
static void *_p_iPluginManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iPluginManager *) x));
}
static void *_p_iConfigManagerTo_p_iBase(void *x) {
    return (void *)((iBase *) (iConfigFile *) ((iConfigManager *) x));
}
static void *_p_iNativeWindowManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iNativeWindowManager *) x));
}
static void *_p_iShaderManagerTo_p_iBase(void *x) {
    return (void *)((iBase *) (iShaderVariableContext *) ((iShaderManager *) x));
}
static void *_p_iTextureManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iTextureManager *) x));
}
static void *_p_iEngineSequenceManagerTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEngineSequenceManager *) x));
}
static void *_p_iAwsPointKeyTo_p_iBase(void *x) {
    return (void *)((iBase *) (iAwsKey *) ((iAwsPointKey *) x));
}
static void *_p_iScriptTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iScript *) x));
}
static void *_p_iSndSysDataTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iSndSysData *) x));
}
static void *_p_iEventCordTo_p_iBase(void *x) {
    return (void *)((iBase *)  ((iEventCord *) x));
}
static void *_p_f_p_iBase__p_iAwsRGBKeyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *) ((iAwsRGBKey *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEventTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEvent *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iRendererLightmapTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iRendererLightmap *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSuperLightmapTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSuperLightmap *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iConsoleOutputTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iConsoleOutput *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTerrainObjectStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTerrainObjectState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iClipper2DTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iClipper2D *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleEffectorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iParticleEffector *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDebugHelperTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDebugHelper *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEDynamicStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iODEDynamicState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMaterialEngineTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMaterialEngine *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDocumentAttributeTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDocumentAttribute *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iImageIOTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iImageIO *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEHingeJointTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iODEGeneralJointState *) ((iODEHingeJoint *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLoaderStatusTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLoaderStatus *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iImageTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iImage *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEBallJointTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iODEBallJoint *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTextureHandleTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTextureHandle *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGeneralMeshStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iGeneralMeshCommonState *) ((iGeneralMeshState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDynamicsTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDynamics *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParameterESMTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iParameterESM *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysSoftwareOutputFilterTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysSoftwareOutputFilter *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsIntKeyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *) ((iAwsIntKey *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEmitterCylinderTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterCylinder *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSaverTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSaver *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEDynamicSystemStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iODEDynamicSystemState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEventPlugTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEventPlug *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEmitterBoxTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterBox *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEJointStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iODEJointState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEGeneralJointStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iODEGeneralJointState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTextureWrapperTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTextureWrapper *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMaterialWrapperTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMaterialWrapper *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshWrapperTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshWrapper *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshFactoryWrapperTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshFactoryWrapper *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iStringTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iString *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysWrapperTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysWrapper *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSequenceWrapperTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSequenceWrapper *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEngineTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEngine *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iConsoleWatcherTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iConsoleWatcher *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMaterialTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iShaderVariableContext *) ((iMaterial *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSimpleFormerStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSimpleFormerState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSprite2DUVAnimationTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSprite2DUVAnimation *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iPolygonMeshTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iPolygonMesh *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTerrainFactoryStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTerrainFactoryState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iThingFactoryStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iThingFactoryState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSpriteCal3DFactoryStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSpriteCal3DFactoryState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSprite3DFactoryStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSprite3DFactoryState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSprite2DFactoryStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSprite2DFactoryState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGeneralFactoryStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iGeneralMeshCommonState *) ((iGeneralFactoryState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSCFTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSCF *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleEmitterTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iParticleEmitter *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDocumentTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDocument *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGraphics2DTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iGraphics2D *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iShaderPriorityListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iShaderPriorityList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysSourceSoftware3DTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iSndSysSource *)(iSndSysSourceSoftware *) ((iSndSysSourceSoftware3D *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshObjectTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshObject *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonGraveyardTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonGraveyard *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDataBufferTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDataBuffer *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iScriptObjectTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iScriptObject *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSequenceTimedOperationTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSequenceTimedOperation *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iFontServerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iFontServer *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_scfImplementation1TcsPath_iPath_tTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iPath *) ((scfImplementation1<csPath,iPath > *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iStringArrayTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iStringArray *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iReporterTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iReporter *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iPathTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iPath *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iVisibilityObjectIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iVisibilityObjectIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLightIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLightIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSectorIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSectorIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshWrapperIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshWrapperIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iObjectIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iObjectIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iObjectRegistryIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iObjectRegistryIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEventAttributeIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEventAttributeIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iPluginIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iPluginIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iConfigIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iConfigIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDocumentAttributeIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDocumentAttributeIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDocumentNodeIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDocumentNodeIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iReporterIteratorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iReporterIterator *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMapNodeTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMapNode *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGenMeshAnimationControlTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iGenMeshAnimationControl *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iObjectRegistryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iObjectRegistry *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEventNameRegistryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEventNameRegistry *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysListenerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysListener *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iVisibilityCullerListenerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iVisibilityCullerListener *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iObjectModelListenerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iObjectModelListener *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iCameraSectorListenerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iCameraSectorListener *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMovableListenerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMovableListener *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iObjectNameChangeListenerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iObjectNameChangeListener *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDocumentSystemTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDocumentSystem *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iReporterListenerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iReporterListener *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iStandardReporterListenerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iStandardReporterListener *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSprite2DUVAnimationFrameTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSprite2DUVAnimationFrame *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysSourceSoftwareTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iSndSysSource *) ((iSndSysSourceSoftware *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysRendererSoftwareTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysRendererSoftware *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTerraFormerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTerraFormer *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeleton *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSectorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSector *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSequenceTriggerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSequenceTrigger *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iPortalContainerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iPortalContainer *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsKeyContainerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *) ((iAwsKeyContainer *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODESliderJointTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iODEGeneralJointState *) ((iODESliderJoint *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEAMotorJointTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iODEGeneralJointState *) ((iODEAMotorJoint *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEHinge2JointTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iODEGeneralJointState *) ((iODEHinge2Joint *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iRegionListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iRegionList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iCameraPositionListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iCameraPositionList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSpriteActionTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSpriteAction *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLightListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLightList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshObjectDrawCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshObjectDrawCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonUpdateCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonUpdateCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonScriptCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonScriptCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonBoneUpdateCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonBoneUpdateCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iPortalCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iPortalCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLightCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLightCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSectorCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSectorCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSectorMeshCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSectorMeshCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLightVisibleCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLightVisibleCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEngineFrameCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEngineFrameCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEngineSectorCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEngineSectorCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTextureCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTextureCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshDrawCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshDrawCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iVisibilityObjectTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iVisibilityObject *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysStreamCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysStreamCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysRendererCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysRendererCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iObjectTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iObject *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iOffscreenCanvasCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iOffscreenCanvasCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDynamicsMoveCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDynamicsMoveCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDynamicsCollisionCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDynamicsCollisionCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDynamicsColliderCollisionCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDynamicsColliderCollisionCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEFrameUpdateCallbackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iODEFrameUpdateCallback *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iCameraTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iCamera *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iCommandLineParserTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iCommandLineParser *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshFactoryListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshFactoryList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshObjectTypeTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshObjectType *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iVirtualClockTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iVirtualClock *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGraphics3DTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iGraphics3D *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMovieRecorderTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMovieRecorder *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSprite2DStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iSprite2DFactoryState *) ((iSprite2DState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEmitterSphereTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterSphere *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iThingEnvironmentTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iThingEnvironment *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMovableTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMovable *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSceneNodeArrayTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iArrayReadOnly<iSceneNode * > *) ((iSceneNodeArray *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSectorListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSectorList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iShaderVariableContextTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iShaderVariableContext *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleSystemTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleSystemBase *) ((iParticleSystem *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysSoftwareFilter3DTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysSoftwareFilter3D *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iCollideSystemTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iCollideSystem *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDynamicSystemTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDynamicSystem *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_csPathTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iPath *)(scfImplementation1<csPath,iPath > *) ((csPath *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iShaderCompilerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iShaderCompiler *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLightingProcessDataTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLightingProcessData *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iCameraPositionTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iCameraPosition *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iBinaryLoaderPluginTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iBinaryLoaderPlugin *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLoaderPluginTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLoaderPlugin *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iHaloTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iHalo *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSpriteCal3DSocketTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iSpriteSocket *) ((iSpriteCal3DSocket *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonSocketTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonSocket *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysStreamTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysStream *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iVisibilityCullerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iVisibilityCuller *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGeneralMeshCommonStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iGeneralMeshCommonState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iConfigFileTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iConfigFile *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEventQueueTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEventQueue *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iRigidBodyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iRigidBody *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsComponentNodeTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *)(iAwsKeyContainer *) ((iAwsComponentNode *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEventOutletTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEventOutlet *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDocumentNodeTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDocumentNode *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSpriteCal3DStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSpriteCal3DState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSprite3DStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSprite3DState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iKeyboardDriverTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iKeyboardDriver *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iBodyGroupTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iBodyGroup *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iFrustumViewTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iFrustumView *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAnimTimeUpdateHandlerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAnimTimeUpdateHandler *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEventHandlerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEventHandler *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iPortalTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iPortal *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAws *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEngineSequenceParametersTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEngineSequenceParameters *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsKeyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsKey *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_tTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iArrayReadOnly<csSprite2DVertex > *)(iArrayChangeElements<csSprite2DVertex > *) ((iArrayChangeAll<csSprite2DVertex > *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_tTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iArrayReadOnly<csSprite2DVertex > *) ((iArrayChangeElements<csSprite2DVertex > *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_tTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iArrayReadOnly<csSprite2DVertex > *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGenMeshAnimationControlTypeTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iGenMeshAnimationControlType *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iFileTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iFile *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iKeyComposerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iKeyComposer *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMaterialListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMaterialList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsRectKeyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *) ((iAwsRectKey *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEffectorVelocityFieldTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleEffector *) ((iParticleBuiltinEffectorVelocityField *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLightingProcessInfoTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iFrustumViewUserdata *) ((iLightingProcessInfo *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSpriteSocketTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSpriteSocket *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEmitterBaseTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleEmitter *) ((iParticleBuiltinEmitterBase *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEmitterConeTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleEmitter *)(iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterCone *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysRendererTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysRenderer *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsComponentTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsSource *) ((iAwsComponent *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iComponentTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iComponent *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsStringKeyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *) ((iAwsStringKey *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGenMeshSkeletonControlStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iGenMeshSkeletonControlState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsSourceTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsSource *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysSourceTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysSource *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEffectorForceTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleEffector *) ((iParticleBuiltinEffectorForce *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iVFSTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iVFS *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEffectorFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iParticleBuiltinEffectorFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEmitterFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iParticleBuiltinEmitterFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleSystemFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleSystemBase *) ((iParticleSystemFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMeshObjectFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMeshObjectFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonSocketFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonSocketFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonBoneFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonBoneFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGenMeshAnimationControlFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iGenMeshAnimationControlFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsConnectionNodeFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsConnectionNodeFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsKeyFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsKeyFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsComponentFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsComponentFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iFactoryTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iFactory *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysSoftwareDriverTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysSoftwareDriver *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMouseDriverTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMouseDriver *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iJoystickDriverTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iJoystickDriver *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysLoaderTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysLoader *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLoaderTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLoader *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iFrustumViewUserdataTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iFrustumViewUserdata *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsSinkTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsSink *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iShaderTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iShaderVariableContext *) ((iShader *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTextureListTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTextureList *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iNativeWindowTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iNativeWindow *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleSystemBaseTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iParticleSystemBase *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSpriteFrameTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSpriteFrame *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonScriptTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonScript *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iFontDeleteNotifyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iFontDeleteNotify *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iThingStateTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iThingState *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsFloatKeyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *) ((iAwsFloatKey *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iJointTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iJoint *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iShaderVariableAccessorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iShaderVariableAccessor *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iFontTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iFont *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTerraSamplerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTerraSampler *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_tTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iArrayReadOnly<csShaderVariable * > *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_tTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iArrayReadOnly<csShaderVariable * > *) ((iArrayChangeElements<csShaderVariable * > *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_tTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iArrayReadOnly<csShaderVariable * > *)(iArrayChangeElements<csShaderVariable * > *) ((iArrayChangeAll<csShaderVariable * > *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonBoneTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonBone *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsSlotTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsSlot *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_tTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iArrayReadOnly<iSceneNode * > *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSceneNodeTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSceneNode *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iLightTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iLight *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonScriptKeyFrameTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonScriptKeyFrame *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iParticleBuiltinEffectorLinColorTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iParticleEffector *) ((iParticleBuiltinEffectorLinColor *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iShaderVarStackTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iArrayReadOnly<csShaderVariable * > *)(iArrayChangeElements<csShaderVariable * > *)(iArrayChangeAll<csShaderVariable * > *) ((iShaderVarStack *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iViewTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iView *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iGeneralMeshSubMeshTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iGeneralMeshSubMesh *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iColliderTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iCollider *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iDynamicsSystemColliderTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iDynamicsSystemCollider *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iODEUniversalJointTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iODEGeneralJointState *) ((iODEUniversalJoint *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iPolygonHandleTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iPolygonHandle *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iObjectModelTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iObjectModel *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsConnectionKeyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *) ((iAwsConnectionKey *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSkeletonBoneRagdollInfoTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSkeletonBoneRagdollInfo *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iMissingLoaderDataTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iMissingLoaderData *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iRegionTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iRegion *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iStringSetTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iStringSet *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iColoredVerticesTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iArrayReadOnly<csSprite2DVertex > *)(iArrayChangeElements<csSprite2DVertex > *)(iArrayChangeAll<csSprite2DVertex > *) ((iColoredVertices *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsLayoutManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsLayoutManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsSinkManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsSinkManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsPrefManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iAwsPrefManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iCacheManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iCacheManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iPluginManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iPluginManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iConfigManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iConfigFile *) ((iConfigManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iNativeWindowManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iNativeWindowManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iShaderManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iShaderVariableContext *) ((iShaderManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iTextureManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iTextureManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEngineSequenceManagerTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEngineSequenceManager *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iAwsPointKeyTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *)) (iAwsKey *) ((iAwsPointKey *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iScriptTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iScript *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iSndSysDataTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iSndSysData *(*)(iBase *)) x));
}
static void *_p_f_p_iBase__p_iEventCordTo_p_f_p_iBase__p_iBase(void *x) {
    return (void *)((iBase *(*)(iBase *))  ((iEventCord *(*)(iBase *)) x));
}
static void *_p_csPathTo_p_scfImplementation1TcsPath_iPath_t(void *x) {
    return (void *)((scfImplementation1<csPath,iPath > *)  ((csPath *) x));
}
static void *_p_iSprite2DStateTo_p_iSprite2DFactoryState(void *x) {
    return (void *)((iSprite2DFactoryState *)  ((iSprite2DState *) x));
}
static void *_p_iODEUniversalJointTo_p_iODEGeneralJointState(void *x) {
    return (void *)((iODEGeneralJointState *)  ((iODEUniversalJoint *) x));
}
static void *_p_iODEHingeJointTo_p_iODEGeneralJointState(void *x) {
    return (void *)((iODEGeneralJointState *)  ((iODEHingeJoint *) x));
}
static void *_p_iODESliderJointTo_p_iODEGeneralJointState(void *x) {
    return (void *)((iODEGeneralJointState *)  ((iODESliderJoint *) x));
}
static void *_p_iODEAMotorJointTo_p_iODEGeneralJointState(void *x) {
    return (void *)((iODEGeneralJointState *)  ((iODEAMotorJoint *) x));
}
static void *_p_iODEHinge2JointTo_p_iODEGeneralJointState(void *x) {
    return (void *)((iODEGeneralJointState *)  ((iODEHinge2Joint *) x));
}
static void *_p_iShaderVarStackTo_p_iArrayChangeElementsTcsShaderVariable_p_t(void *x) {
    return (void *)((iArrayChangeElements<csShaderVariable * > *) (iArrayChangeAll<csShaderVariable * > *) ((iShaderVarStack *) x));
}
static void *_p_iArrayChangeAllTcsShaderVariable_p_tTo_p_iArrayChangeElementsTcsShaderVariable_p_t(void *x) {
    return (void *)((iArrayChangeElements<csShaderVariable * > *)  ((iArrayChangeAll<csShaderVariable * > *) x));
}
static void *_p_iShaderVarStackTo_p_iArrayReadOnlyTcsShaderVariable_p_t(void *x) {
    return (void *)((iArrayReadOnly<csShaderVariable * > *) (iArrayChangeElements<csShaderVariable * > *)(iArrayChangeAll<csShaderVariable * > *) ((iShaderVarStack *) x));
}
static void *_p_iArrayChangeElementsTcsShaderVariable_p_tTo_p_iArrayReadOnlyTcsShaderVariable_p_t(void *x) {
    return (void *)((iArrayReadOnly<csShaderVariable * > *)  ((iArrayChangeElements<csShaderVariable * > *) x));
}
static void *_p_iArrayChangeAllTcsShaderVariable_p_tTo_p_iArrayReadOnlyTcsShaderVariable_p_t(void *x) {
    return (void *)((iArrayReadOnly<csShaderVariable * > *) (iArrayChangeElements<csShaderVariable * > *) ((iArrayChangeAll<csShaderVariable * > *) x));
}
static void *_p_iShaderVarStackTo_p_iArrayChangeAllTcsShaderVariable_p_t(void *x) {
    return (void *)((iArrayChangeAll<csShaderVariable * > *)  ((iShaderVarStack *) x));
}
static void *_p_iLightingProcessInfoTo_p_iFrustumViewUserdata(void *x) {
    return (void *)((iFrustumViewUserdata *)  ((iLightingProcessInfo *) x));
}
static void *_p_iShaderManagerTo_p_iShaderVariableContext(void *x) {
    return (void *)((iShaderVariableContext *)  ((iShaderManager *) x));
}
static void *_p_iShaderTo_p_iShaderVariableContext(void *x) {
    return (void *)((iShaderVariableContext *)  ((iShader *) x));
}
static void *_p_iMaterialTo_p_iShaderVariableContext(void *x) {
    return (void *)((iShaderVariableContext *)  ((iMaterial *) x));
}
static void *_p_iGeneralMeshStateTo_p_iGeneralMeshCommonState(void *x) {
    return (void *)((iGeneralMeshCommonState *)  ((iGeneralMeshState *) x));
}
static void *_p_iGeneralFactoryStateTo_p_iGeneralMeshCommonState(void *x) {
    return (void *)((iGeneralMeshCommonState *)  ((iGeneralFactoryState *) x));
}
static void *_p_csXRotMatrix3To_p_csMatrix3(void *x) {
    return (void *)((csMatrix3 *)  ((csXRotMatrix3 *) x));
}
static void *_p_csYRotMatrix3To_p_csMatrix3(void *x) {
    return (void *)((csMatrix3 *)  ((csYRotMatrix3 *) x));
}
static void *_p_csZRotMatrix3To_p_csMatrix3(void *x) {
    return (void *)((csMatrix3 *)  ((csZRotMatrix3 *) x));
}
static void *_p_csXScaleMatrix3To_p_csMatrix3(void *x) {
    return (void *)((csMatrix3 *)  ((csXScaleMatrix3 *) x));
}
static void *_p_csYScaleMatrix3To_p_csMatrix3(void *x) {
    return (void *)((csMatrix3 *)  ((csYScaleMatrix3 *) x));
}
static void *_p_csZScaleMatrix3To_p_csMatrix3(void *x) {
    return (void *)((csMatrix3 *)  ((csZScaleMatrix3 *) x));
}
static void *_p_iParticleBuiltinEffectorVelocityFieldTo_p_iParticleEffector(void *x) {
    return (void *)((iParticleEffector *)  ((iParticleBuiltinEffectorVelocityField *) x));
}
static void *_p_iParticleBuiltinEffectorForceTo_p_iParticleEffector(void *x) {
    return (void *)((iParticleEffector *)  ((iParticleBuiltinEffectorForce *) x));
}
static void *_p_iParticleBuiltinEffectorLinColorTo_p_iParticleEffector(void *x) {
    return (void *)((iParticleEffector *)  ((iParticleBuiltinEffectorLinColor *) x));
}
static void *_p_iParticleSystemTo_p_iParticleSystemBase(void *x) {
    return (void *)((iParticleSystemBase *)  ((iParticleSystem *) x));
}
static void *_p_iParticleSystemFactoryTo_p_iParticleSystemBase(void *x) {
    return (void *)((iParticleSystemBase *)  ((iParticleSystemFactory *) x));
}
static void *_p_iSndSysSourceSoftware3DTo_p_iSndSysSourceSoftware(void *x) {
    return (void *)((iSndSysSourceSoftware *)  ((iSndSysSourceSoftware3D *) x));
}
static void *_p_csColor4To_p_csColor(void *x) {
    return (void *)((csColor *)  ((csColor4 *) x));
}
static void *_p_csBSplineTo_p_csSpline(void *x) {
    return (void *)((csSpline *)  ((csBSpline *) x));
}
static void *_p_csCubicSplineTo_p_csSpline(void *x) {
    return (void *)((csSpline *)  ((csCubicSpline *) x));
}
static void *_p_csCatmullRomSplineTo_p_csSpline(void *x) {
    return (void *)((csSpline *) (csBSpline *) ((csCatmullRomSpline *) x));
}
static void *_p_iColoredVerticesTo_p_iArrayChangeAllTcsSprite2DVertex_t(void *x) {
    return (void *)((iArrayChangeAll<csSprite2DVertex > *)  ((iColoredVertices *) x));
}
static void *_p_iArrayChangeAllTcsSprite2DVertex_tTo_p_iArrayChangeElementsTcsSprite2DVertex_t(void *x) {
    return (void *)((iArrayChangeElements<csSprite2DVertex > *)  ((iArrayChangeAll<csSprite2DVertex > *) x));
}
static void *_p_iColoredVerticesTo_p_iArrayChangeElementsTcsSprite2DVertex_t(void *x) {
    return (void *)((iArrayChangeElements<csSprite2DVertex > *) (iArrayChangeAll<csSprite2DVertex > *) ((iColoredVertices *) x));
}
static void *_p_iArrayChangeElementsTcsSprite2DVertex_tTo_p_iArrayReadOnlyTcsSprite2DVertex_t(void *x) {
    return (void *)((iArrayReadOnly<csSprite2DVertex > *)  ((iArrayChangeElements<csSprite2DVertex > *) x));
}
static void *_p_iArrayChangeAllTcsSprite2DVertex_tTo_p_iArrayReadOnlyTcsSprite2DVertex_t(void *x) {
    return (void *)((iArrayReadOnly<csSprite2DVertex > *) (iArrayChangeElements<csSprite2DVertex > *) ((iArrayChangeAll<csSprite2DVertex > *) x));
}
static void *_p_iColoredVerticesTo_p_iArrayReadOnlyTcsSprite2DVertex_t(void *x) {
    return (void *)((iArrayReadOnly<csSprite2DVertex > *) (iArrayChangeElements<csSprite2DVertex > *)(iArrayChangeAll<csSprite2DVertex > *) ((iColoredVertices *) x));
}
static void *_p_iSceneNodeArrayTo_p_iArrayReadOnlyTiSceneNode_p_t(void *x) {
    return (void *)((iArrayReadOnly<iSceneNode * > *)  ((iSceneNodeArray *) x));
}
static void *_p_csCatmullRomSplineTo_p_csBSpline(void *x) {
    return (void *)((csBSpline *)  ((csCatmullRomSpline *) x));
}
static void *_p_iConfigManagerTo_p_iConfigFile(void *x) {
    return (void *)((iConfigFile *)  ((iConfigManager *) x));
}
static void *_p_iAwsComponentNodeTo_p_iAwsKeyContainer(void *x) {
    return (void *)((iAwsKeyContainer *)  ((iAwsComponentNode *) x));
}
static void *_p_csStringTo_p_csStringFastT36_t(void *x) {
    return (void *)((csStringFast<36 > *)  ((csString *) x));
}
static void *_p_csArrayCapacityDefaultTo_p_csArrayCapacityLinearTcsArrayThresholdVariable_t(void *x) {
    return (void *)((csArrayCapacityLinear<csArrayThresholdVariable > *)  ((csArrayCapacityDefault *) x));
}
static void *_p_iAwsRectKeyTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *)  ((iAwsRectKey *) x));
}
static void *_p_iAwsConnectionKeyTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *)  ((iAwsConnectionKey *) x));
}
static void *_p_iAwsPointKeyTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *)  ((iAwsPointKey *) x));
}
static void *_p_iAwsIntKeyTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *)  ((iAwsIntKey *) x));
}
static void *_p_iAwsStringKeyTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *)  ((iAwsStringKey *) x));
}
static void *_p_iAwsRGBKeyTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *)  ((iAwsRGBKey *) x));
}
static void *_p_iAwsKeyContainerTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *)  ((iAwsKeyContainer *) x));
}
static void *_p_iAwsComponentNodeTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *) (iAwsKeyContainer *) ((iAwsComponentNode *) x));
}
static void *_p_iAwsFloatKeyTo_p_iAwsKey(void *x) {
    return (void *)((iAwsKey *)  ((iAwsFloatKey *) x));
}
static void *_p_iParticleBuiltinEmitterConeTo_p_iParticleBuiltinEmitterBase(void *x) {
    return (void *)((iParticleBuiltinEmitterBase *)  ((iParticleBuiltinEmitterCone *) x));
}
static void *_p_iParticleBuiltinEmitterBoxTo_p_iParticleBuiltinEmitterBase(void *x) {
    return (void *)((iParticleBuiltinEmitterBase *)  ((iParticleBuiltinEmitterBox *) x));
}
static void *_p_iParticleBuiltinEmitterSphereTo_p_iParticleBuiltinEmitterBase(void *x) {
    return (void *)((iParticleBuiltinEmitterBase *)  ((iParticleBuiltinEmitterSphere *) x));
}
static void *_p_iParticleBuiltinEmitterCylinderTo_p_iParticleBuiltinEmitterBase(void *x) {
    return (void *)((iParticleBuiltinEmitterBase *)  ((iParticleBuiltinEmitterCylinder *) x));
}
static void *_p_iSndSysSourceSoftware3DTo_p_iSndSysSource(void *x) {
    return (void *)((iSndSysSource *) (iSndSysSourceSoftware *) ((iSndSysSourceSoftware3D *) x));
}
static void *_p_iSndSysSourceSoftwareTo_p_iSndSysSource(void *x) {
    return (void *)((iSndSysSource *)  ((iSndSysSourceSoftware *) x));
}
static void *_p_iAwsComponentTo_p_iAwsSource(void *x) {
    return (void *)((iAwsSource *)  ((iAwsComponent *) x));
}
static void *_p_csSimplePixmapTo_p_csPixmap(void *x) {
    return (void *)((csPixmap *)  ((csSimplePixmap *) x));
}
static void *_p_csArrayCapacityDefaultTo_p_csArrayThresholdVariable(void *x) {
    return (void *)((csArrayThresholdVariable *) (csArrayCapacityLinear<csArrayThresholdVariable > *) ((csArrayCapacityDefault *) x));
}
static void *_p_csArrayCapacityLinearTcsArrayThresholdVariable_tTo_p_csArrayThresholdVariable(void *x) {
    return (void *)((csArrayThresholdVariable *)  ((csArrayCapacityLinear<csArrayThresholdVariable > *) x));
}
static void *_p_iSpriteCal3DSocketTo_p_iSpriteSocket(void *x) {
    return (void *)((iSpriteSocket *)  ((iSpriteCal3DSocket *) x));
}
static void *_p_csTriangleTo_p_CS__TriangleTTint_t(void *x) {
    return (void *)((CS::TriangleT<int > *)  ((csTriangle *) x));
}
static void *_p_csPathTo_p_iPath(void *x) {
    return (void *)((iPath *) (scfImplementation1<csPath,iPath > *) ((csPath *) x));
}
static void *_p_scfImplementation1TcsPath_iPath_tTo_p_iPath(void *x) {
    return (void *)((iPath *)  ((scfImplementation1<csPath,iPath > *) x));
}
static void *_p_csVector3ArrayTo_p_csPoly3D(void *x) {
    return (void *)((csPoly3D *)  ((csVector3Array *) x));
}
static void *_p_csOrthoTransformTo_p_csReversibleTransform(void *x) {
    return (void *)((csReversibleTransform *)  ((csOrthoTransform *) x));
}
static void *_p_csReversibleTransformTo_p_csTransform(void *x) {
    return (void *)((csTransform *)  ((csReversibleTransform *) x));
}
static void *_p_csOrthoTransformTo_p_csTransform(void *x) {
    return (void *)((csTransform *) (csReversibleTransform *) ((csOrthoTransform *) x));
}
static void *_p_p_csOrthoTransformTo_p_p_csReversibleTransform(void *x) {
    return (void *)((csReversibleTransform **)  ((csOrthoTransform **) x));
}
static void *_p_iParticleBuiltinEmitterBaseTo_p_iParticleEmitter(void *x) {
    return (void *)((iParticleEmitter *)  ((iParticleBuiltinEmitterBase *) x));
}
static void *_p_iParticleBuiltinEmitterConeTo_p_iParticleEmitter(void *x) {
    return (void *)((iParticleEmitter *) (iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterCone *) x));
}
static void *_p_iParticleBuiltinEmitterBoxTo_p_iParticleEmitter(void *x) {
    return (void *)((iParticleEmitter *) (iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterBox *) x));
}
static void *_p_iParticleBuiltinEmitterSphereTo_p_iParticleEmitter(void *x) {
    return (void *)((iParticleEmitter *) (iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterSphere *) x));
}
static void *_p_iParticleBuiltinEmitterCylinderTo_p_iParticleEmitter(void *x) {
    return (void *)((iParticleEmitter *) (iParticleBuiltinEmitterBase *) ((iParticleBuiltinEmitterCylinder *) x));
}
static swig_type_info _swigt__p_AllocatorType = {"_p_AllocatorType", "AllocatorType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_CS__Memory__AllocatorMalloc = {"_p_CS__Memory__AllocatorMalloc", "CS::Memory::AllocatorMalloc *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_CS__TriangleTTint_t = {"_p_CS__TriangleTTint_t", "CS::TriangleT<int > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_CalAnimationCallback = {"_p_CalAnimationCallback", "CalAnimationCallback *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_CalCoreModel = {"_p_CalCoreModel", "CalCoreModel *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_CalModel = {"_p_CalModel", "CalModel *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_CapacityHandlerType = {"_p_CapacityHandlerType", "CapacityHandlerType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_ContainedType = {"_p_ContainedType", "ContainedType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_ElementHandlerType = {"_p_ElementHandlerType", "ElementHandlerType *", 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_FileFormatDescription = {"_p_FileFormatDescription", "FileFormatDescription *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_HashType = {"_p_HashType", "HashType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_SndSysFilterLocation = {"_p_SndSysFilterLocation", "enum SndSysFilterLocation *|SndSysFilterLocation *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_ThisType = {"_p_ThisType", "ThisType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_ValueType = {"_p_ValueType", "ValueType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p__csKeyCharType = {"_p__csKeyCharType", "enum _csKeyCharType *|csKeyCharType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p__csKeyEventType = {"_p__csKeyEventType", "enum _csKeyEventType *|csKeyEventType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p__csKeyModifierNumType = {"_p__csKeyModifierNumType", "enum _csKeyModifierNumType *|csKeyModifierNumType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p__csKeyModifierType = {"_p__csKeyModifierType", "enum _csKeyModifierType *|csKeyModifierType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p__csKeyModifiers = {"_p__csKeyModifiers", "_csKeyModifiers *|csKeyModifiers *", 0, 0, (void*)"cspace::csKeyModifiers", 0};
static swig_type_info _swigt__p__csMouseCursorID = {"_p__csMouseCursorID", "enum _csMouseCursorID *|csMouseCursorID *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p__csMouseEventType = {"_p__csMouseEventType", "enum _csMouseEventType *|csMouseEventType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_awsConnectionNode = {"_p_awsConnectionNode", "awsConnectionNode *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_bool = {"_p_bool", "bool *", 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_csAlphaMode = {"_p_csAlphaMode", "csAlphaMode *", 0, 0, (void*)"cspace::csAlphaMode", 0};
static swig_type_info _swigt__p_csArrayCapacityDefault = {"_p_csArrayCapacityDefault", "csArrayCapacityDefault *", 0, 0, (void*)"cspace::csArrayCapacityDefault", 0};
static swig_type_info _swigt__p_csArrayCapacityLinearTcsArrayThresholdVariable_t = {"_p_csArrayCapacityLinearTcsArrayThresholdVariable_t", "csArrayCapacityLinear<csArrayThresholdVariable > *", 0, 0, (void*)"cspace::csArrayThresholdVariableCapacityLinear", 0};
static swig_type_info _swigt__p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<char > *|csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<csArray<char > > *|csArray<csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault >,csArrayElementHandler<csArray<char,csArrayElementHandler<char >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)"cspace::csCharArrayArray", 0};
static swig_type_info _swigt__p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<csImageIOFileFormatDescription const *,csArrayElementHandler<csImageIOFileFormatDescription const * >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *|csImageIOFileFormatDescriptions *", 0, 0, (void*)"cspace::csImageIOFileFormatDescriptions", 0};
static swig_type_info _swigt__p_csArrayTcsIntersectingTriangle_csArrayElementHandlerTcsIntersectingTriangle_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTcsIntersectingTriangle_csArrayElementHandlerTcsIntersectingTriangle_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<csIntersectingTriangle > *|csArray<csIntersectingTriangle,csArrayElementHandler<csIntersectingTriangle >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<csPluginRequest > *|csArray<csPluginRequest,csArrayElementHandler<csPluginRequest >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)"cspace::csPluginRequestArray", 0};
static swig_type_info _swigt__p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<csShaderVariable *,csArrayElementHandler<csShaderVariable * >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *|csShaderVarStack *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<csVector2 > *|csArray<csVector2,csArrayElementHandler<csVector2 >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<csVector3 > *|csArray<csVector3,csArrayElementHandler<csVector3 >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csArrayThresholdVariable = {"_p_csArrayThresholdVariable", "csArrayThresholdVariable *", 0, 0, (void*)"cspace::csArrayThresholdVariable", 0};
static swig_type_info _swigt__p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<iImage * > *|csArray<iImage *,csArrayElementHandler<iImage * >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<iLight * > *|csArray<iLight *,csArrayElementHandler<iLight * >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t = {"_p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t", "csArray<iMaterialWrapper * > *|csArray<iMaterialWrapper *,csArrayElementHandler<iMaterialWrapper * >,CS::Memory::AllocatorMalloc,csArrayCapacityDefault > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csBSpline = {"_p_csBSpline", "csBSpline *", 0, 0, (void*)"cspace::csBSpline", 0};
static swig_type_info _swigt__p_csBitmapMetrics = {"_p_csBitmapMetrics", "csBitmapMetrics *", 0, 0, (void*)"cspace::csBitmapMetrics", 0};
static swig_type_info _swigt__p_csBox2 = {"_p_csBox2", "csBox2 *", 0, 0, (void*)"cspace::csBox2", 0};
static swig_type_info _swigt__p_csBox3 = {"_p_csBox3", "csBox3 *", 0, 0, (void*)"cspace::csBox3", 0};
static swig_type_info _swigt__p_csCatmullRomSpline = {"_p_csCatmullRomSpline", "csCatmullRomSpline *", 0, 0, (void*)"cspace::csCatmullRomSpline", 0};
static swig_type_info _swigt__p_csColliderActor = {"_p_csColliderActor", "csColliderActor *", 0, 0, (void*)"cspace::csColliderActor", 0};
static swig_type_info _swigt__p_csColliderHelper = {"_p_csColliderHelper", "csColliderHelper *", 0, 0, (void*)"cspace::csColliderHelper", 0};
static swig_type_info _swigt__p_csColliderWrapper = {"_p_csColliderWrapper", "csColliderWrapper *", 0, 0, (void*)"cspace::csColliderWrapper", 0};
static swig_type_info _swigt__p_csCollisionPair = {"_p_csCollisionPair", "csCollisionPair *", 0, 0, (void*)"cspace::csCollisionPair", 0};
static swig_type_info _swigt__p_csColor = {"_p_csColor", "csColor *", 0, 0, (void*)"cspace::csColor", 0};
static swig_type_info _swigt__p_csColor4 = {"_p_csColor4", "csColor4 *", 0, 0, (void*)"cspace::csColor4", 0};
static swig_type_info _swigt__p_csCommandEventData = {"_p_csCommandEventData", "csCommandEventData *", 0, 0, (void*)"cspace::csCommandEventData", 0};
static swig_type_info _swigt__p_csCommandEventHelper = {"_p_csCommandEventHelper", "csCommandEventHelper *", 0, 0, (void*)"cspace::csCommandEventHelper", 0};
static swig_type_info _swigt__p_csCommandLineHelper = {"_p_csCommandLineHelper", "csCommandLineHelper *", 0, 0, (void*)"cspace::csCommandLineHelper", 0};
static swig_type_info _swigt__p_csCompressVertex = {"_p_csCompressVertex", "csCompressVertex *", 0, 0, (void*)"cspace::csCompressVertex", 0};
static swig_type_info _swigt__p_csCoreRenderMesh = {"_p_csCoreRenderMesh", "csCoreRenderMesh *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csCubicSpline = {"_p_csCubicSpline", "csCubicSpline *", 0, 0, (void*)"cspace::csCubicSpline", 0};
static swig_type_info _swigt__p_csDVector3 = {"_p_csDVector3", "csDVector3 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csEllipsoid = {"_p_csEllipsoid", "csEllipsoid *", 0, 0, (void*)"cspace::csEllipsoid", 0};
static swig_type_info _swigt__p_csEvent = {"_p_csEvent", "csEvent *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csEventNameRegistry = {"_p_csEventNameRegistry", "csEventNameRegistry *", 0, 0, (void*)"cspace::csEventNameRegistry", 0};
static swig_type_info _swigt__p_csFileTime = {"_p_csFileTime", "csFileTime *", 0, 0, (void*)"cspace::csFileTime", 0};
static swig_type_info _swigt__p_csFlags = {"_p_csFlags", "csFlags *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csFog = {"_p_csFog", "csFog *", 0, 0, (void*)"cspace::csFog", 0};
static swig_type_info _swigt__p_csFrustum = {"_p_csFrustum", "csFrustum *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csFrustumContext = {"_p_csFrustumContext", "csFrustumContext *", 0, 0, (void*)"cspace::csFrustumContext", 0};
static swig_type_info _swigt__p_csGeomDebugHelper = {"_p_csGeomDebugHelper", "csGeomDebugHelper *", 0, 0, (void*)"cspace::csGeomDebugHelper", 0};
static swig_type_info _swigt__p_csGlyphMetrics = {"_p_csGlyphMetrics", "csGlyphMetrics *", 0, 0, (void*)"cspace::csGlyphMetrics", 0};
static swig_type_info _swigt__p_csGraphics3DCaps = {"_p_csGraphics3DCaps", "csGraphics3DCaps *", 0, 0, (void*)"cspace::csGraphics3DCaps", 0};
static swig_type_info _swigt__p_csHandlerID = {"_p_csHandlerID", "csHandlerID *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csHashTcsRefTiShader_t_unsigned_long_CS__Memory__AllocatorMalloc_t = {"_p_csHashTcsRefTiShader_t_unsigned_long_CS__Memory__AllocatorMalloc_t", "csHash<csRef<iShader >,unsigned long > *|csHash<csRef<iShader >,csStringID > *|csHash<csRef<iShader >,unsigned long,CS::Memory::AllocatorMalloc > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csHitBeamResult = {"_p_csHitBeamResult", "csHitBeamResult *", 0, 0, (void*)"cspace::csHitBeamResult", 0};
static swig_type_info _swigt__p_csImageArea = {"_p_csImageArea", "csImageArea *", 0, 0, (void*)"cspace::csImageArea", 0};
static swig_type_info _swigt__p_csImageIOFileFormatDescription = {"_p_csImageIOFileFormatDescription", "csImageIOFileFormatDescription *|iImageIO::FileFormatDescription *", 0, 0, (void*)"cspace::csImageIOFileFormatDescription", 0};
static swig_type_info _swigt__p_csInitializer = {"_p_csInitializer", "csInitializer *", 0, 0, (void*)"cspace::csInitializer", 0};
static swig_type_info _swigt__p_csInputEventHelper = {"_p_csInputEventHelper", "csInputEventHelper *", 0, 0, (void*)"cspace::csInputEventHelper", 0};
static swig_type_info _swigt__p_csIntersect2 = {"_p_csIntersect2", "csIntersect2 *", 0, 0, (void*)"cspace::csIntersect2", 0};
static swig_type_info _swigt__p_csIntersect3 = {"_p_csIntersect3", "csIntersect3 *", 0, 0, (void*)"cspace::csIntersect3", 0};
static swig_type_info _swigt__p_csIntersectingTriangle = {"_p_csIntersectingTriangle", "csIntersectingTriangle *", 0, 0, (void*)"cspace::csIntersectingTriangle", 0};
static swig_type_info _swigt__p_csJoystickEventData = {"_p_csJoystickEventData", "csJoystickEventData *", 0, 0, (void*)"cspace::csJoystickEventData", 0};
static swig_type_info _swigt__p_csJoystickEventHelper = {"_p_csJoystickEventHelper", "csJoystickEventHelper *", 0, 0, (void*)"cspace::csJoystickEventHelper", 0};
static swig_type_info _swigt__p_csKeyEventData = {"_p_csKeyEventData", "csKeyEventData *", 0, 0, (void*)"cspace::csKeyEventData", 0};
static swig_type_info _swigt__p_csKeyEventHelper = {"_p_csKeyEventHelper", "csKeyEventHelper *", 0, 0, (void*)"cspace::csKeyEventHelper", 0};
static swig_type_info _swigt__p_csListenerProperties = {"_p_csListenerProperties", "csListenerProperties *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csMath2 = {"_p_csMath2", "csMath2 *", 0, 0, (void*)"cspace::csMath2", 0};
static swig_type_info _swigt__p_csMath3 = {"_p_csMath3", "csMath3 *", 0, 0, (void*)"cspace::csMath3", 0};
static swig_type_info _swigt__p_csMatrix2 = {"_p_csMatrix2", "csMatrix2 *", 0, 0, (void*)"cspace::csMatrix2", 0};
static swig_type_info _swigt__p_csMatrix3 = {"_p_csMatrix3", "csMatrix3 *", 0, 0, (void*)"cspace::csMatrix3", 0};
static swig_type_info _swigt__p_csMeshedPolygon = {"_p_csMeshedPolygon", "csMeshedPolygon *", 0, 0, (void*)"cspace::csMeshedPolygon", 0};
static swig_type_info _swigt__p_csMouseEventData = {"_p_csMouseEventData", "csMouseEventData *", 0, 0, (void*)"cspace::csMouseEventData", 0};
static swig_type_info _swigt__p_csMouseEventHelper = {"_p_csMouseEventHelper", "csMouseEventHelper *", 0, 0, (void*)"cspace::csMouseEventHelper", 0};
static swig_type_info _swigt__p_csOBB = {"_p_csOBB", "csOBB *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csObject = {"_p_csObject", "csObject *", 0, 0, (void*)"cspace::csObject", 0};
static swig_type_info _swigt__p_csOrthoTransform = {"_p_csOrthoTransform", "csOrthoTransform *", 0, 0, (void*)"cspace::csOrthoTransform", 0};
static swig_type_info _swigt__p_csParticle = {"_p_csParticle", "csParticle *", 0, 0, (void*)"cspace::csParticle", 0};
static swig_type_info _swigt__p_csParticleAux = {"_p_csParticleAux", "csParticleAux *", 0, 0, (void*)"cspace::csParticleAux", 0};
static swig_type_info _swigt__p_csParticleBuffer = {"_p_csParticleBuffer", "csParticleBuffer *", 0, 0, (void*)"cspace::csParticleBuffer", 0};
static swig_type_info _swigt__p_csPath = {"_p_csPath", "csPath *", 0, 0, (void*)"cspace::csPath", 0};
static swig_type_info _swigt__p_csPixelCoord = {"_p_csPixelCoord", "csPixelCoord *", 0, 0, (void*)"cspace::csPixelCoord", 0};
static swig_type_info _swigt__p_csPixelFormat = {"_p_csPixelFormat", "csPixelFormat *", 0, 0, (void*)"cspace::csPixelFormat", 0};
static swig_type_info _swigt__p_csPixmap = {"_p_csPixmap", "csPixmap *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPlane2 = {"_p_csPlane2", "csPlane2 *", 0, 0, (void*)"cspace::csPlane2", 0};
static swig_type_info _swigt__p_csPlane3 = {"_p_csPlane3", "csPlane3 *", 0, 0, (void*)"cspace::csPlane3", 0};
static swig_type_info _swigt__p_csPluginRequest = {"_p_csPluginRequest", "csPluginRequest *", 0, 0, (void*)"cspace::csPluginRequest", 0};
static swig_type_info _swigt__p_csPoly2D = {"_p_csPoly2D", "csPoly2D *", 0, 0, (void*)"cspace::csPoly2D", 0};
static swig_type_info _swigt__p_csPoly2DFactory = {"_p_csPoly2DFactory", "csPoly2DFactory *", 0, 0, (void*)"cspace::csPoly2DFactory", 0};
static swig_type_info _swigt__p_csPoly3D = {"_p_csPoly3D", "csPoly3D *", 0, 0, (void*)"cspace::csPoly3D", 0};
static swig_type_info _swigt__p_csPolygonMesh = {"_p_csPolygonMesh", "csPolygonMesh *", 0, 0, (void*)"cspace::csPolygonMesh", 0};
static swig_type_info _swigt__p_csPolygonMeshBox = {"_p_csPolygonMeshBox", "csPolygonMeshBox *", 0, 0, (void*)"cspace::csPolygonMeshBox", 0};
static swig_type_info _swigt__p_csPolygonRange = {"_p_csPolygonRange", "csPolygonRange *", 0, 0, (void*)"cspace::csPolygonRange", 0};
static swig_type_info _swigt__p_csPtrTcsFrustum_t = {"_p_csPtrTcsFrustum_t", "csPtr<csFrustum > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiBase_t = {"_p_csPtrTiBase_t", "csPtr<iBase > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiEngineSequenceParameters_t = {"_p_csPtrTiEngineSequenceParameters_t", "csPtr<iEngineSequenceParameters > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiEventOutlet_t = {"_p_csPtrTiEventOutlet_t", "csPtr<iEventOutlet > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiGenMeshAnimationControlFactory_t = {"_p_csPtrTiGenMeshAnimationControlFactory_t", "csPtr<iGenMeshAnimationControlFactory > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiGenMeshAnimationControl_t = {"_p_csPtrTiGenMeshAnimationControl_t", "csPtr<iGenMeshAnimationControl > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiKeyComposer_t = {"_p_csPtrTiKeyComposer_t", "csPtr<iKeyComposer > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiLightIterator_t = {"_p_csPtrTiLightIterator_t", "csPtr<iLightIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiLightingProcessData_t = {"_p_csPtrTiLightingProcessData_t", "csPtr<iLightingProcessData > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiLoaderContext_t = {"_p_csPtrTiLoaderContext_t", "csPtr<iLoaderContext > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiLoaderStatus_t = {"_p_csPtrTiLoaderStatus_t", "csPtr<iLoaderStatus > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiODEHinge2Joint_t = {"_p_csPtrTiODEHinge2Joint_t", "csPtr<iODEHinge2Joint > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiObjectIterator_t = {"_p_csPtrTiObjectIterator_t", "csPtr<iObjectIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiObjectRegistryIterator_t = {"_p_csPtrTiObjectRegistryIterator_t", "csPtr<iObjectRegistryIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiObjectWatcher_t = {"_p_csPtrTiObjectWatcher_t", "csPtr<iObjectWatcher > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiParameterESM_t = {"_p_csPtrTiParameterESM_t", "csPtr<iParameterESM > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiParticleBuiltinEffectorVelocityField_t = {"_p_csPtrTiParticleBuiltinEffectorVelocityField_t", "csPtr<iParticleBuiltinEffectorVelocityField > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiPluginIterator_t = {"_p_csPtrTiPluginIterator_t", "csPtr<iPluginIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiPolygonHandle_t = {"_p_csPtrTiPolygonHandle_t", "csPtr<iPolygonHandle > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiRendererLightmap_t = {"_p_csPtrTiRendererLightmap_t", "csPtr<iRendererLightmap > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiRigidBody_t = {"_p_csPtrTiRigidBody_t", "csPtr<iRigidBody > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiSectorIterator_t = {"_p_csPtrTiSectorIterator_t", "csPtr<iSectorIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiSequenceTrigger_t = {"_p_csPtrTiSequenceTrigger_t", "csPtr<iSequenceTrigger > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiSequenceWrapper_t = {"_p_csPtrTiSequenceWrapper_t", "csPtr<iSequenceWrapper > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiShaderPriorityList_t = {"_p_csPtrTiShaderPriorityList_t", "csPtr<iShaderPriorityList > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiShader_t = {"_p_csPtrTiShader_t", "csPtr<iShader > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiShadowBlockList_t = {"_p_csPtrTiShadowBlockList_t", "csPtr<iShadowBlockList > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiSuperLightmap_t = {"_p_csPtrTiSuperLightmap_t", "csPtr<iSuperLightmap > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csPtrTiVisibilityObjectIterator_t = {"_p_csPtrTiVisibilityObjectIterator_t", "csPtr<iVisibilityObjectIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csQuaternion = {"_p_csQuaternion", "csQuaternion *", 0, 0, (void*)"cspace::csQuaternion", 0};
static swig_type_info _swigt__p_csRGBcolor = {"_p_csRGBcolor", "csRGBcolor *", 0, 0, (void*)"cspace::csRGBcolor", 0};
static swig_type_info _swigt__p_csRGBpixel = {"_p_csRGBpixel", "csRGBpixel *", 0, 0, (void*)"cspace::csRGBpixel", 0};
static swig_type_info _swigt__p_csRandomGen = {"_p_csRandomGen", "csRandomGen *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRect = {"_p_csRect", "csRect *", 0, 0, (void*)"cspace::csRect", 0};
static swig_type_info _swigt__p_csRectRegion = {"_p_csRectRegion", "csRectRegion *", 0, 0, (void*)"cspace::csRectRegion", 0};
static swig_type_info _swigt__p_csRefArrayTcsShaderVariable_t = {"_p_csRefArrayTcsShaderVariable_t", "csRefArray<csShaderVariable > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefArrayTiAwsKey_t = {"_p_csRefArrayTiAwsKey_t", "csRefArray<iAwsKey > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefArrayTiObject_t = {"_p_csRefArrayTiObject_t", "csRefArray<iObject > *|csObjectContainer *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefArrayTiSceneNode_t = {"_p_csRefArrayTiSceneNode_t", "csRefArray<iSceneNode > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefArrayTiShader_t = {"_p_csRefArrayTiShader_t", "csRefArray<iShader > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefCount = {"_p_csRefCount", "csRefCount *", 0, 0, (void*)"cspace::csRefCount", 0};
static swig_type_info _swigt__p_csRefTiBase_t = {"_p_csRefTiBase_t", "csRef<iBase > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiDocumentAttributeIterator_t = {"_p_csRefTiDocumentAttributeIterator_t", "csRef<iDocumentAttributeIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiDocumentAttribute_t = {"_p_csRefTiDocumentAttribute_t", "csRef<iDocumentAttribute > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiDocumentNodeIterator_t = {"_p_csRefTiDocumentNodeIterator_t", "csRef<iDocumentNodeIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiDocumentNode_t = {"_p_csRefTiDocumentNode_t", "csRef<iDocumentNode > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiDynamicsSystemCollider_t = {"_p_csRefTiDynamicsSystemCollider_t", "csRef<iDynamicsSystemCollider > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiEventAttributeIterator_t = {"_p_csRefTiEventAttributeIterator_t", "csRef<iEventAttributeIterator > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiEventHandlerRegistry_t = {"_p_csRefTiEventHandlerRegistry_t", "csRef<iEventHandlerRegistry > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiEventHandler_t = {"_p_csRefTiEventHandler_t", "csRef<iEventHandler > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiEventNameRegistry_t = {"_p_csRefTiEventNameRegistry_t", "csRef<iEventNameRegistry > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiEvent_t = {"_p_csRefTiEvent_t", "csRef<iEvent > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiGeneralFactoryState_t = {"_p_csRefTiGeneralFactoryState_t", "csRef<iGeneralFactoryState > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiImage_t = {"_p_csRefTiImage_t", "csRef<iImage > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiRenderBuffer_t = {"_p_csRefTiRenderBuffer_t", "csRef<iRenderBuffer > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiRigidBody_t = {"_p_csRefTiRigidBody_t", "csRef<iRigidBody > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiScriptObject_t = {"_p_csRefTiScriptObject_t", "csRef<iScriptObject > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRefTiString_t = {"_p_csRefTiString_t", "csRef<iString > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRenderBufferHolder = {"_p_csRenderBufferHolder", "csRenderBufferHolder *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRenderBufferName = {"_p_csRenderBufferName", "csRenderBufferName *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRenderMesh = {"_p_csRenderMesh", "csRenderMesh *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRenderMeshList = {"_p_csRenderMeshList", "csRenderMeshList *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csRenderMeshModes = {"_p_csRenderMeshModes", "csRenderMeshModes *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csReporterHelper = {"_p_csReporterHelper", "csReporterHelper *", 0, 0, (void*)"cspace::csReporterHelper", 0};
static swig_type_info _swigt__p_csReversibleTransform = {"_p_csReversibleTransform", "csReversibleTransform *", 0, 0, (void*)"cspace::csReversibleTransform", 0};
static swig_type_info _swigt__p_csScreenBoxResult = {"_p_csScreenBoxResult", "csScreenBoxResult *", 0, 0, (void*)"cspace::csScreenBoxResult", 0};
static swig_type_info _swigt__p_csSectorHitBeamResult = {"_p_csSectorHitBeamResult", "csSectorHitBeamResult *", 0, 0, (void*)"cspace::csSectorHitBeamResult", 0};
static swig_type_info _swigt__p_csSegment2 = {"_p_csSegment2", "csSegment2 *", 0, 0, (void*)"cspace::csSegment2", 0};
static swig_type_info _swigt__p_csSegment3 = {"_p_csSegment3", "csSegment3 *", 0, 0, (void*)"cspace::csSegment3", 0};
static swig_type_info _swigt__p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t = {"_p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t", "csSet<csPtrKey<iMeshWrapper > > *|csSet<csPtrKey<iMeshWrapper >,CS::Memory::AllocatorMalloc > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t = {"_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t", "csSet<csStringID > *|csSet<csStringID,CS::Memory::AllocatorMalloc > *", 0, 0, (void*)"cspace::csStringIDSet", 0};
static swig_type_info _swigt__p_csShaderMetadata = {"_p_csShaderMetadata", "csShaderMetadata *", 0, 0, (void*)"cspace::csShaderMetadata", 0};
static swig_type_info _swigt__p_csShaderTagPresence = {"_p_csShaderTagPresence", "enum csShaderTagPresence *|csShaderTagPresence *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csShaderVariable = {"_p_csShaderVariable", "csShaderVariable *", 0, 0, (void*)"cspace::csShaderVariable", 0};
static swig_type_info _swigt__p_csSimplePixmap = {"_p_csSimplePixmap", "csSimplePixmap *", 0, 0, (void*)"cspace::csPixmap", 0};
static swig_type_info _swigt__p_csSimpleRenderMesh = {"_p_csSimpleRenderMesh", "csSimpleRenderMesh *", 0, 0, (void*)"cspace::csSimpleRenderMesh", 0};
static swig_type_info _swigt__p_csSndSysRendererSoftware = {"_p_csSndSysRendererSoftware", "csSndSysRendererSoftware *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csSndSysSoundFormat = {"_p_csSndSysSoundFormat", "csSndSysSoundFormat *", 0, 0, (void*)"cspace::csSndSysSoundFormat", 0};
static swig_type_info _swigt__p_csSourceParameters3D = {"_p_csSourceParameters3D", "csSourceParameters3D *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csSphere = {"_p_csSphere", "csSphere *", 0, 0, (void*)"cspace::csSphere", 0};
static swig_type_info _swigt__p_csSpline = {"_p_csSpline", "csSpline *", 0, 0, (void*)"cspace::csSpline", 0};
static swig_type_info _swigt__p_csSprite2DVertex = {"_p_csSprite2DVertex", "csSprite2DVertex *", 0, 0, (void*)"cspace::csSprite2DVertex", 0};
static swig_type_info _swigt__p_csSpriteCal3DActiveAnim = {"_p_csSpriteCal3DActiveAnim", "csSpriteCal3DActiveAnim *", 0, 0, (void*)"cspace::csSpriteCal3DActiveAnim", 0};
static swig_type_info _swigt__p_csSquaredDist = {"_p_csSquaredDist", "csSquaredDist *", 0, 0, (void*)"cspace::csSquaredDist", 0};
static swig_type_info _swigt__p_csStrKey = {"_p_csStrKey", "csStrKey *", 0, 0, (void*)"cspace::csStrKey", 0};
static swig_type_info _swigt__p_csString = {"_p_csString", "csString *", 0, 0, (void*)"cspace::csString", 0};
static swig_type_info _swigt__p_csStringArray = {"_p_csStringArray", "csStringArray *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csStringBase = {"_p_csStringBase", "csStringBase *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csStringFastT36_t = {"_p_csStringFastT36_t", "csStringFast<36 > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csStringSet = {"_p_csStringSet", "csStringSet *", 0, 0, (void*)"cspace::csStringSet", 0};
static swig_type_info _swigt__p_csTinyDocumentSystem = {"_p_csTinyDocumentSystem", "csTinyDocumentSystem *", 0, 0, (void*)"cspace::csTinyDocumentSystem", 0};
static swig_type_info _swigt__p_csTraceBeamResult = {"_p_csTraceBeamResult", "csTraceBeamResult *", 0, 0, (void*)"cspace::csTraceBeamResult", 0};
static swig_type_info _swigt__p_csTransform = {"_p_csTransform", "csTransform *", 0, 0, (void*)"cspace::csTransform", 0};
static swig_type_info _swigt__p_csTriangle = {"_p_csTriangle", "csTriangle *", 0, 0, (void*)"cspace::csTriangle", 0};
static swig_type_info _swigt__p_csVector2 = {"_p_csVector2", "csVector2 *", 0, 0, (void*)"cspace::csVector2", 0};
static swig_type_info _swigt__p_csVector3 = {"_p_csVector3", "csVector3 *", 0, 0, (void*)"cspace::csVector3", 0};
static swig_type_info _swigt__p_csVector3Array = {"_p_csVector3Array", "csVector3Array *", 0, 0, (void*)"cspace::csVector3Array", 0};
static swig_type_info _swigt__p_csVector4 = {"_p_csVector4", "csVector4 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csVertexAttrib = {"_p_csVertexAttrib", "enum csVertexAttrib *|csVertexAttrib *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_csVertexStatus = {"_p_csVertexStatus", "csVertexStatus *", 0, 0, (void*)"cspace::csVertexStatus", 0};
static swig_type_info _swigt__p_csView = {"_p_csView", "csView *", 0, 0, (void*)"cspace::csView", 0};
static swig_type_info _swigt__p_csWrapPtr = {"_p_csWrapPtr", "csWrapPtr *", 0, 0, (void*)"cspace::csWrapPtr", 0};
static swig_type_info _swigt__p_csXRotMatrix3 = {"_p_csXRotMatrix3", "csXRotMatrix3 *", 0, 0, (void*)"cspace::csXRotMatrix3", 0};
static swig_type_info _swigt__p_csXScaleMatrix3 = {"_p_csXScaleMatrix3", "csXScaleMatrix3 *", 0, 0, (void*)"cspace::csXScaleMatrix3", 0};
static swig_type_info _swigt__p_csYRotMatrix3 = {"_p_csYRotMatrix3", "csYRotMatrix3 *", 0, 0, (void*)"cspace::csYRotMatrix3", 0};
static swig_type_info _swigt__p_csYScaleMatrix3 = {"_p_csYScaleMatrix3", "csYScaleMatrix3 *", 0, 0, (void*)"cspace::csYScaleMatrix3", 0};
static swig_type_info _swigt__p_csZRotMatrix3 = {"_p_csZRotMatrix3", "csZRotMatrix3 *", 0, 0, (void*)"cspace::csZRotMatrix3", 0};
static swig_type_info _swigt__p_csZScaleMatrix3 = {"_p_csZScaleMatrix3", "csZScaleMatrix3 *", 0, 0, (void*)"cspace::csZScaleMatrix3", 0};
static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iBase = {"_p_f_p_iBase__p_iBase", "iBase *(*)(iBase *)|scfFactoryFunc", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsRGBKey = {"_p_f_p_iBase__p_iAwsRGBKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iRendererLightmap = {"_p_f_p_iBase__p_iRendererLightmap", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSuperLightmap = {"_p_f_p_iBase__p_iSuperLightmap", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iConsoleOutput = {"_p_f_p_iBase__p_iConsoleOutput", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTerrainObjectState = {"_p_f_p_iBase__p_iTerrainObjectState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iClipper2D = {"_p_f_p_iBase__p_iClipper2D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleEffector = {"_p_f_p_iBase__p_iParticleEffector", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDebugHelper = {"_p_f_p_iBase__p_iDebugHelper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEDynamicState = {"_p_f_p_iBase__p_iODEDynamicState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDocumentAttribute = {"_p_f_p_iBase__p_iDocumentAttribute", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEHingeJoint = {"_p_f_p_iBase__p_iODEHingeJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMaterialEngine = {"_p_f_p_iBase__p_iMaterialEngine", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iImageIO = {"_p_f_p_iBase__p_iImageIO", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iPath = {"_p_f_p_iBase__p_iPath", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSCF = {"_p_f_p_iBase__p_iSCF", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLoaderStatus = {"_p_f_p_iBase__p_iLoaderStatus", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEBallJoint = {"_p_f_p_iBase__p_iODEBallJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTextureHandle = {"_p_f_p_iBase__p_iTextureHandle", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGeneralMeshState = {"_p_f_p_iBase__p_iGeneralMeshState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDynamics = {"_p_f_p_iBase__p_iDynamics", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParameterESM = {"_p_f_p_iBase__p_iParameterESM", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysSoftwareOutputFilter = {"_p_f_p_iBase__p_iSndSysSoftwareOutputFilter", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsIntKey = {"_p_f_p_iBase__p_iAwsIntKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEmitterCylinder = {"_p_f_p_iBase__p_iParticleBuiltinEmitterCylinder", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEDynamicSystemState = {"_p_f_p_iBase__p_iODEDynamicSystemState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshList = {"_p_f_p_iBase__p_iMeshList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEventPlug = {"_p_f_p_iBase__p_iEventPlug", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEmitterBox = {"_p_f_p_iBase__p_iParticleBuiltinEmitterBox", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_t = {"_p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEJointState = {"_p_f_p_iBase__p_iODEJointState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEGeneralJointState = {"_p_f_p_iBase__p_iODEGeneralJointState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_t = {"_p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMaterialWrapper = {"_p_f_p_iBase__p_iMaterialWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTextureWrapper = {"_p_f_p_iBase__p_iTextureWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshWrapper = {"_p_f_p_iBase__p_iMeshWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshFactoryWrapper = {"_p_f_p_iBase__p_iMeshFactoryWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysWrapper = {"_p_f_p_iBase__p_iSndSysWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSequenceWrapper = {"_p_f_p_iBase__p_iSequenceWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iString = {"_p_f_p_iBase__p_iString", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iConsoleWatcher = {"_p_f_p_iBase__p_iConsoleWatcher", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEngine = {"_p_f_p_iBase__p_iEngine", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSimpleFormerState = {"_p_f_p_iBase__p_iSimpleFormerState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMaterial = {"_p_f_p_iBase__p_iMaterial", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSprite2DUVAnimation = {"_p_f_p_iBase__p_iSprite2DUVAnimation", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_scfImplementation1TcsPath_iPath_t = {"_p_f_p_iBase__p_scfImplementation1TcsPath_iPath_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iPolygonMesh = {"_p_f_p_iBase__p_iPolygonMesh", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTerrainFactoryState = {"_p_f_p_iBase__p_iTerrainFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iThingFactoryState = {"_p_f_p_iBase__p_iThingFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSpriteCal3DFactoryState = {"_p_f_p_iBase__p_iSpriteCal3DFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSprite3DFactoryState = {"_p_f_p_iBase__p_iSprite3DFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSprite2DFactoryState = {"_p_f_p_iBase__p_iSprite2DFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGeneralFactoryState = {"_p_f_p_iBase__p_iGeneralFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleEmitter = {"_p_f_p_iBase__p_iParticleEmitter", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGraphics2D = {"_p_f_p_iBase__p_iGraphics2D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDocument = {"_p_f_p_iBase__p_iDocument", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iShaderPriorityList = {"_p_f_p_iBase__p_iShaderPriorityList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysSourceSoftware3D = {"_p_f_p_iBase__p_iSndSysSourceSoftware3D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDataBuffer = {"_p_f_p_iBase__p_iDataBuffer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshObject = {"_p_f_p_iBase__p_iMeshObject", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iScriptObject = {"_p_f_p_iBase__p_iScriptObject", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonGraveyard = {"_p_f_p_iBase__p_iSkeletonGraveyard", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSequenceTimedOperation = {"_p_f_p_iBase__p_iSequenceTimedOperation", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iHalo = {"_p_f_p_iBase__p_iHalo", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iFontServer = {"_p_f_p_iBase__p_iFontServer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iStringArray = {"_p_f_p_iBase__p_iStringArray", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iReporter = {"_p_f_p_iBase__p_iReporter", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_t = {"_p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEventAttributeIterator = {"_p_f_p_iBase__p_iEventAttributeIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iObjectRegistryIterator = {"_p_f_p_iBase__p_iObjectRegistryIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iObjectIterator = {"_p_f_p_iBase__p_iObjectIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshWrapperIterator = {"_p_f_p_iBase__p_iMeshWrapperIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSectorIterator = {"_p_f_p_iBase__p_iSectorIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iReporterIterator = {"_p_f_p_iBase__p_iReporterIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDocumentNodeIterator = {"_p_f_p_iBase__p_iDocumentNodeIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDocumentAttributeIterator = {"_p_f_p_iBase__p_iDocumentAttributeIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iConfigIterator = {"_p_f_p_iBase__p_iConfigIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iPluginIterator = {"_p_f_p_iBase__p_iPluginIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iVisibilityObjectIterator = {"_p_f_p_iBase__p_iVisibilityObjectIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLightIterator = {"_p_f_p_iBase__p_iLightIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMapNode = {"_p_f_p_iBase__p_iMapNode", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGenMeshAnimationControl = {"_p_f_p_iBase__p_iGenMeshAnimationControl", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iObjectRegistry = {"_p_f_p_iBase__p_iObjectRegistry", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEventNameRegistry = {"_p_f_p_iBase__p_iEventNameRegistry", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysListener = {"_p_f_p_iBase__p_iSndSysListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iVisibilityCullerListener = {"_p_f_p_iBase__p_iVisibilityCullerListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iObjectModelListener = {"_p_f_p_iBase__p_iObjectModelListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iCameraSectorListener = {"_p_f_p_iBase__p_iCameraSectorListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMovableListener = {"_p_f_p_iBase__p_iMovableListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iObjectNameChangeListener = {"_p_f_p_iBase__p_iObjectNameChangeListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iReporterListener = {"_p_f_p_iBase__p_iReporterListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iStandardReporterListener = {"_p_f_p_iBase__p_iStandardReporterListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDocumentSystem = {"_p_f_p_iBase__p_iDocumentSystem", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_csPath = {"_p_f_p_iBase__p_csPath", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysSourceSoftware = {"_p_f_p_iBase__p_iSndSysSourceSoftware", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysRendererSoftware = {"_p_f_p_iBase__p_iSndSysRendererSoftware", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSprite2DUVAnimationFrame = {"_p_f_p_iBase__p_iSprite2DUVAnimationFrame", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTerraFormer = {"_p_f_p_iBase__p_iTerraFormer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeleton = {"_p_f_p_iBase__p_iSkeleton", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSector = {"_p_f_p_iBase__p_iSector", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSequenceTrigger = {"_p_f_p_iBase__p_iSequenceTrigger", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iPortalContainer = {"_p_f_p_iBase__p_iPortalContainer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsKeyContainer = {"_p_f_p_iBase__p_iAwsKeyContainer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODESliderJoint = {"_p_f_p_iBase__p_iODESliderJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEAMotorJoint = {"_p_f_p_iBase__p_iODEAMotorJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEHinge2Joint = {"_p_f_p_iBase__p_iODEHinge2Joint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iRegionList = {"_p_f_p_iBase__p_iRegionList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iCameraPositionList = {"_p_f_p_iBase__p_iCameraPositionList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEffectorVelocityField = {"_p_f_p_iBase__p_iParticleBuiltinEffectorVelocityField", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSpriteAction = {"_p_f_p_iBase__p_iSpriteAction", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLightList = {"_p_f_p_iBase__p_iLightList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iFile = {"_p_f_p_iBase__p_iFile", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshObjectDrawCallback = {"_p_f_p_iBase__p_iMeshObjectDrawCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonUpdateCallback = {"_p_f_p_iBase__p_iSkeletonUpdateCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonScriptCallback = {"_p_f_p_iBase__p_iSkeletonScriptCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonBoneUpdateCallback = {"_p_f_p_iBase__p_iSkeletonBoneUpdateCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iPortalCallback = {"_p_f_p_iBase__p_iPortalCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLightCallback = {"_p_f_p_iBase__p_iLightCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSectorCallback = {"_p_f_p_iBase__p_iSectorCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSectorMeshCallback = {"_p_f_p_iBase__p_iSectorMeshCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLightVisibleCallback = {"_p_f_p_iBase__p_iLightVisibleCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEngineFrameCallback = {"_p_f_p_iBase__p_iEngineFrameCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEngineSectorCallback = {"_p_f_p_iBase__p_iEngineSectorCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTextureCallback = {"_p_f_p_iBase__p_iTextureCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshDrawCallback = {"_p_f_p_iBase__p_iMeshDrawCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysStreamCallback = {"_p_f_p_iBase__p_iSndSysStreamCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysRendererCallback = {"_p_f_p_iBase__p_iSndSysRendererCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iOffscreenCanvasCallback = {"_p_f_p_iBase__p_iOffscreenCanvasCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDynamicsMoveCallback = {"_p_f_p_iBase__p_iDynamicsMoveCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDynamicsCollisionCallback = {"_p_f_p_iBase__p_iDynamicsCollisionCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDynamicsColliderCollisionCallback = {"_p_f_p_iBase__p_iDynamicsColliderCollisionCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEFrameUpdateCallback = {"_p_f_p_iBase__p_iODEFrameUpdateCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iVisibilityObject = {"_p_f_p_iBase__p_iVisibilityObject", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iObject = {"_p_f_p_iBase__p_iObject", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iCamera = {"_p_f_p_iBase__p_iCamera", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iCommandLineParser = {"_p_f_p_iBase__p_iCommandLineParser", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshFactoryList = {"_p_f_p_iBase__p_iMeshFactoryList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGraphics3D = {"_p_f_p_iBase__p_iGraphics3D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iVirtualClock = {"_p_f_p_iBase__p_iVirtualClock", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshObjectType = {"_p_f_p_iBase__p_iMeshObjectType", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMovieRecorder = {"_p_f_p_iBase__p_iMovieRecorder", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSprite2DState = {"_p_f_p_iBase__p_iSprite2DState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEmitterSphere = {"_p_f_p_iBase__p_iParticleBuiltinEmitterSphere", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iThingEnvironment = {"_p_f_p_iBase__p_iThingEnvironment", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMovable = {"_p_f_p_iBase__p_iMovable", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAws = {"_p_f_p_iBase__p_iAws", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSceneNodeArray = {"_p_f_p_iBase__p_iSceneNodeArray", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iShaderVariableContext = {"_p_f_p_iBase__p_iShaderVariableContext", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSectorList = {"_p_f_p_iBase__p_iSectorList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleSystem = {"_p_f_p_iBase__p_iParticleSystem", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iCollideSystem = {"_p_f_p_iBase__p_iCollideSystem", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDynamicSystem = {"_p_f_p_iBase__p_iDynamicSystem", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysSoftwareFilter3D = {"_p_f_p_iBase__p_iSndSysSoftwareFilter3D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iShaderCompiler = {"_p_f_p_iBase__p_iShaderCompiler", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLightingProcessData = {"_p_f_p_iBase__p_iLightingProcessData", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iCameraPosition = {"_p_f_p_iBase__p_iCameraPosition", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iBinaryLoaderPlugin = {"_p_f_p_iBase__p_iBinaryLoaderPlugin", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLoaderPlugin = {"_p_f_p_iBase__p_iLoaderPlugin", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonSocket = {"_p_f_p_iBase__p_iSkeletonSocket", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSpriteCal3DSocket = {"_p_f_p_iBase__p_iSpriteCal3DSocket", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysStream = {"_p_f_p_iBase__p_iSndSysStream", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iVisibilityCuller = {"_p_f_p_iBase__p_iVisibilityCuller", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGeneralMeshCommonState = {"_p_f_p_iBase__p_iGeneralMeshCommonState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iConfigFile = {"_p_f_p_iBase__p_iConfigFile", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEventQueue = {"_p_f_p_iBase__p_iEventQueue", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iVFS = {"_p_f_p_iBase__p_iVFS", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iRigidBody = {"_p_f_p_iBase__p_iRigidBody", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsComponentNode = {"_p_f_p_iBase__p_iAwsComponentNode", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEventOutlet = {"_p_f_p_iBase__p_iEventOutlet", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDocumentNode = {"_p_f_p_iBase__p_iDocumentNode", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_t = {"_p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_t = {"_p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iFont = {"_p_f_p_iBase__p_iFont", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSpriteCal3DState = {"_p_f_p_iBase__p_iSpriteCal3DState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSprite3DState = {"_p_f_p_iBase__p_iSprite3DState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iKeyboardDriver = {"_p_f_p_iBase__p_iKeyboardDriver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iBodyGroup = {"_p_f_p_iBase__p_iBodyGroup", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iFrustumView = {"_p_f_p_iBase__p_iFrustumView", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAnimTimeUpdateHandler = {"_p_f_p_iBase__p_iAnimTimeUpdateHandler", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEventHandler = {"_p_f_p_iBase__p_iEventHandler", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iPortal = {"_p_f_p_iBase__p_iPortal", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEngineSequenceParameters = {"_p_f_p_iBase__p_iEngineSequenceParameters", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsKey = {"_p_f_p_iBase__p_iAwsKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iView = {"_p_f_p_iBase__p_iView", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGenMeshAnimationControlType = {"_p_f_p_iBase__p_iGenMeshAnimationControlType", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iKeyComposer = {"_p_f_p_iBase__p_iKeyComposer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_t = {"_p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMaterialList = {"_p_f_p_iBase__p_iMaterialList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsRectKey = {"_p_f_p_iBase__p_iAwsRectKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLightingProcessInfo = {"_p_f_p_iBase__p_iLightingProcessInfo", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iJoint = {"_p_f_p_iBase__p_iJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSpriteSocket = {"_p_f_p_iBase__p_iSpriteSocket", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEmitterBase = {"_p_f_p_iBase__p_iParticleBuiltinEmitterBase", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEmitterCone = {"_p_f_p_iBase__p_iParticleBuiltinEmitterCone", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysRenderer = {"_p_f_p_iBase__p_iSndSysRenderer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsComponent = {"_p_f_p_iBase__p_iAwsComponent", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iComponent = {"_p_f_p_iBase__p_iComponent", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLight = {"_p_f_p_iBase__p_iLight", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsStringKey = {"_p_f_p_iBase__p_iAwsStringKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGenMeshSkeletonControlState = {"_p_f_p_iBase__p_iGenMeshSkeletonControlState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsSource = {"_p_f_p_iBase__p_iAwsSource", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysSource = {"_p_f_p_iBase__p_iSndSysSource", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEffectorForce = {"_p_f_p_iBase__p_iParticleBuiltinEffectorForce", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEffectorFactory = {"_p_f_p_iBase__p_iParticleBuiltinEffectorFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEmitterFactory = {"_p_f_p_iBase__p_iParticleBuiltinEmitterFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleSystemFactory = {"_p_f_p_iBase__p_iParticleSystemFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMeshObjectFactory = {"_p_f_p_iBase__p_iMeshObjectFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonFactory = {"_p_f_p_iBase__p_iSkeletonFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonSocketFactory = {"_p_f_p_iBase__p_iSkeletonSocketFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonBoneFactory = {"_p_f_p_iBase__p_iSkeletonBoneFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGenMeshAnimationControlFactory = {"_p_f_p_iBase__p_iGenMeshAnimationControlFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsConnectionNodeFactory = {"_p_f_p_iBase__p_iAwsConnectionNodeFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsKeyFactory = {"_p_f_p_iBase__p_iAwsKeyFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsComponentFactory = {"_p_f_p_iBase__p_iAwsComponentFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iFactory = {"_p_f_p_iBase__p_iFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysSoftwareDriver = {"_p_f_p_iBase__p_iSndSysSoftwareDriver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMouseDriver = {"_p_f_p_iBase__p_iMouseDriver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iJoystickDriver = {"_p_f_p_iBase__p_iJoystickDriver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_t = {"_p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysLoader = {"_p_f_p_iBase__p_iSndSysLoader", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iLoader = {"_p_f_p_iBase__p_iLoader", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iFrustumViewUserdata = {"_p_f_p_iBase__p_iFrustumViewUserdata", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsSink = {"_p_f_p_iBase__p_iAwsSink", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iShader = {"_p_f_p_iBase__p_iShader", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTextureList = {"_p_f_p_iBase__p_iTextureList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iNativeWindow = {"_p_f_p_iBase__p_iNativeWindow", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleSystemBase = {"_p_f_p_iBase__p_iParticleSystemBase", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSpriteFrame = {"_p_f_p_iBase__p_iSpriteFrame", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonScript = {"_p_f_p_iBase__p_iSkeletonScript", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iFontDeleteNotify = {"_p_f_p_iBase__p_iFontDeleteNotify", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iThingState = {"_p_f_p_iBase__p_iThingState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsFloatKey = {"_p_f_p_iBase__p_iAwsFloatKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iShaderVariableAccessor = {"_p_f_p_iBase__p_iShaderVariableAccessor", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTerraSampler = {"_p_f_p_iBase__p_iTerraSampler", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEvent = {"_p_f_p_iBase__p_iEvent", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonBone = {"_p_f_p_iBase__p_iSkeletonBone", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsSlot = {"_p_f_p_iBase__p_iAwsSlot", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSceneNode = {"_p_f_p_iBase__p_iSceneNode", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonScriptKeyFrame = {"_p_f_p_iBase__p_iSkeletonScriptKeyFrame", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iParticleBuiltinEffectorLinColor = {"_p_f_p_iBase__p_iParticleBuiltinEffectorLinColor", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iShaderVarStack = {"_p_f_p_iBase__p_iShaderVarStack", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iGeneralMeshSubMesh = {"_p_f_p_iBase__p_iGeneralMeshSubMesh", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iImage = {"_p_f_p_iBase__p_iImage", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iCollider = {"_p_f_p_iBase__p_iCollider", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iDynamicsSystemCollider = {"_p_f_p_iBase__p_iDynamicsSystemCollider", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iODEUniversalJoint = {"_p_f_p_iBase__p_iODEUniversalJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iPolygonHandle = {"_p_f_p_iBase__p_iPolygonHandle", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iObjectModel = {"_p_f_p_iBase__p_iObjectModel", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsConnectionKey = {"_p_f_p_iBase__p_iAwsConnectionKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSkeletonBoneRagdollInfo = {"_p_f_p_iBase__p_iSkeletonBoneRagdollInfo", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iMissingLoaderData = {"_p_f_p_iBase__p_iMissingLoaderData", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iRegion = {"_p_f_p_iBase__p_iRegion", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iStringSet = {"_p_f_p_iBase__p_iStringSet", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iColoredVertices = {"_p_f_p_iBase__p_iColoredVertices", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsLayoutManager = {"_p_f_p_iBase__p_iAwsLayoutManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsSinkManager = {"_p_f_p_iBase__p_iAwsSinkManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsPrefManager = {"_p_f_p_iBase__p_iAwsPrefManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysManager = {"_p_f_p_iBase__p_iSndSysManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iCacheManager = {"_p_f_p_iBase__p_iCacheManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iPluginManager = {"_p_f_p_iBase__p_iPluginManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iConfigManager = {"_p_f_p_iBase__p_iConfigManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iNativeWindowManager = {"_p_f_p_iBase__p_iNativeWindowManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iShaderManager = {"_p_f_p_iBase__p_iShaderManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iTextureManager = {"_p_f_p_iBase__p_iTextureManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEngineSequenceManager = {"_p_f_p_iBase__p_iEngineSequenceManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iAwsPointKey = {"_p_f_p_iBase__p_iAwsPointKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iScript = {"_p_f_p_iBase__p_iScript", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSaver = {"_p_f_p_iBase__p_iSaver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iSndSysData = {"_p_f_p_iBase__p_iSndSysData", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iBase__p_iEventCord = {"_p_f_p_iBase__p_iEventCord", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_f_p_iMeshWrapper_p_iFrustumView_bool__void = {"_p_f_p_iMeshWrapper_p_iFrustumView_bool__void", "void (*)(iMeshWrapper *,iFrustumView *,bool)|csFrustumViewObjectFunc *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_f_unsigned_long_int_p_iAwsSource__void = {"_p_f_unsigned_long_int_p_iAwsSource__void", "void (*)(unsigned long,int,iAwsSource *)|void (*)(unsigned long,intptr_t,iAwsSource *)", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_f_unsigned_long_p_void_p_iAwsSource__void = {"_p_f_unsigned_long_p_void_p_iAwsSource__void", "void (*)(unsigned long,void *,iAwsSource *)", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_float = {"_p_float", "float *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iAnimTimeUpdateHandler = {"_p_iAnimTimeUpdateHandler", "iAnimTimeUpdateHandler *", 0, 0, (void*)"cspace::iAnimTimeUpdateHandler", 0};
static swig_type_info _swigt__p_iArrayChangeAllTcsShaderVariable_p_t = {"_p_iArrayChangeAllTcsShaderVariable_p_t", "iArrayChangeAll<csShaderVariable * > *", 0, 0, (void*)"cspace::csShaderVariableArray", 0};
static swig_type_info _swigt__p_iArrayChangeAllTcsSprite2DVertex_t = {"_p_iArrayChangeAllTcsSprite2DVertex_t", "iArrayChangeAll<csSprite2DVertex > *", 0, 0, (void*)"cspace::csSprite2DVertexArrayChangeAll", 0};
static swig_type_info _swigt__p_iArrayChangeElementsTcsShaderVariable_p_t = {"_p_iArrayChangeElementsTcsShaderVariable_p_t", "iArrayChangeElements<csShaderVariable * > *", 0, 0, (void*)"cspace::csShaderVariableArrayChangeElements", 0};
static swig_type_info _swigt__p_iArrayChangeElementsTcsSprite2DVertex_t = {"_p_iArrayChangeElementsTcsSprite2DVertex_t", "iArrayChangeElements<csSprite2DVertex > *", 0, 0, (void*)"cspace::csSprite2DVertexArrayChangeElements", 0};
static swig_type_info _swigt__p_iArrayReadOnlyTcsShaderVariable_p_t = {"_p_iArrayReadOnlyTcsShaderVariable_p_t", "iArrayReadOnly<csShaderVariable * > *", 0, 0, (void*)"cspace::csShaderVariableArrayReadOnly", 0};
static swig_type_info _swigt__p_iArrayReadOnlyTcsSprite2DVertex_t = {"_p_iArrayReadOnlyTcsSprite2DVertex_t", "iArrayReadOnly<csSprite2DVertex > *", 0, 0, (void*)"cspace::csSprite2DVertexArrayReadOnly", 0};
static swig_type_info _swigt__p_iArrayReadOnlyTiSceneNode_p_t = {"_p_iArrayReadOnlyTiSceneNode_p_t", "iArrayReadOnly<iSceneNode * > *", 0, 0, (void*)"cspace::iSceneNodeArrayReadOnly", 0};
static swig_type_info _swigt__p_iAws = {"_p_iAws", "iAws *", 0, 0, (void*)"cspace::iAws", 0};
static swig_type_info _swigt__p_iAwsCanvas = {"_p_iAwsCanvas", "iAwsCanvas *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iAwsComponent = {"_p_iAwsComponent", "iAwsComponent *", 0, 0, (void*)"cspace::iAwsComponent", 0};
static swig_type_info _swigt__p_iAwsComponentFactory = {"_p_iAwsComponentFactory", "iAwsComponentFactory *", 0, 0, (void*)"cspace::iAwsComponentFactory", 0};
static swig_type_info _swigt__p_iAwsComponentNode = {"_p_iAwsComponentNode", "iAwsComponentNode *", 0, 0, (void*)"cspace::iAwsComponentNode", 0};
static swig_type_info _swigt__p_iAwsConnectionKey = {"_p_iAwsConnectionKey", "iAwsConnectionKey *", 0, 0, (void*)"cspace::iAwsConnectionKey", 0};
static swig_type_info _swigt__p_iAwsConnectionNodeFactory = {"_p_iAwsConnectionNodeFactory", "iAwsConnectionNodeFactory *", 0, 0, (void*)"cspace::iAwsConnectionNodeFactory", 0};
static swig_type_info _swigt__p_iAwsFloatKey = {"_p_iAwsFloatKey", "iAwsFloatKey *", 0, 0, (void*)"cspace::iAwsFloatKey", 0};
static swig_type_info _swigt__p_iAwsIntKey = {"_p_iAwsIntKey", "iAwsIntKey *", 0, 0, (void*)"cspace::iAwsIntKey", 0};
static swig_type_info _swigt__p_iAwsKey = {"_p_iAwsKey", "iAwsKey *", 0, 0, (void*)"cspace::iAwsKey", 0};
static swig_type_info _swigt__p_iAwsKeyContainer = {"_p_iAwsKeyContainer", "iAwsKeyContainer *", 0, 0, (void*)"cspace::iAwsKeyContainer", 0};
static swig_type_info _swigt__p_iAwsKeyFactory = {"_p_iAwsKeyFactory", "iAwsKeyFactory *", 0, 0, (void*)"cspace::iAwsKeyFactory", 0};
static swig_type_info _swigt__p_iAwsLayoutManager = {"_p_iAwsLayoutManager", "iAwsLayoutManager *", 0, 0, (void*)"cspace::iAwsLayoutManager", 0};
static swig_type_info _swigt__p_iAwsParmList = {"_p_iAwsParmList", "iAwsParmList *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iAwsPointKey = {"_p_iAwsPointKey", "iAwsPointKey *", 0, 0, (void*)"cspace::iAwsPointKey", 0};
static swig_type_info _swigt__p_iAwsPrefManager = {"_p_iAwsPrefManager", "iAwsPrefManager *", 0, 0, (void*)"cspace::iAwsPrefManager", 0};
static swig_type_info _swigt__p_iAwsRGBKey = {"_p_iAwsRGBKey", "iAwsRGBKey *", 0, 0, (void*)"cspace::iAwsRGBKey", 0};
static swig_type_info _swigt__p_iAwsRGBKey__RGB = {"_p_iAwsRGBKey__RGB", "iAwsRGBKey::RGB *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iAwsRectKey = {"_p_iAwsRectKey", "iAwsRectKey *", 0, 0, (void*)"cspace::iAwsRectKey", 0};
static swig_type_info _swigt__p_iAwsSink = {"_p_iAwsSink", "iAwsSink *", 0, 0, (void*)"cspace::iAwsSink", 0};
static swig_type_info _swigt__p_iAwsSinkManager = {"_p_iAwsSinkManager", "iAwsSinkManager *", 0, 0, (void*)"cspace::iAwsSinkManager", 0};
static swig_type_info _swigt__p_iAwsSlot = {"_p_iAwsSlot", "iAwsSlot *", 0, 0, (void*)"cspace::iAwsSlot", 0};
static swig_type_info _swigt__p_iAwsSource = {"_p_iAwsSource", "iAwsSource *", 0, 0, (void*)"cspace::iAwsSource", 0};
static swig_type_info _swigt__p_iAwsStringKey = {"_p_iAwsStringKey", "iAwsStringKey *", 0, 0, (void*)"cspace::iAwsStringKey", 0};
static swig_type_info _swigt__p_iBase = {"_p_iBase", "iBase *", 0, 0, (void*)"cspace::iBase", 0};
static swig_type_info _swigt__p_iBaseHalo = {"_p_iBaseHalo", "iBaseHalo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iBinaryLoaderPlugin = {"_p_iBinaryLoaderPlugin", "iBinaryLoaderPlugin *", 0, 0, (void*)"cspace::iBinaryLoaderPlugin", 0};
static swig_type_info _swigt__p_iBodyGroup = {"_p_iBodyGroup", "iBodyGroup *", 0, 0, (void*)"cspace::iBodyGroup", 0};
static swig_type_info _swigt__p_iCacheManager = {"_p_iCacheManager", "iCacheManager *", 0, 0, (void*)"cspace::iCacheManager", 0};
static swig_type_info _swigt__p_iCamera = {"_p_iCamera", "iCamera *", 0, 0, (void*)"cspace::iCamera", 0};
static swig_type_info _swigt__p_iCameraPosition = {"_p_iCameraPosition", "iCameraPosition *", 0, 0, (void*)"cspace::iCameraPosition", 0};
static swig_type_info _swigt__p_iCameraPositionList = {"_p_iCameraPositionList", "iCameraPositionList *", 0, 0, (void*)"cspace::iCameraPositionList", 0};
static swig_type_info _swigt__p_iCameraSectorListener = {"_p_iCameraSectorListener", "iCameraSectorListener *", 0, 0, (void*)"cspace::iCameraSectorListener", 0};
static swig_type_info _swigt__p_iClipper2D = {"_p_iClipper2D", "iClipper2D *", 0, 0, (void*)"cspace::iClipper2D", 0};
static swig_type_info _swigt__p_iCollection = {"_p_iCollection", "iCollection *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iCollectionList = {"_p_iCollectionList", "iCollectionList *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iCollideSystem = {"_p_iCollideSystem", "iCollideSystem *", 0, 0, (void*)"cspace::iCollideSystem", 0};
static swig_type_info _swigt__p_iCollider = {"_p_iCollider", "iCollider *", 0, 0, (void*)"cspace::iCollider", 0};
static swig_type_info _swigt__p_iColoredVertices = {"_p_iColoredVertices", "iColoredVertices *", 0, 0, (void*)"cspace::iColoredVertices", 0};
static swig_type_info _swigt__p_iCommandLineParser = {"_p_iCommandLineParser", "iCommandLineParser *", 0, 0, (void*)"cspace::iCommandLineParser", 0};
static swig_type_info _swigt__p_iComponent = {"_p_iComponent", "iComponent *", 0, 0, (void*)"cspace::iComponent", 0};
static swig_type_info _swigt__p_iConfigFile = {"_p_iConfigFile", "iConfigFile *", 0, 0, (void*)"cspace::iConfigFile", 0};
static swig_type_info _swigt__p_iConfigIterator = {"_p_iConfigIterator", "iConfigIterator *", 0, 0, (void*)"cspace::iConfigIterator", 0};
static swig_type_info _swigt__p_iConfigManager = {"_p_iConfigManager", "iConfigManager *", 0, 0, (void*)"cspace::iConfigManager", 0};
static swig_type_info _swigt__p_iConsoleOutput = {"_p_iConsoleOutput", "iConsoleOutput *", 0, 0, (void*)"cspace::iConsoleOutput", 0};
static swig_type_info _swigt__p_iConsoleWatcher = {"_p_iConsoleWatcher", "iConsoleWatcher *", 0, 0, (void*)"cspace::iConsoleWatcher", 0};
static swig_type_info _swigt__p_iCrossHalo = {"_p_iCrossHalo", "iCrossHalo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iDataBuffer = {"_p_iDataBuffer", "iDataBuffer *", 0, 0, (void*)"cspace::iDataBuffer", 0};
static swig_type_info _swigt__p_iDebugHelper = {"_p_iDebugHelper", "iDebugHelper *", 0, 0, (void*)"cspace::iDebugHelper", 0};
static swig_type_info _swigt__p_iDocument = {"_p_iDocument", "iDocument *", 0, 0, (void*)"cspace::iDocument", 0};
static swig_type_info _swigt__p_iDocumentAttribute = {"_p_iDocumentAttribute", "iDocumentAttribute *", 0, 0, (void*)"cspace::iDocumentAttribute", 0};
static swig_type_info _swigt__p_iDocumentAttributeIterator = {"_p_iDocumentAttributeIterator", "iDocumentAttributeIterator *", 0, 0, (void*)"cspace::iDocumentAttributeIterator", 0};
static swig_type_info _swigt__p_iDocumentNode = {"_p_iDocumentNode", "iDocumentNode *", 0, 0, (void*)"cspace::iDocumentNode", 0};
static swig_type_info _swigt__p_iDocumentNodeIterator = {"_p_iDocumentNodeIterator", "iDocumentNodeIterator *", 0, 0, (void*)"cspace::iDocumentNodeIterator", 0};
static swig_type_info _swigt__p_iDocumentSystem = {"_p_iDocumentSystem", "iDocumentSystem *", 0, 0, (void*)"cspace::iDocumentSystem", 0};
static swig_type_info _swigt__p_iDynamicSystem = {"_p_iDynamicSystem", "iDynamicSystem *", 0, 0, (void*)"cspace::iDynamicSystem", 0};
static swig_type_info _swigt__p_iDynamics = {"_p_iDynamics", "iDynamics *", 0, 0, (void*)"cspace::iDynamics", 0};
static swig_type_info _swigt__p_iDynamicsColliderCollisionCallback = {"_p_iDynamicsColliderCollisionCallback", "iDynamicsColliderCollisionCallback *", 0, 0, (void*)"cspace::iDynamicsColliderCollisionCallback", 0};
static swig_type_info _swigt__p_iDynamicsCollisionCallback = {"_p_iDynamicsCollisionCallback", "iDynamicsCollisionCallback *", 0, 0, (void*)"cspace::iDynamicsCollisionCallback", 0};
static swig_type_info _swigt__p_iDynamicsMoveCallback = {"_p_iDynamicsMoveCallback", "iDynamicsMoveCallback *", 0, 0, (void*)"cspace::iDynamicsMoveCallback", 0};
static swig_type_info _swigt__p_iDynamicsSystemCollider = {"_p_iDynamicsSystemCollider", "iDynamicsSystemCollider *", 0, 0, (void*)"cspace::iDynamicsSystemCollider", 0};
static swig_type_info _swigt__p_iEngine = {"_p_iEngine", "iEngine *", 0, 0, (void*)"cspace::iEngine", 0};
static swig_type_info _swigt__p_iEngineFrameCallback = {"_p_iEngineFrameCallback", "iEngineFrameCallback *", 0, 0, (void*)"cspace::iEngineFrameCallback", 0};
static swig_type_info _swigt__p_iEngineSectorCallback = {"_p_iEngineSectorCallback", "iEngineSectorCallback *", 0, 0, (void*)"cspace::iEngineSectorCallback", 0};
static swig_type_info _swigt__p_iEngineSequenceManager = {"_p_iEngineSequenceManager", "iEngineSequenceManager *", 0, 0, (void*)"cspace::iEngineSequenceManager", 0};
static swig_type_info _swigt__p_iEngineSequenceParameters = {"_p_iEngineSequenceParameters", "iEngineSequenceParameters *", 0, 0, (void*)"cspace::iEngineSequenceParameters", 0};
static swig_type_info _swigt__p_iEvent = {"_p_iEvent", "iEvent *", 0, 0, (void*)"cspace::iEvent", 0};
static swig_type_info _swigt__p_iEventAttributeIterator = {"_p_iEventAttributeIterator", "iEventAttributeIterator *", 0, 0, (void*)"cspace::iEventAttributeIterator", 0};
static swig_type_info _swigt__p_iEventCord = {"_p_iEventCord", "iEventCord *", 0, 0, (void*)"cspace::iEventCord", 0};
static swig_type_info _swigt__p_iEventHandler = {"_p_iEventHandler", "iEventHandler *", 0, 0, (void*)"cspace::iEventHandler", 0};
static swig_type_info _swigt__p_iEventNameRegistry = {"_p_iEventNameRegistry", "iEventNameRegistry *", 0, 0, (void*)"cspace::iEventNameRegistry", 0};
static swig_type_info _swigt__p_iEventOutlet = {"_p_iEventOutlet", "iEventOutlet *", 0, 0, (void*)"cspace::iEventOutlet", 0};
static swig_type_info _swigt__p_iEventPlug = {"_p_iEventPlug", "iEventPlug *", 0, 0, (void*)"cspace::iEventPlug", 0};
static swig_type_info _swigt__p_iEventQueue = {"_p_iEventQueue", "iEventQueue *", 0, 0, (void*)"cspace::iEventQueue", 0};
static swig_type_info _swigt__p_iFactory = {"_p_iFactory", "iFactory *", 0, 0, (void*)"cspace::iFactory", 0};
static swig_type_info _swigt__p_iFile = {"_p_iFile", "iFile *", 0, 0, (void*)"cspace::iFile", 0};
static swig_type_info _swigt__p_iFlareHalo = {"_p_iFlareHalo", "iFlareHalo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iFont = {"_p_iFont", "iFont *", 0, 0, (void*)"cspace::iFont", 0};
static swig_type_info _swigt__p_iFontDeleteNotify = {"_p_iFontDeleteNotify", "iFontDeleteNotify *", 0, 0, (void*)"cspace::iFontDeleteNotify", 0};
static swig_type_info _swigt__p_iFontServer = {"_p_iFontServer", "iFontServer *", 0, 0, (void*)"cspace::iFontServer", 0};
static swig_type_info _swigt__p_iFrustumView = {"_p_iFrustumView", "iFrustumView *", 0, 0, (void*)"cspace::iFrustumView", 0};
static swig_type_info _swigt__p_iFrustumViewUserdata = {"_p_iFrustumViewUserdata", "iFrustumViewUserdata *", 0, 0, (void*)"cspace::iFrustumViewUserdata", 0};
static swig_type_info _swigt__p_iGenMeshAnimationControl = {"_p_iGenMeshAnimationControl", "iGenMeshAnimationControl *", 0, 0, (void*)"cspace::iGenMeshAnimationControl", 0};
static swig_type_info _swigt__p_iGenMeshAnimationControlFactory = {"_p_iGenMeshAnimationControlFactory", "iGenMeshAnimationControlFactory *", 0, 0, (void*)"cspace::iGenMeshAnimationControlFactory", 0};
static swig_type_info _swigt__p_iGenMeshAnimationControlType = {"_p_iGenMeshAnimationControlType", "iGenMeshAnimationControlType *", 0, 0, (void*)"cspace::iGenMeshAnimationControlType", 0};
static swig_type_info _swigt__p_iGenMeshSkeletonControlState = {"_p_iGenMeshSkeletonControlState", "iGenMeshSkeletonControlState *", 0, 0, (void*)"cspace::iGenMeshSkeletonControlState", 0};
static swig_type_info _swigt__p_iGeneralFactoryState = {"_p_iGeneralFactoryState", "iGeneralFactoryState *", 0, 0, (void*)"cspace::iGeneralFactoryState", 0};
static swig_type_info _swigt__p_iGeneralMeshCommonState = {"_p_iGeneralMeshCommonState", "iGeneralMeshCommonState *", 0, 0, (void*)"cspace::iGeneralMeshCommonState", 0};
static swig_type_info _swigt__p_iGeneralMeshState = {"_p_iGeneralMeshState", "iGeneralMeshState *", 0, 0, (void*)"cspace::iGeneralMeshState", 0};
static swig_type_info _swigt__p_iGeneralMeshSubMesh = {"_p_iGeneralMeshSubMesh", "iGeneralMeshSubMesh *", 0, 0, (void*)"cspace::iGeneralMeshSubMesh", 0};
static swig_type_info _swigt__p_iGraphics2D = {"_p_iGraphics2D", "iGraphics2D *", 0, 0, (void*)"cspace::iGraphics2D", 0};
static swig_type_info _swigt__p_iGraphics3D = {"_p_iGraphics3D", "iGraphics3D *", 0, 0, (void*)"cspace::iGraphics3D", 0};
static swig_type_info _swigt__p_iHalo = {"_p_iHalo", "iHalo *", 0, 0, (void*)"cspace::iHalo", 0};
static swig_type_info _swigt__p_iImage = {"_p_iImage", "iImage *", 0, 0, (void*)"cspace::iImage", 0};
static swig_type_info _swigt__p_iImageIO = {"_p_iImageIO", "iImageIO *", 0, 0, (void*)"cspace::iImageIO", 0};
static swig_type_info _swigt__p_iJoint = {"_p_iJoint", "iJoint *", 0, 0, (void*)"cspace::iJoint", 0};
static swig_type_info _swigt__p_iJoystickDriver = {"_p_iJoystickDriver", "iJoystickDriver *", 0, 0, (void*)"cspace::iJoystickDriver", 0};
static swig_type_info _swigt__p_iKeyComposer = {"_p_iKeyComposer", "iKeyComposer *", 0, 0, (void*)"cspace::iKeyComposer", 0};
static swig_type_info _swigt__p_iKeyboardDriver = {"_p_iKeyboardDriver", "iKeyboardDriver *", 0, 0, (void*)"cspace::iKeyboardDriver", 0};
static swig_type_info _swigt__p_iLODControl = {"_p_iLODControl", "iLODControl *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iLight = {"_p_iLight", "iLight *", 0, 0, (void*)"cspace::iLight", 0};
static swig_type_info _swigt__p_iLightCallback = {"_p_iLightCallback", "iLightCallback *", 0, 0, (void*)"cspace::iLightCallback", 0};
static swig_type_info _swigt__p_iLightIterator = {"_p_iLightIterator", "iLightIterator *", 0, 0, (void*)"cspace::iLightIterator", 0};
static swig_type_info _swigt__p_iLightList = {"_p_iLightList", "iLightList *", 0, 0, (void*)"cspace::iLightList", 0};
static swig_type_info _swigt__p_iLightVisibleCallback = {"_p_iLightVisibleCallback", "iLightVisibleCallback *", 0, 0, (void*)"cspace::iLightVisibleCallback", 0};
static swig_type_info _swigt__p_iLightingInfo = {"_p_iLightingInfo", "iLightingInfo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iLightingProcessData = {"_p_iLightingProcessData", "iLightingProcessData *", 0, 0, (void*)"cspace::iLightingProcessData", 0};
static swig_type_info _swigt__p_iLightingProcessInfo = {"_p_iLightingProcessInfo", "iLightingProcessInfo *", 0, 0, (void*)"cspace::iLightingProcessInfo", 0};
static swig_type_info _swigt__p_iLoader = {"_p_iLoader", "iLoader *", 0, 0, (void*)"cspace::iLoader", 0};
static swig_type_info _swigt__p_iLoaderContext = {"_p_iLoaderContext", "iLoaderContext *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iLoaderPlugin = {"_p_iLoaderPlugin", "iLoaderPlugin *", 0, 0, (void*)"cspace::iLoaderPlugin", 0};
static swig_type_info _swigt__p_iLoaderStatus = {"_p_iLoaderStatus", "iLoaderStatus *", 0, 0, (void*)"cspace::iLoaderStatus", 0};
static swig_type_info _swigt__p_iMapNode = {"_p_iMapNode", "iMapNode *", 0, 0, (void*)"cspace::iMapNode", 0};
static swig_type_info _swigt__p_iMaterial = {"_p_iMaterial", "iMaterial *", 0, 0, (void*)"cspace::iMaterial", 0};
static swig_type_info _swigt__p_iMaterialEngine = {"_p_iMaterialEngine", "iMaterialEngine *", 0, 0, (void*)"cspace::iMaterialEngine", 0};
static swig_type_info _swigt__p_iMaterialList = {"_p_iMaterialList", "iMaterialList *", 0, 0, (void*)"cspace::iMaterialList", 0};
static swig_type_info _swigt__p_iMaterialWrapper = {"_p_iMaterialWrapper", "iMaterialWrapper *", 0, 0, (void*)"cspace::iMaterialWrapper", 0};
static swig_type_info _swigt__p_iMeshDrawCallback = {"_p_iMeshDrawCallback", "iMeshDrawCallback *", 0, 0, (void*)"cspace::iMeshDrawCallback", 0};
static swig_type_info _swigt__p_iMeshFactoryList = {"_p_iMeshFactoryList", "iMeshFactoryList *", 0, 0, (void*)"cspace::iMeshFactoryList", 0};
static swig_type_info _swigt__p_iMeshFactoryWrapper = {"_p_iMeshFactoryWrapper", "iMeshFactoryWrapper *", 0, 0, (void*)"cspace::iMeshFactoryWrapper", 0};
static swig_type_info _swigt__p_iMeshGenerator = {"_p_iMeshGenerator", "iMeshGenerator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iMeshList = {"_p_iMeshList", "iMeshList *", 0, 0, (void*)"cspace::iMeshList", 0};
static swig_type_info _swigt__p_iMeshObject = {"_p_iMeshObject", "iMeshObject *", 0, 0, (void*)"cspace::iMeshObject", 0};
static swig_type_info _swigt__p_iMeshObjectDrawCallback = {"_p_iMeshObjectDrawCallback", "iMeshObjectDrawCallback *", 0, 0, (void*)"cspace::iMeshObjectDrawCallback", 0};
static swig_type_info _swigt__p_iMeshObjectFactory = {"_p_iMeshObjectFactory", "iMeshObjectFactory *", 0, 0, (void*)"cspace::iMeshObjectFactory", 0};
static swig_type_info _swigt__p_iMeshObjectType = {"_p_iMeshObjectType", "iMeshObjectType *", 0, 0, (void*)"cspace::iMeshObjectType", 0};
static swig_type_info _swigt__p_iMeshWrapper = {"_p_iMeshWrapper", "iMeshWrapper *", 0, 0, (void*)"cspace::iMeshWrapper", 0};
static swig_type_info _swigt__p_iMeshWrapperIterator = {"_p_iMeshWrapperIterator", "iMeshWrapperIterator *", 0, 0, (void*)"cspace::iMeshWrapperIterator", 0};
static swig_type_info _swigt__p_iMissingLoaderData = {"_p_iMissingLoaderData", "iMissingLoaderData *", 0, 0, (void*)"cspace::iMissingLoaderData", 0};
static swig_type_info _swigt__p_iMouseDriver = {"_p_iMouseDriver", "iMouseDriver *", 0, 0, (void*)"cspace::iMouseDriver", 0};
static swig_type_info _swigt__p_iMovable = {"_p_iMovable", "iMovable *", 0, 0, (void*)"cspace::iMovable", 0};
static swig_type_info _swigt__p_iMovableListener = {"_p_iMovableListener", "iMovableListener *", 0, 0, (void*)"cspace::iMovableListener", 0};
static swig_type_info _swigt__p_iMovieRecorder = {"_p_iMovieRecorder", "iMovieRecorder *", 0, 0, (void*)"cspace::iMovieRecorder", 0};
static swig_type_info _swigt__p_iNativeWindow = {"_p_iNativeWindow", "iNativeWindow *", 0, 0, (void*)"cspace::iNativeWindow", 0};
static swig_type_info _swigt__p_iNativeWindowManager = {"_p_iNativeWindowManager", "iNativeWindowManager *", 0, 0, (void*)"cspace::iNativeWindowManager", 0};
static swig_type_info _swigt__p_iNovaHalo = {"_p_iNovaHalo", "iNovaHalo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iODEAMotorJoint = {"_p_iODEAMotorJoint", "iODEAMotorJoint *", 0, 0, (void*)"cspace::iODEAMotorJoint", 0};
static swig_type_info _swigt__p_iODEBallJoint = {"_p_iODEBallJoint", "iODEBallJoint *", 0, 0, (void*)"cspace::iODEBallJoint", 0};
static swig_type_info _swigt__p_iODEDynamicState = {"_p_iODEDynamicState", "iODEDynamicState *", 0, 0, (void*)"cspace::iODEDynamicState", 0};
static swig_type_info _swigt__p_iODEDynamicSystemState = {"_p_iODEDynamicSystemState", "iODEDynamicSystemState *", 0, 0, (void*)"cspace::iODEDynamicSystemState", 0};
static swig_type_info _swigt__p_iODEFrameUpdateCallback = {"_p_iODEFrameUpdateCallback", "iODEFrameUpdateCallback *", 0, 0, (void*)"cspace::iODEFrameUpdateCallback", 0};
static swig_type_info _swigt__p_iODEGeneralJointState = {"_p_iODEGeneralJointState", "iODEGeneralJointState *", 0, 0, (void*)"cspace::iODEGeneralJointState", 0};
static swig_type_info _swigt__p_iODEHinge2Joint = {"_p_iODEHinge2Joint", "iODEHinge2Joint *", 0, 0, (void*)"cspace::iODEHinge2Joint", 0};
static swig_type_info _swigt__p_iODEHingeJoint = {"_p_iODEHingeJoint", "iODEHingeJoint *", 0, 0, (void*)"cspace::iODEHingeJoint", 0};
static swig_type_info _swigt__p_iODEJointState = {"_p_iODEJointState", "iODEJointState *", 0, 0, (void*)"cspace::iODEJointState", 0};
static swig_type_info _swigt__p_iODESliderJoint = {"_p_iODESliderJoint", "iODESliderJoint *", 0, 0, (void*)"cspace::iODESliderJoint", 0};
static swig_type_info _swigt__p_iODEUniversalJoint = {"_p_iODEUniversalJoint", "iODEUniversalJoint *", 0, 0, (void*)"cspace::iODEUniversalJoint", 0};
static swig_type_info _swigt__p_iObject = {"_p_iObject", "iObject *", 0, 0, (void*)"cspace::iObject", 0};
static swig_type_info _swigt__p_iObjectIterator = {"_p_iObjectIterator", "iObjectIterator *", 0, 0, (void*)"cspace::iObjectIterator", 0};
static swig_type_info _swigt__p_iObjectModel = {"_p_iObjectModel", "iObjectModel *", 0, 0, (void*)"cspace::iObjectModel", 0};
static swig_type_info _swigt__p_iObjectModelListener = {"_p_iObjectModelListener", "iObjectModelListener *", 0, 0, (void*)"cspace::iObjectModelListener", 0};
static swig_type_info _swigt__p_iObjectNameChangeListener = {"_p_iObjectNameChangeListener", "iObjectNameChangeListener *", 0, 0, (void*)"cspace::iObjectNameChangeListener", 0};
static swig_type_info _swigt__p_iObjectRegistry = {"_p_iObjectRegistry", "iObjectRegistry *", 0, 0, (void*)"cspace::iObjectRegistry", 0};
static swig_type_info _swigt__p_iObjectRegistryIterator = {"_p_iObjectRegistryIterator", "iObjectRegistryIterator *", 0, 0, (void*)"cspace::iObjectRegistryIterator", 0};
static swig_type_info _swigt__p_iOffscreenCanvasCallback = {"_p_iOffscreenCanvasCallback", "iOffscreenCanvasCallback *", 0, 0, (void*)"cspace::iOffscreenCanvasCallback", 0};
static swig_type_info _swigt__p_iParameterESM = {"_p_iParameterESM", "iParameterESM *", 0, 0, (void*)"cspace::iParameterESM", 0};
static swig_type_info _swigt__p_iParticleBuiltinEffectorFactory = {"_p_iParticleBuiltinEffectorFactory", "iParticleBuiltinEffectorFactory *", 0, 0, (void*)"cspace::iParticleBuiltinEffectorFactory", 0};
static swig_type_info _swigt__p_iParticleBuiltinEffectorForce = {"_p_iParticleBuiltinEffectorForce", "iParticleBuiltinEffectorForce *", 0, 0, (void*)"cspace::iParticleBuiltinEffectorForce", 0};
static swig_type_info _swigt__p_iParticleBuiltinEffectorLinColor = {"_p_iParticleBuiltinEffectorLinColor", "iParticleBuiltinEffectorLinColor *", 0, 0, (void*)"cspace::iParticleBuiltinEffectorLinColor", 0};
static swig_type_info _swigt__p_iParticleBuiltinEffectorVelocityField = {"_p_iParticleBuiltinEffectorVelocityField", "iParticleBuiltinEffectorVelocityField *", 0, 0, (void*)"cspace::iParticleBuiltinEffectorVelocityField", 0};
static swig_type_info _swigt__p_iParticleBuiltinEmitterBase = {"_p_iParticleBuiltinEmitterBase", "iParticleBuiltinEmitterBase *", 0, 0, (void*)"cspace::iParticleBuiltinEmitterBase", 0};
static swig_type_info _swigt__p_iParticleBuiltinEmitterBox = {"_p_iParticleBuiltinEmitterBox", "iParticleBuiltinEmitterBox *", 0, 0, (void*)"cspace::iParticleBuiltinEmitterBox", 0};
static swig_type_info _swigt__p_iParticleBuiltinEmitterCone = {"_p_iParticleBuiltinEmitterCone", "iParticleBuiltinEmitterCone *", 0, 0, (void*)"cspace::iParticleBuiltinEmitterCone", 0};
static swig_type_info _swigt__p_iParticleBuiltinEmitterCylinder = {"_p_iParticleBuiltinEmitterCylinder", "iParticleBuiltinEmitterCylinder *", 0, 0, (void*)"cspace::iParticleBuiltinEmitterCylinder", 0};
static swig_type_info _swigt__p_iParticleBuiltinEmitterFactory = {"_p_iParticleBuiltinEmitterFactory", "iParticleBuiltinEmitterFactory *", 0, 0, (void*)"cspace::iParticleBuiltinEmitterFactory", 0};
static swig_type_info _swigt__p_iParticleBuiltinEmitterSphere = {"_p_iParticleBuiltinEmitterSphere", "iParticleBuiltinEmitterSphere *", 0, 0, (void*)"cspace::iParticleBuiltinEmitterSphere", 0};
static swig_type_info _swigt__p_iParticleEffector = {"_p_iParticleEffector", "iParticleEffector *", 0, 0, (void*)"cspace::iParticleEffector", 0};
static swig_type_info _swigt__p_iParticleEmitter = {"_p_iParticleEmitter", "iParticleEmitter *", 0, 0, (void*)"cspace::iParticleEmitter", 0};
static swig_type_info _swigt__p_iParticleSystem = {"_p_iParticleSystem", "iParticleSystem *", 0, 0, (void*)"cspace::iParticleSystem", 0};
static swig_type_info _swigt__p_iParticleSystemBase = {"_p_iParticleSystemBase", "iParticleSystemBase *", 0, 0, (void*)"cspace::iParticleSystemBase", 0};
static swig_type_info _swigt__p_iParticleSystemFactory = {"_p_iParticleSystemFactory", "iParticleSystemFactory *", 0, 0, (void*)"cspace::iParticleSystemFactory", 0};
static swig_type_info _swigt__p_iPath = {"_p_iPath", "iPath *", 0, 0, (void*)"cspace::iPath", 0};
static swig_type_info _swigt__p_iPluginIterator = {"_p_iPluginIterator", "iPluginIterator *", 0, 0, (void*)"cspace::iPluginIterator", 0};
static swig_type_info _swigt__p_iPluginManager = {"_p_iPluginManager", "iPluginManager *", 0, 0, (void*)"cspace::iPluginManager", 0};
static swig_type_info _swigt__p_iPolygonHandle = {"_p_iPolygonHandle", "iPolygonHandle *", 0, 0, (void*)"cspace::iPolygonHandle", 0};
static swig_type_info _swigt__p_iPolygonMesh = {"_p_iPolygonMesh", "iPolygonMesh *", 0, 0, (void*)"cspace::iPolygonMesh", 0};
static swig_type_info _swigt__p_iPortal = {"_p_iPortal", "iPortal *", 0, 0, (void*)"cspace::iPortal", 0};
static swig_type_info _swigt__p_iPortalCallback = {"_p_iPortalCallback", "iPortalCallback *", 0, 0, (void*)"cspace::iPortalCallback", 0};
static swig_type_info _swigt__p_iPortalContainer = {"_p_iPortalContainer", "iPortalContainer *", 0, 0, (void*)"cspace::iPortalContainer", 0};
static swig_type_info _swigt__p_iProgressMeter = {"_p_iProgressMeter", "iProgressMeter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iRegion = {"_p_iRegion", "iRegion *", 0, 0, (void*)"cspace::iRegion", 0};
static swig_type_info _swigt__p_iRegionList = {"_p_iRegionList", "iRegionList *", 0, 0, (void*)"cspace::iRegionList", 0};
static swig_type_info _swigt__p_iRenderBuffer = {"_p_iRenderBuffer", "iRenderBuffer *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iRenderLoop = {"_p_iRenderLoop", "iRenderLoop *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iRenderLoopManager = {"_p_iRenderLoopManager", "iRenderLoopManager *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iRenderView = {"_p_iRenderView", "iRenderView *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iRendererLightmap = {"_p_iRendererLightmap", "iRendererLightmap *", 0, 0, (void*)"cspace::iRendererLightmap", 0};
static swig_type_info _swigt__p_iReporter = {"_p_iReporter", "iReporter *", 0, 0, (void*)"cspace::iReporter", 0};
static swig_type_info _swigt__p_iReporterIterator = {"_p_iReporterIterator", "iReporterIterator *", 0, 0, (void*)"cspace::iReporterIterator", 0};
static swig_type_info _swigt__p_iReporterListener = {"_p_iReporterListener", "iReporterListener *", 0, 0, (void*)"cspace::iReporterListener", 0};
static swig_type_info _swigt__p_iRigidBody = {"_p_iRigidBody", "iRigidBody *", 0, 0, (void*)"cspace::iRigidBody", 0};
static swig_type_info _swigt__p_iSCF = {"_p_iSCF", "iSCF *", 0, 0, (void*)"cspace::iSCF", 0};
static swig_type_info _swigt__p_iSaver = {"_p_iSaver", "iSaver *", 0, 0, (void*)"cspace::iSaver", 0};
static swig_type_info _swigt__p_iSceneNode = {"_p_iSceneNode", "iSceneNode *", 0, 0, (void*)"cspace::iSceneNode", 0};
static swig_type_info _swigt__p_iSceneNodeArray = {"_p_iSceneNodeArray", "iSceneNodeArray *", 0, 0, (void*)"cspace::iSceneNodeArray", 0};
static swig_type_info _swigt__p_iScript = {"_p_iScript", "iScript *", 0, 0, (void*)"cspace::iScript", 0};
static swig_type_info _swigt__p_iScriptObject = {"_p_iScriptObject", "iScriptObject *", 0, 0, (void*)"cspace::iScriptObject", 0};
static swig_type_info _swigt__p_iSector = {"_p_iSector", "iSector *", 0, 0, (void*)"cspace::iSector", 0};
static swig_type_info _swigt__p_iSectorCallback = {"_p_iSectorCallback", "iSectorCallback *", 0, 0, (void*)"cspace::iSectorCallback", 0};
static swig_type_info _swigt__p_iSectorIterator = {"_p_iSectorIterator", "iSectorIterator *", 0, 0, (void*)"cspace::iSectorIterator", 0};
static swig_type_info _swigt__p_iSectorList = {"_p_iSectorList", "iSectorList *", 0, 0, (void*)"cspace::iSectorList", 0};
static swig_type_info _swigt__p_iSectorMeshCallback = {"_p_iSectorMeshCallback", "iSectorMeshCallback *", 0, 0, (void*)"cspace::iSectorMeshCallback", 0};
static swig_type_info _swigt__p_iSequence = {"_p_iSequence", "iSequence *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iSequenceManager = {"_p_iSequenceManager", "iSequenceManager *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iSequenceTimedOperation = {"_p_iSequenceTimedOperation", "iSequenceTimedOperation *", 0, 0, (void*)"cspace::iSequenceTimedOperation", 0};
static swig_type_info _swigt__p_iSequenceTrigger = {"_p_iSequenceTrigger", "iSequenceTrigger *", 0, 0, (void*)"cspace::iSequenceTrigger", 0};
static swig_type_info _swigt__p_iSequenceWrapper = {"_p_iSequenceWrapper", "iSequenceWrapper *", 0, 0, (void*)"cspace::iSequenceWrapper", 0};
static swig_type_info _swigt__p_iShader = {"_p_iShader", "iShader *", 0, 0, (void*)"cspace::iShader", 0};
static swig_type_info _swigt__p_iShaderCompiler = {"_p_iShaderCompiler", "iShaderCompiler *", 0, 0, (void*)"cspace::iShaderCompiler", 0};
static swig_type_info _swigt__p_iShaderManager = {"_p_iShaderManager", "iShaderManager *", 0, 0, (void*)"cspace::iShaderManager", 0};
static swig_type_info _swigt__p_iShaderPriorityList = {"_p_iShaderPriorityList", "iShaderPriorityList *", 0, 0, (void*)"cspace::iShaderPriorityList", 0};
static swig_type_info _swigt__p_iShaderVarStack = {"_p_iShaderVarStack", "iShaderVarStack *", 0, 0, (void*)"cspace::iShaderVarStack", 0};
static swig_type_info _swigt__p_iShaderVariableAccessor = {"_p_iShaderVariableAccessor", "iShaderVariableAccessor *", 0, 0, (void*)"cspace::iShaderVariableAccessor", 0};
static swig_type_info _swigt__p_iShaderVariableContext = {"_p_iShaderVariableContext", "iShaderVariableContext *", 0, 0, (void*)"cspace::iShaderVariableContext", 0};
static swig_type_info _swigt__p_iShadowBlockList = {"_p_iShadowBlockList", "iShadowBlockList *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iShadowCaster = {"_p_iShadowCaster", "iShadowCaster *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iShadowReceiver = {"_p_iShadowReceiver", "iShadowReceiver *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iSharedVariable = {"_p_iSharedVariable", "iSharedVariable *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iSharedVariableList = {"_p_iSharedVariableList", "iSharedVariableList *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iSimpleFormerState = {"_p_iSimpleFormerState", "iSimpleFormerState *", 0, 0, (void*)"cspace::iSimpleFormerState", 0};
static swig_type_info _swigt__p_iSkeleton = {"_p_iSkeleton", "iSkeleton *", 0, 0, (void*)"cspace::iSkeleton", 0};
static swig_type_info _swigt__p_iSkeletonBone = {"_p_iSkeletonBone", "iSkeletonBone *", 0, 0, (void*)"cspace::iSkeletonBone", 0};
static swig_type_info _swigt__p_iSkeletonBoneFactory = {"_p_iSkeletonBoneFactory", "iSkeletonBoneFactory *", 0, 0, (void*)"cspace::iSkeletonBoneFactory", 0};
static swig_type_info _swigt__p_iSkeletonBoneRagdollInfo = {"_p_iSkeletonBoneRagdollInfo", "iSkeletonBoneRagdollInfo *", 0, 0, (void*)"cspace::iSkeletonBoneRagdollInfo", 0};
static swig_type_info _swigt__p_iSkeletonBoneUpdateCallback = {"_p_iSkeletonBoneUpdateCallback", "iSkeletonBoneUpdateCallback *", 0, 0, (void*)"cspace::iSkeletonBoneUpdateCallback", 0};
static swig_type_info _swigt__p_iSkeletonFactory = {"_p_iSkeletonFactory", "iSkeletonFactory *", 0, 0, (void*)"cspace::iSkeletonFactory", 0};
static swig_type_info _swigt__p_iSkeletonGraveyard = {"_p_iSkeletonGraveyard", "iSkeletonGraveyard *", 0, 0, (void*)"cspace::iSkeletonGraveyard", 0};
static swig_type_info _swigt__p_iSkeletonScript = {"_p_iSkeletonScript", "iSkeletonScript *", 0, 0, (void*)"cspace::iSkeletonScript", 0};
static swig_type_info _swigt__p_iSkeletonScriptCallback = {"_p_iSkeletonScriptCallback", "iSkeletonScriptCallback *", 0, 0, (void*)"cspace::iSkeletonScriptCallback", 0};
static swig_type_info _swigt__p_iSkeletonScriptKeyFrame = {"_p_iSkeletonScriptKeyFrame", "iSkeletonScriptKeyFrame *", 0, 0, (void*)"cspace::iSkeletonScriptKeyFrame", 0};
static swig_type_info _swigt__p_iSkeletonSocket = {"_p_iSkeletonSocket", "iSkeletonSocket *", 0, 0, (void*)"cspace::iSkeletonSocket", 0};
static swig_type_info _swigt__p_iSkeletonSocketFactory = {"_p_iSkeletonSocketFactory", "iSkeletonSocketFactory *", 0, 0, (void*)"cspace::iSkeletonSocketFactory", 0};
static swig_type_info _swigt__p_iSkeletonUpdateCallback = {"_p_iSkeletonUpdateCallback", "iSkeletonUpdateCallback *", 0, 0, (void*)"cspace::iSkeletonUpdateCallback", 0};
static swig_type_info _swigt__p_iSndSysData = {"_p_iSndSysData", "iSndSysData *", 0, 0, (void*)"cspace::iSndSysData", 0};
static swig_type_info _swigt__p_iSndSysListener = {"_p_iSndSysListener", "iSndSysListener *", 0, 0, (void*)"cspace::iSndSysListener", 0};
static swig_type_info _swigt__p_iSndSysLoader = {"_p_iSndSysLoader", "iSndSysLoader *", 0, 0, (void*)"cspace::iSndSysLoader", 0};
static swig_type_info _swigt__p_iSndSysManager = {"_p_iSndSysManager", "iSndSysManager *", 0, 0, (void*)"cspace::iSndSysManager", 0};
static swig_type_info _swigt__p_iSndSysRenderer = {"_p_iSndSysRenderer", "iSndSysRenderer *", 0, 0, (void*)"cspace::iSndSysRenderer", 0};
static swig_type_info _swigt__p_iSndSysRendererCallback = {"_p_iSndSysRendererCallback", "iSndSysRendererCallback *", 0, 0, (void*)"cspace::iSndSysRendererCallback", 0};
static swig_type_info _swigt__p_iSndSysRendererSoftware = {"_p_iSndSysRendererSoftware", "iSndSysRendererSoftware *", 0, 0, (void*)"cspace::iSndSysRendererSoftware", 0};
static swig_type_info _swigt__p_iSndSysSoftwareDriver = {"_p_iSndSysSoftwareDriver", "iSndSysSoftwareDriver *", 0, 0, (void*)"cspace::iSndSysSoftwareDriver", 0};
static swig_type_info _swigt__p_iSndSysSoftwareFilter3D = {"_p_iSndSysSoftwareFilter3D", "iSndSysSoftwareFilter3D *", 0, 0, (void*)"cspace::iSndSysSoftwareFilter3D", 0};
static swig_type_info _swigt__p_iSndSysSoftwareFilter3DProperties = {"_p_iSndSysSoftwareFilter3DProperties", "iSndSysSoftwareFilter3DProperties *", 0, 0, (void*)"cspace::iSndSysSoftwareFilter3DProperties", 0};
static swig_type_info _swigt__p_iSndSysSoftwareOutputFilter = {"_p_iSndSysSoftwareOutputFilter", "iSndSysSoftwareOutputFilter *", 0, 0, (void*)"cspace::iSndSysSoftwareOutputFilter", 0};
static swig_type_info _swigt__p_iSndSysSource = {"_p_iSndSysSource", "iSndSysSource *", 0, 0, (void*)"cspace::iSndSysSource", 0};
static swig_type_info _swigt__p_iSndSysSourceSoftware = {"_p_iSndSysSourceSoftware", "iSndSysSourceSoftware *", 0, 0, (void*)"cspace::iSndSysSourceSoftware", 0};
static swig_type_info _swigt__p_iSndSysSourceSoftware3D = {"_p_iSndSysSourceSoftware3D", "iSndSysSourceSoftware3D *", 0, 0, (void*)"cspace::iSndSysSourceSoftware3D", 0};
static swig_type_info _swigt__p_iSndSysStream = {"_p_iSndSysStream", "iSndSysStream *", 0, 0, (void*)"cspace::iSndSysStream", 0};
static swig_type_info _swigt__p_iSndSysStreamCallback = {"_p_iSndSysStreamCallback", "iSndSysStreamCallback *", 0, 0, (void*)"cspace::iSndSysStreamCallback", 0};
static swig_type_info _swigt__p_iSndSysWrapper = {"_p_iSndSysWrapper", "iSndSysWrapper *", 0, 0, (void*)"cspace::iSndSysWrapper", 0};
static swig_type_info _swigt__p_iSprite2DFactoryState = {"_p_iSprite2DFactoryState", "iSprite2DFactoryState *", 0, 0, (void*)"cspace::iSprite2DFactoryState", 0};
static swig_type_info _swigt__p_iSprite2DState = {"_p_iSprite2DState", "iSprite2DState *", 0, 0, (void*)"cspace::iSprite2DState", 0};
static swig_type_info _swigt__p_iSprite2DUVAnimation = {"_p_iSprite2DUVAnimation", "iSprite2DUVAnimation *", 0, 0, (void*)"cspace::iSprite2DUVAnimation", 0};
static swig_type_info _swigt__p_iSprite2DUVAnimationFrame = {"_p_iSprite2DUVAnimationFrame", "iSprite2DUVAnimationFrame *", 0, 0, (void*)"cspace::iSprite2DUVAnimationFrame", 0};
static swig_type_info _swigt__p_iSprite3DFactoryState = {"_p_iSprite3DFactoryState", "iSprite3DFactoryState *", 0, 0, (void*)"cspace::iSprite3DFactoryState", 0};
static swig_type_info _swigt__p_iSprite3DState = {"_p_iSprite3DState", "iSprite3DState *", 0, 0, (void*)"cspace::iSprite3DState", 0};
static swig_type_info _swigt__p_iSpriteAction = {"_p_iSpriteAction", "iSpriteAction *", 0, 0, (void*)"cspace::iSpriteAction", 0};
static swig_type_info _swigt__p_iSpriteCal3DFactoryState = {"_p_iSpriteCal3DFactoryState", "iSpriteCal3DFactoryState *", 0, 0, (void*)"cspace::iSpriteCal3DFactoryState", 0};
static swig_type_info _swigt__p_iSpriteCal3DSocket = {"_p_iSpriteCal3DSocket", "iSpriteCal3DSocket *", 0, 0, (void*)"cspace::iSpriteCal3DSocket", 0};
static swig_type_info _swigt__p_iSpriteCal3DState = {"_p_iSpriteCal3DState", "iSpriteCal3DState *", 0, 0, (void*)"cspace::iSpriteCal3DState", 0};
static swig_type_info _swigt__p_iSpriteFrame = {"_p_iSpriteFrame", "iSpriteFrame *", 0, 0, (void*)"cspace::iSpriteFrame", 0};
static swig_type_info _swigt__p_iSpriteSocket = {"_p_iSpriteSocket", "iSpriteSocket *", 0, 0, (void*)"cspace::iSpriteSocket", 0};
static swig_type_info _swigt__p_iStandardReporterListener = {"_p_iStandardReporterListener", "iStandardReporterListener *", 0, 0, (void*)"cspace::iStandardReporterListener", 0};
static swig_type_info _swigt__p_iStreamSource = {"_p_iStreamSource", "iStreamSource *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iString = {"_p_iString", "iString *", 0, 0, (void*)"cspace::iString", 0};
static swig_type_info _swigt__p_iStringArray = {"_p_iStringArray", "iStringArray *", 0, 0, (void*)"cspace::iStringArray", 0};
static swig_type_info _swigt__p_iStringSet = {"_p_iStringSet", "iStringSet *", 0, 0, (void*)"cspace::iStringSet", 0};
static swig_type_info _swigt__p_iSuperLightmap = {"_p_iSuperLightmap", "iSuperLightmap *", 0, 0, (void*)"cspace::iSuperLightmap", 0};
static swig_type_info _swigt__p_iTerraFormer = {"_p_iTerraFormer", "iTerraFormer *", 0, 0, (void*)"cspace::iTerraFormer", 0};
static swig_type_info _swigt__p_iTerraSampler = {"_p_iTerraSampler", "iTerraSampler *", 0, 0, (void*)"cspace::iTerraSampler", 0};
static swig_type_info _swigt__p_iTerrainFactoryState = {"_p_iTerrainFactoryState", "iTerrainFactoryState *", 0, 0, (void*)"cspace::iTerrainFactoryState", 0};
static swig_type_info _swigt__p_iTerrainObjectState = {"_p_iTerrainObjectState", "iTerrainObjectState *", 0, 0, (void*)"cspace::iTerrainObjectState", 0};
static swig_type_info _swigt__p_iTextureCallback = {"_p_iTextureCallback", "iTextureCallback *", 0, 0, (void*)"cspace::iTextureCallback", 0};
static swig_type_info _swigt__p_iTextureHandle = {"_p_iTextureHandle", "iTextureHandle *", 0, 0, (void*)"cspace::iTextureHandle", 0};
static swig_type_info _swigt__p_iTextureList = {"_p_iTextureList", "iTextureList *", 0, 0, (void*)"cspace::iTextureList", 0};
static swig_type_info _swigt__p_iTextureManager = {"_p_iTextureManager", "iTextureManager *", 0, 0, (void*)"cspace::iTextureManager", 0};
static swig_type_info _swigt__p_iTextureWrapper = {"_p_iTextureWrapper", "iTextureWrapper *", 0, 0, (void*)"cspace::iTextureWrapper", 0};
static swig_type_info _swigt__p_iThingEnvironment = {"_p_iThingEnvironment", "iThingEnvironment *", 0, 0, (void*)"cspace::iThingEnvironment", 0};
static swig_type_info _swigt__p_iThingFactoryState = {"_p_iThingFactoryState", "iThingFactoryState *", 0, 0, (void*)"cspace::iThingFactoryState", 0};
static swig_type_info _swigt__p_iThingState = {"_p_iThingState", "iThingState *", 0, 0, (void*)"cspace::iThingState", 0};
static swig_type_info _swigt__p_iVFS = {"_p_iVFS", "iVFS *", 0, 0, (void*)"cspace::iVFS", 0};
static swig_type_info _swigt__p_iVerbosityManager = {"_p_iVerbosityManager", "iVerbosityManager *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_iView = {"_p_iView", "iView *", 0, 0, (void*)"cspace::iView", 0};
static swig_type_info _swigt__p_iVirtualClock = {"_p_iVirtualClock", "iVirtualClock *", 0, 0, (void*)"cspace::iVirtualClock", 0};
static swig_type_info _swigt__p_iVisibilityCuller = {"_p_iVisibilityCuller", "iVisibilityCuller *", 0, 0, (void*)"cspace::iVisibilityCuller", 0};
static swig_type_info _swigt__p_iVisibilityCullerListener = {"_p_iVisibilityCullerListener", "iVisibilityCullerListener *", 0, 0, (void*)"cspace::iVisibilityCullerListener", 0};
static swig_type_info _swigt__p_iVisibilityObject = {"_p_iVisibilityObject", "iVisibilityObject *", 0, 0, (void*)"cspace::iVisibilityObject", 0};
static swig_type_info _swigt__p_iVisibilityObjectIterator = {"_p_iVisibilityObjectIterator", "iVisibilityObjectIterator *", 0, 0, (void*)"cspace::iVisibilityObjectIterator", 0};
static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_int16_t = {"_p_int16_t", "int16_t *|int16 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_int32_t = {"_p_int32_t", "int32_t *|int32 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_int64_t = {"_p_int64_t", "int64_t *|int64 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_int8_t = {"_p_int8_t", "int8_t *|int8 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_int_least64_t = {"_p_int_least64_t", "int_least64_t *|longlong *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_csImageIOFileFormatDescription = {"_p_p_csImageIOFileFormatDescription", "csImageIOFileFormatDescription **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_csRenderMesh = {"_p_p_csRenderMesh", "csRenderMesh **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_csReversibleTransform = {"_p_p_csReversibleTransform", "csReversibleTransform **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_csOrthoTransform = {"_p_p_csOrthoTransform", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_csShaderVariable = {"_p_p_csShaderVariable", "csShaderVariable **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_csVector3 = {"_p_p_csVector3", "csVector3 **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iBase = {"_p_p_iBase", "iBase **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iAwsRGBKey = {"_p_p_iAwsRGBKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iRendererLightmap = {"_p_p_iRendererLightmap", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSuperLightmap = {"_p_p_iSuperLightmap", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iConsoleOutput = {"_p_p_iConsoleOutput", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iTerrainObjectState = {"_p_p_iTerrainObjectState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iClipper2D = {"_p_p_iClipper2D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleEffector = {"_p_p_iParticleEffector", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDebugHelper = {"_p_p_iDebugHelper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEDynamicState = {"_p_p_iODEDynamicState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDocumentAttribute = {"_p_p_iDocumentAttribute", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEHingeJoint = {"_p_p_iODEHingeJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMaterialEngine = {"_p_p_iMaterialEngine", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iImageIO = {"_p_p_iImageIO", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iPath = {"_p_p_iPath", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSCF = {"_p_p_iSCF", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLoaderStatus = {"_p_p_iLoaderStatus", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEBallJoint = {"_p_p_iODEBallJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGeneralMeshState = {"_p_p_iGeneralMeshState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDynamics = {"_p_p_iDynamics", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParameterESM = {"_p_p_iParameterESM", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysSoftwareOutputFilter = {"_p_p_iSndSysSoftwareOutputFilter", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iArrayChangeAllTcsShaderVariable_p_t = {"_p_p_iArrayChangeAllTcsShaderVariable_p_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iArrayChangeElementsTcsShaderVariable_p_t = {"_p_p_iArrayChangeElementsTcsShaderVariable_p_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iArrayReadOnlyTcsShaderVariable_p_t = {"_p_p_iArrayReadOnlyTcsShaderVariable_p_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsIntKey = {"_p_p_iAwsIntKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEmitterCylinder = {"_p_p_iParticleBuiltinEmitterCylinder", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEDynamicSystemState = {"_p_p_iODEDynamicSystemState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshList = {"_p_p_iMeshList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEventPlug = {"_p_p_iEventPlug", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEmitterBox = {"_p_p_iParticleBuiltinEmitterBox", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEJointState = {"_p_p_iODEJointState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEGeneralJointState = {"_p_p_iODEGeneralJointState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshFactoryWrapper = {"_p_p_iMeshFactoryWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysWrapper = {"_p_p_iSndSysWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSequenceWrapper = {"_p_p_iSequenceWrapper", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iConsoleWatcher = {"_p_p_iConsoleWatcher", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEngine = {"_p_p_iEngine", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSimpleFormerState = {"_p_p_iSimpleFormerState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMaterial = {"_p_p_iMaterial", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSprite2DUVAnimation = {"_p_p_iSprite2DUVAnimation", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_scfImplementation1TcsPath_iPath_t = {"_p_p_scfImplementation1TcsPath_iPath_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iPolygonMesh = {"_p_p_iPolygonMesh", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iTerrainFactoryState = {"_p_p_iTerrainFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iThingFactoryState = {"_p_p_iThingFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSpriteCal3DFactoryState = {"_p_p_iSpriteCal3DFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSprite3DFactoryState = {"_p_p_iSprite3DFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSprite2DFactoryState = {"_p_p_iSprite2DFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGeneralFactoryState = {"_p_p_iGeneralFactoryState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleEmitter = {"_p_p_iParticleEmitter", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGraphics2D = {"_p_p_iGraphics2D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDocument = {"_p_p_iDocument", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iShaderPriorityList = {"_p_p_iShaderPriorityList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysSourceSoftware3D = {"_p_p_iSndSysSourceSoftware3D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDataBuffer = {"_p_p_iDataBuffer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshObject = {"_p_p_iMeshObject", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iScriptObject = {"_p_p_iScriptObject", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonGraveyard = {"_p_p_iSkeletonGraveyard", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSequenceTimedOperation = {"_p_p_iSequenceTimedOperation", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iHalo = {"_p_p_iHalo", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iFontServer = {"_p_p_iFontServer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iStringArray = {"_p_p_iStringArray", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iReporter = {"_p_p_iReporter", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEventAttributeIterator = {"_p_p_iEventAttributeIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iObjectRegistryIterator = {"_p_p_iObjectRegistryIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iObjectIterator = {"_p_p_iObjectIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshWrapperIterator = {"_p_p_iMeshWrapperIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSectorIterator = {"_p_p_iSectorIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLightIterator = {"_p_p_iLightIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iReporterIterator = {"_p_p_iReporterIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDocumentNodeIterator = {"_p_p_iDocumentNodeIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDocumentAttributeIterator = {"_p_p_iDocumentAttributeIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iConfigIterator = {"_p_p_iConfigIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iPluginIterator = {"_p_p_iPluginIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iVisibilityObjectIterator = {"_p_p_iVisibilityObjectIterator", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMapNode = {"_p_p_iMapNode", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGenMeshAnimationControl = {"_p_p_iGenMeshAnimationControl", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iObjectRegistry = {"_p_p_iObjectRegistry", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEventNameRegistry = {"_p_p_iEventNameRegistry", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysListener = {"_p_p_iSndSysListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iVisibilityCullerListener = {"_p_p_iVisibilityCullerListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iObjectModelListener = {"_p_p_iObjectModelListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iCameraSectorListener = {"_p_p_iCameraSectorListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMovableListener = {"_p_p_iMovableListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iObjectNameChangeListener = {"_p_p_iObjectNameChangeListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iReporterListener = {"_p_p_iReporterListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iStandardReporterListener = {"_p_p_iStandardReporterListener", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDocumentSystem = {"_p_p_iDocumentSystem", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_csPath = {"_p_p_csPath", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysSourceSoftware = {"_p_p_iSndSysSourceSoftware", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysRendererSoftware = {"_p_p_iSndSysRendererSoftware", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSprite2DUVAnimationFrame = {"_p_p_iSprite2DUVAnimationFrame", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iTerraFormer = {"_p_p_iTerraFormer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeleton = {"_p_p_iSkeleton", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSequenceTrigger = {"_p_p_iSequenceTrigger", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iPortalContainer = {"_p_p_iPortalContainer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsKeyContainer = {"_p_p_iAwsKeyContainer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODESliderJoint = {"_p_p_iODESliderJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEAMotorJoint = {"_p_p_iODEAMotorJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEHinge2Joint = {"_p_p_iODEHinge2Joint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iRegionList = {"_p_p_iRegionList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iCameraPositionList = {"_p_p_iCameraPositionList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSpriteAction = {"_p_p_iSpriteAction", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLightList = {"_p_p_iLightList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iFile = {"_p_p_iFile", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshObjectDrawCallback = {"_p_p_iMeshObjectDrawCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonUpdateCallback = {"_p_p_iSkeletonUpdateCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonScriptCallback = {"_p_p_iSkeletonScriptCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonBoneUpdateCallback = {"_p_p_iSkeletonBoneUpdateCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iPortalCallback = {"_p_p_iPortalCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLightCallback = {"_p_p_iLightCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSectorCallback = {"_p_p_iSectorCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSectorMeshCallback = {"_p_p_iSectorMeshCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLightVisibleCallback = {"_p_p_iLightVisibleCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEngineFrameCallback = {"_p_p_iEngineFrameCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEngineSectorCallback = {"_p_p_iEngineSectorCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iTextureCallback = {"_p_p_iTextureCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshDrawCallback = {"_p_p_iMeshDrawCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysStreamCallback = {"_p_p_iSndSysStreamCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysRendererCallback = {"_p_p_iSndSysRendererCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iOffscreenCanvasCallback = {"_p_p_iOffscreenCanvasCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDynamicsMoveCallback = {"_p_p_iDynamicsMoveCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDynamicsCollisionCallback = {"_p_p_iDynamicsCollisionCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDynamicsColliderCollisionCallback = {"_p_p_iDynamicsColliderCollisionCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEFrameUpdateCallback = {"_p_p_iODEFrameUpdateCallback", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iVisibilityObject = {"_p_p_iVisibilityObject", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iObject = {"_p_p_iObject", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iCamera = {"_p_p_iCamera", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iCommandLineParser = {"_p_p_iCommandLineParser", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshFactoryList = {"_p_p_iMeshFactoryList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGraphics3D = {"_p_p_iGraphics3D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iVirtualClock = {"_p_p_iVirtualClock", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshObjectType = {"_p_p_iMeshObjectType", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMovieRecorder = {"_p_p_iMovieRecorder", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSprite2DState = {"_p_p_iSprite2DState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEmitterSphere = {"_p_p_iParticleBuiltinEmitterSphere", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iThingEnvironment = {"_p_p_iThingEnvironment", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMovable = {"_p_p_iMovable", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAws = {"_p_p_iAws", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSceneNodeArray = {"_p_p_iSceneNodeArray", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iShaderVariableContext = {"_p_p_iShaderVariableContext", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSectorList = {"_p_p_iSectorList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleSystem = {"_p_p_iParticleSystem", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iCollideSystem = {"_p_p_iCollideSystem", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDynamicSystem = {"_p_p_iDynamicSystem", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysSoftwareFilter3D = {"_p_p_iSndSysSoftwareFilter3D", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iShaderCompiler = {"_p_p_iShaderCompiler", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLightingProcessData = {"_p_p_iLightingProcessData", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iCameraPosition = {"_p_p_iCameraPosition", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iBinaryLoaderPlugin = {"_p_p_iBinaryLoaderPlugin", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLoaderPlugin = {"_p_p_iLoaderPlugin", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonSocket = {"_p_p_iSkeletonSocket", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSpriteCal3DSocket = {"_p_p_iSpriteCal3DSocket", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysStream = {"_p_p_iSndSysStream", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iVisibilityCuller = {"_p_p_iVisibilityCuller", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGeneralMeshCommonState = {"_p_p_iGeneralMeshCommonState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iConfigFile = {"_p_p_iConfigFile", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEventQueue = {"_p_p_iEventQueue", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iVFS = {"_p_p_iVFS", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iRigidBody = {"_p_p_iRigidBody", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsComponentNode = {"_p_p_iAwsComponentNode", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEventOutlet = {"_p_p_iEventOutlet", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDocumentNode = {"_p_p_iDocumentNode", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iArrayChangeAllTcsSprite2DVertex_t = {"_p_p_iArrayChangeAllTcsSprite2DVertex_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iArrayChangeElementsTcsSprite2DVertex_t = {"_p_p_iArrayChangeElementsTcsSprite2DVertex_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iArrayReadOnlyTcsSprite2DVertex_t = {"_p_p_iArrayReadOnlyTcsSprite2DVertex_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iFont = {"_p_p_iFont", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSpriteCal3DState = {"_p_p_iSpriteCal3DState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSprite3DState = {"_p_p_iSprite3DState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iKeyboardDriver = {"_p_p_iKeyboardDriver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iBodyGroup = {"_p_p_iBodyGroup", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iFrustumView = {"_p_p_iFrustumView", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAnimTimeUpdateHandler = {"_p_p_iAnimTimeUpdateHandler", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEventHandler = {"_p_p_iEventHandler", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEngineSequenceParameters = {"_p_p_iEngineSequenceParameters", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsKey = {"_p_p_iAwsKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iView = {"_p_p_iView", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGenMeshAnimationControlType = {"_p_p_iGenMeshAnimationControlType", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iKeyComposer = {"_p_p_iKeyComposer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iArrayReadOnlyTiSceneNode_p_t = {"_p_p_iArrayReadOnlyTiSceneNode_p_t", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMaterialList = {"_p_p_iMaterialList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsRectKey = {"_p_p_iAwsRectKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEffectorVelocityField = {"_p_p_iParticleBuiltinEffectorVelocityField", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLightingProcessInfo = {"_p_p_iLightingProcessInfo", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iJoint = {"_p_p_iJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSpriteSocket = {"_p_p_iSpriteSocket", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEmitterBase = {"_p_p_iParticleBuiltinEmitterBase", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEmitterCone = {"_p_p_iParticleBuiltinEmitterCone", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysRenderer = {"_p_p_iSndSysRenderer", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsComponent = {"_p_p_iAwsComponent", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iComponent = {"_p_p_iComponent", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsStringKey = {"_p_p_iAwsStringKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGenMeshSkeletonControlState = {"_p_p_iGenMeshSkeletonControlState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsSource = {"_p_p_iAwsSource", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysSource = {"_p_p_iSndSysSource", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEffectorForce = {"_p_p_iParticleBuiltinEffectorForce", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEffectorFactory = {"_p_p_iParticleBuiltinEffectorFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEmitterFactory = {"_p_p_iParticleBuiltinEmitterFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleSystemFactory = {"_p_p_iParticleSystemFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMeshObjectFactory = {"_p_p_iMeshObjectFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonFactory = {"_p_p_iSkeletonFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonSocketFactory = {"_p_p_iSkeletonSocketFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonBoneFactory = {"_p_p_iSkeletonBoneFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGenMeshAnimationControlFactory = {"_p_p_iGenMeshAnimationControlFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsConnectionNodeFactory = {"_p_p_iAwsConnectionNodeFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsKeyFactory = {"_p_p_iAwsKeyFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsComponentFactory = {"_p_p_iAwsComponentFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iFactory = {"_p_p_iFactory", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysSoftwareDriver = {"_p_p_iSndSysSoftwareDriver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMouseDriver = {"_p_p_iMouseDriver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iJoystickDriver = {"_p_p_iJoystickDriver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysLoader = {"_p_p_iSndSysLoader", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iLoader = {"_p_p_iLoader", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iFrustumViewUserdata = {"_p_p_iFrustumViewUserdata", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsSink = {"_p_p_iAwsSink", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iShader = {"_p_p_iShader", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iTextureList = {"_p_p_iTextureList", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iNativeWindow = {"_p_p_iNativeWindow", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleSystemBase = {"_p_p_iParticleSystemBase", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSpriteFrame = {"_p_p_iSpriteFrame", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonScript = {"_p_p_iSkeletonScript", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iFontDeleteNotify = {"_p_p_iFontDeleteNotify", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iThingState = {"_p_p_iThingState", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsFloatKey = {"_p_p_iAwsFloatKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iShaderVariableAccessor = {"_p_p_iShaderVariableAccessor", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iTerraSampler = {"_p_p_iTerraSampler", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEvent = {"_p_p_iEvent", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonBone = {"_p_p_iSkeletonBone", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsSlot = {"_p_p_iAwsSlot", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonScriptKeyFrame = {"_p_p_iSkeletonScriptKeyFrame", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iParticleBuiltinEffectorLinColor = {"_p_p_iParticleBuiltinEffectorLinColor", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iShaderVarStack = {"_p_p_iShaderVarStack", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iGeneralMeshSubMesh = {"_p_p_iGeneralMeshSubMesh", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iImage = {"_p_p_iImage", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iDynamicsSystemCollider = {"_p_p_iDynamicsSystemCollider", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iODEUniversalJoint = {"_p_p_iODEUniversalJoint", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iPolygonHandle = {"_p_p_iPolygonHandle", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iObjectModel = {"_p_p_iObjectModel", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsConnectionKey = {"_p_p_iAwsConnectionKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSkeletonBoneRagdollInfo = {"_p_p_iSkeletonBoneRagdollInfo", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iMissingLoaderData = {"_p_p_iMissingLoaderData", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iRegion = {"_p_p_iRegion", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iStringSet = {"_p_p_iStringSet", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iColoredVertices = {"_p_p_iColoredVertices", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsLayoutManager = {"_p_p_iAwsLayoutManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsSinkManager = {"_p_p_iAwsSinkManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsPrefManager = {"_p_p_iAwsPrefManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysManager = {"_p_p_iSndSysManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iCacheManager = {"_p_p_iCacheManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iPluginManager = {"_p_p_iPluginManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iConfigManager = {"_p_p_iConfigManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iNativeWindowManager = {"_p_p_iNativeWindowManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iShaderManager = {"_p_p_iShaderManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iTextureManager = {"_p_p_iTextureManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEngineSequenceManager = {"_p_p_iEngineSequenceManager", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iAwsPointKey = {"_p_p_iAwsPointKey", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iScript = {"_p_p_iScript", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSaver = {"_p_p_iSaver", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iSndSysData = {"_p_p_iSndSysData", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iEventCord = {"_p_p_iEventCord", 0, 0, 0, 0, 0};
static swig_type_info _swigt__p_p_iCollider = {"_p_p_iCollider", "iCollider **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iLight = {"_p_p_iLight", "iLight **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iMaterialWrapper = {"_p_p_iMaterialWrapper", "iMaterialWrapper **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iMeshWrapper = {"_p_p_iMeshWrapper", "iMeshWrapper **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iPortal = {"_p_p_iPortal", "iPortal **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iRenderBuffer = {"_p_p_iRenderBuffer", "iRenderBuffer **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iSceneNode = {"_p_p_iSceneNode", "iSceneNode **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iSector = {"_p_p_iSector", "iSector **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iString = {"_p_p_iString", "iString **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iTextureHandle = {"_p_p_iTextureHandle", "iTextureHandle **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_iTextureWrapper = {"_p_p_iTextureWrapper", "iTextureWrapper **", 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_scfImplementation1TcsPath_iPath_t = {"_p_scfImplementation1TcsPath_iPath_t", "scfImplementation1<csPath,iPath > *", 0, 0, (void*)"cspace::scfPath", 0};
static swig_type_info _swigt__p_size_t = {"_p_size_t", "size_t *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_uint16_t = {"_p_uint16_t", "uint16_t *|uint16 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_uint32_t = {"_p_uint32_t", "uint32_t *|uint32 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_uint64_t = {"_p_uint64_t", "uint64_t *|uint64 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_uint8_t = {"_p_uint8_t", "uint8_t *|uint8 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_uint_least64_t = {"_p_uint_least64_t", "uint_least64_t *|ulonglong *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|uint *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *|csEventID *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_utf32_char = {"_p_utf32_char", "utf32_char *", 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 *swig_type_initial[] = {
  &_swigt__p_AllocatorType,
  &_swigt__p_CS__Memory__AllocatorMalloc,
  &_swigt__p_CS__TriangleTTint_t,
  &_swigt__p_CalAnimationCallback,
  &_swigt__p_CalCoreModel,
  &_swigt__p_CalModel,
  &_swigt__p_CapacityHandlerType,
  &_swigt__p_ContainedType,
  &_swigt__p_ElementHandlerType,
  &_swigt__p_FILE,
  &_swigt__p_FileFormatDescription,
  &_swigt__p_HashType,
  &_swigt__p_SndSysFilterLocation,
  &_swigt__p_ThisType,
  &_swigt__p_ValueType,
  &_swigt__p__csKeyCharType,
  &_swigt__p__csKeyEventType,
  &_swigt__p__csKeyModifierNumType,
  &_swigt__p__csKeyModifierType,
  &_swigt__p__csKeyModifiers,
  &_swigt__p__csMouseCursorID,
  &_swigt__p__csMouseEventType,
  &_swigt__p_awsConnectionNode,
  &_swigt__p_bool,
  &_swigt__p_char,
  &_swigt__p_csAlphaMode,
  &_swigt__p_csArrayCapacityDefault,
  &_swigt__p_csArrayCapacityLinearTcsArrayThresholdVariable_t,
  &_swigt__p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTcsIntersectingTriangle_csArrayElementHandlerTcsIntersectingTriangle_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayThresholdVariable,
  &_swigt__p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  &_swigt__p_csBSpline,
  &_swigt__p_csBitmapMetrics,
  &_swigt__p_csBox2,
  &_swigt__p_csBox3,
  &_swigt__p_csCatmullRomSpline,
  &_swigt__p_csColliderActor,
  &_swigt__p_csColliderHelper,
  &_swigt__p_csColliderWrapper,
  &_swigt__p_csCollisionPair,
  &_swigt__p_csColor,
  &_swigt__p_csColor4,
  &_swigt__p_csCommandEventData,
  &_swigt__p_csCommandEventHelper,
  &_swigt__p_csCommandLineHelper,
  &_swigt__p_csCompressVertex,
  &_swigt__p_csCoreRenderMesh,
  &_swigt__p_csCubicSpline,
  &_swigt__p_csDVector3,
  &_swigt__p_csEllipsoid,
  &_swigt__p_csEvent,
  &_swigt__p_csEventNameRegistry,
  &_swigt__p_csFileTime,
  &_swigt__p_csFlags,
  &_swigt__p_csFog,
  &_swigt__p_csFrustum,
  &_swigt__p_csFrustumContext,
  &_swigt__p_csGeomDebugHelper,
  &_swigt__p_csGlyphMetrics,
  &_swigt__p_csGraphics3DCaps,
  &_swigt__p_csHandlerID,
  &_swigt__p_csHashTcsRefTiShader_t_unsigned_long_CS__Memory__AllocatorMalloc_t,
  &_swigt__p_csHitBeamResult,
  &_swigt__p_csImageArea,
  &_swigt__p_csImageIOFileFormatDescription,
  &_swigt__p_csInitializer,
  &_swigt__p_csInputEventHelper,
  &_swigt__p_csIntersect2,
  &_swigt__p_csIntersect3,
  &_swigt__p_csIntersectingTriangle,
  &_swigt__p_csJoystickEventData,
  &_swigt__p_csJoystickEventHelper,
  &_swigt__p_csKeyEventData,
  &_swigt__p_csKeyEventHelper,
  &_swigt__p_csListenerProperties,
  &_swigt__p_csMath2,
  &_swigt__p_csMath3,
  &_swigt__p_csMatrix2,
  &_swigt__p_csMatrix3,
  &_swigt__p_csMeshedPolygon,
  &_swigt__p_csMouseEventData,
  &_swigt__p_csMouseEventHelper,
  &_swigt__p_csOBB,
  &_swigt__p_csObject,
  &_swigt__p_csOrthoTransform,
  &_swigt__p_csParticle,
  &_swigt__p_csParticleAux,
  &_swigt__p_csParticleBuffer,
  &_swigt__p_csPath,
  &_swigt__p_csPixelCoord,
  &_swigt__p_csPixelFormat,
  &_swigt__p_csPixmap,
  &_swigt__p_csPlane2,
  &_swigt__p_csPlane3,
  &_swigt__p_csPluginRequest,
  &_swigt__p_csPoly2D,
  &_swigt__p_csPoly2DFactory,
  &_swigt__p_csPoly3D,
  &_swigt__p_csPolygonMesh,
  &_swigt__p_csPolygonMeshBox,
  &_swigt__p_csPolygonRange,
  &_swigt__p_csPtrTcsFrustum_t,
  &_swigt__p_csPtrTiBase_t,
  &_swigt__p_csPtrTiEngineSequenceParameters_t,
  &_swigt__p_csPtrTiEventOutlet_t,
  &_swigt__p_csPtrTiGenMeshAnimationControlFactory_t,
  &_swigt__p_csPtrTiGenMeshAnimationControl_t,
  &_swigt__p_csPtrTiKeyComposer_t,
  &_swigt__p_csPtrTiLightIterator_t,
  &_swigt__p_csPtrTiLightingProcessData_t,
  &_swigt__p_csPtrTiLoaderContext_t,
  &_swigt__p_csPtrTiLoaderStatus_t,
  &_swigt__p_csPtrTiODEHinge2Joint_t,
  &_swigt__p_csPtrTiObjectIterator_t,
  &_swigt__p_csPtrTiObjectRegistryIterator_t,
  &_swigt__p_csPtrTiObjectWatcher_t,
  &_swigt__p_csPtrTiParameterESM_t,
  &_swigt__p_csPtrTiParticleBuiltinEffectorVelocityField_t,
  &_swigt__p_csPtrTiPluginIterator_t,
  &_swigt__p_csPtrTiPolygonHandle_t,
  &_swigt__p_csPtrTiRendererLightmap_t,
  &_swigt__p_csPtrTiRigidBody_t,
  &_swigt__p_csPtrTiSectorIterator_t,
  &_swigt__p_csPtrTiSequenceTrigger_t,
  &_swigt__p_csPtrTiSequenceWrapper_t,
  &_swigt__p_csPtrTiShaderPriorityList_t,
  &_swigt__p_csPtrTiShader_t,
  &_swigt__p_csPtrTiShadowBlockList_t,
  &_swigt__p_csPtrTiSuperLightmap_t,
  &_swigt__p_csPtrTiVisibilityObjectIterator_t,
  &_swigt__p_csQuaternion,
  &_swigt__p_csRGBcolor,
  &_swigt__p_csRGBpixel,
  &_swigt__p_csRandomGen,
  &_swigt__p_csRect,
  &_swigt__p_csRectRegion,
  &_swigt__p_csRefArrayTcsShaderVariable_t,
  &_swigt__p_csRefArrayTiAwsKey_t,
  &_swigt__p_csRefArrayTiObject_t,
  &_swigt__p_csRefArrayTiSceneNode_t,
  &_swigt__p_csRefArrayTiShader_t,
  &_swigt__p_csRefCount,
  &_swigt__p_csRefTiBase_t,
  &_swigt__p_csRefTiDocumentAttributeIterator_t,
  &_swigt__p_csRefTiDocumentAttribute_t,
  &_swigt__p_csRefTiDocumentNodeIterator_t,
  &_swigt__p_csRefTiDocumentNode_t,
  &_swigt__p_csRefTiDynamicsSystemCollider_t,
  &_swigt__p_csRefTiEventAttributeIterator_t,
  &_swigt__p_csRefTiEventHandlerRegistry_t,
  &_swigt__p_csRefTiEventHandler_t,
  &_swigt__p_csRefTiEventNameRegistry_t,
  &_swigt__p_csRefTiEvent_t,
  &_swigt__p_csRefTiGeneralFactoryState_t,
  &_swigt__p_csRefTiImage_t,
  &_swigt__p_csRefTiRenderBuffer_t,
  &_swigt__p_csRefTiRigidBody_t,
  &_swigt__p_csRefTiScriptObject_t,
  &_swigt__p_csRefTiString_t,
  &_swigt__p_csRenderBufferHolder,
  &_swigt__p_csRenderBufferName,
  &_swigt__p_csRenderMesh,
  &_swigt__p_csRenderMeshList,
  &_swigt__p_csRenderMeshModes,
  &_swigt__p_csReporterHelper,
  &_swigt__p_csReversibleTransform,
  &_swigt__p_csScreenBoxResult,
  &_swigt__p_csSectorHitBeamResult,
  &_swigt__p_csSegment2,
  &_swigt__p_csSegment3,
  &_swigt__p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t,
  &_swigt__p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t,
  &_swigt__p_csShaderMetadata,
  &_swigt__p_csShaderTagPresence,
  &_swigt__p_csShaderVariable,
  &_swigt__p_csSimplePixmap,
  &_swigt__p_csSimpleRenderMesh,
  &_swigt__p_csSndSysRendererSoftware,
  &_swigt__p_csSndSysSoundFormat,
  &_swigt__p_csSourceParameters3D,
  &_swigt__p_csSphere,
  &_swigt__p_csSpline,
  &_swigt__p_csSprite2DVertex,
  &_swigt__p_csSpriteCal3DActiveAnim,
  &_swigt__p_csSquaredDist,
  &_swigt__p_csStrKey,
  &_swigt__p_csString,
  &_swigt__p_csStringArray,
  &_swigt__p_csStringBase,
  &_swigt__p_csStringFastT36_t,
  &_swigt__p_csStringSet,
  &_swigt__p_csTinyDocumentSystem,
  &_swigt__p_csTraceBeamResult,
  &_swigt__p_csTransform,
  &_swigt__p_csTriangle,
  &_swigt__p_csVector2,
  &_swigt__p_csVector3,
  &_swigt__p_csVector3Array,
  &_swigt__p_csVector4,
  &_swigt__p_csVertexAttrib,
  &_swigt__p_csVertexStatus,
  &_swigt__p_csView,
  &_swigt__p_csWrapPtr,
  &_swigt__p_csXRotMatrix3,
  &_swigt__p_csXScaleMatrix3,
  &_swigt__p_csYRotMatrix3,
  &_swigt__p_csYScaleMatrix3,
  &_swigt__p_csZRotMatrix3,
  &_swigt__p_csZScaleMatrix3,
  &_swigt__p_double,
  &_swigt__p_f_p_iBase__p_csPath,
  &_swigt__p_f_p_iBase__p_iAnimTimeUpdateHandler,
  &_swigt__p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_t,
  &_swigt__p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_t,
  &_swigt__p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_t,
  &_swigt__p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_t,
  &_swigt__p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_t,
  &_swigt__p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_t,
  &_swigt__p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_t,
  &_swigt__p_f_p_iBase__p_iAws,
  &_swigt__p_f_p_iBase__p_iAwsComponent,
  &_swigt__p_f_p_iBase__p_iAwsComponentFactory,
  &_swigt__p_f_p_iBase__p_iAwsComponentNode,
  &_swigt__p_f_p_iBase__p_iAwsConnectionKey,
  &_swigt__p_f_p_iBase__p_iAwsConnectionNodeFactory,
  &_swigt__p_f_p_iBase__p_iAwsFloatKey,
  &_swigt__p_f_p_iBase__p_iAwsIntKey,
  &_swigt__p_f_p_iBase__p_iAwsKey,
  &_swigt__p_f_p_iBase__p_iAwsKeyContainer,
  &_swigt__p_f_p_iBase__p_iAwsKeyFactory,
  &_swigt__p_f_p_iBase__p_iAwsLayoutManager,
  &_swigt__p_f_p_iBase__p_iAwsPointKey,
  &_swigt__p_f_p_iBase__p_iAwsPrefManager,
  &_swigt__p_f_p_iBase__p_iAwsRGBKey,
  &_swigt__p_f_p_iBase__p_iAwsRectKey,
  &_swigt__p_f_p_iBase__p_iAwsSink,
  &_swigt__p_f_p_iBase__p_iAwsSinkManager,
  &_swigt__p_f_p_iBase__p_iAwsSlot,
  &_swigt__p_f_p_iBase__p_iAwsSource,
  &_swigt__p_f_p_iBase__p_iAwsStringKey,
  &_swigt__p_f_p_iBase__p_iBase,
  &_swigt__p_f_p_iBase__p_iBinaryLoaderPlugin,
  &_swigt__p_f_p_iBase__p_iBodyGroup,
  &_swigt__p_f_p_iBase__p_iCacheManager,
  &_swigt__p_f_p_iBase__p_iCamera,
  &_swigt__p_f_p_iBase__p_iCameraPosition,
  &_swigt__p_f_p_iBase__p_iCameraPositionList,
  &_swigt__p_f_p_iBase__p_iCameraSectorListener,
  &_swigt__p_f_p_iBase__p_iClipper2D,
  &_swigt__p_f_p_iBase__p_iCollideSystem,
  &_swigt__p_f_p_iBase__p_iCollider,
  &_swigt__p_f_p_iBase__p_iColoredVertices,
  &_swigt__p_f_p_iBase__p_iCommandLineParser,
  &_swigt__p_f_p_iBase__p_iComponent,
  &_swigt__p_f_p_iBase__p_iConfigFile,
  &_swigt__p_f_p_iBase__p_iConfigIterator,
  &_swigt__p_f_p_iBase__p_iConfigManager,
  &_swigt__p_f_p_iBase__p_iConsoleOutput,
  &_swigt__p_f_p_iBase__p_iConsoleWatcher,
  &_swigt__p_f_p_iBase__p_iDataBuffer,
  &_swigt__p_f_p_iBase__p_iDebugHelper,
  &_swigt__p_f_p_iBase__p_iDocument,
  &_swigt__p_f_p_iBase__p_iDocumentAttribute,
  &_swigt__p_f_p_iBase__p_iDocumentAttributeIterator,
  &_swigt__p_f_p_iBase__p_iDocumentNode,
  &_swigt__p_f_p_iBase__p_iDocumentNodeIterator,
  &_swigt__p_f_p_iBase__p_iDocumentSystem,
  &_swigt__p_f_p_iBase__p_iDynamicSystem,
  &_swigt__p_f_p_iBase__p_iDynamics,
  &_swigt__p_f_p_iBase__p_iDynamicsColliderCollisionCallback,
  &_swigt__p_f_p_iBase__p_iDynamicsCollisionCallback,
  &_swigt__p_f_p_iBase__p_iDynamicsMoveCallback,
  &_swigt__p_f_p_iBase__p_iDynamicsSystemCollider,
  &_swigt__p_f_p_iBase__p_iEngine,
  &_swigt__p_f_p_iBase__p_iEngineFrameCallback,
  &_swigt__p_f_p_iBase__p_iEngineSectorCallback,
  &_swigt__p_f_p_iBase__p_iEngineSequenceManager,
  &_swigt__p_f_p_iBase__p_iEngineSequenceParameters,
  &_swigt__p_f_p_iBase__p_iEvent,
  &_swigt__p_f_p_iBase__p_iEventAttributeIterator,
  &_swigt__p_f_p_iBase__p_iEventCord,
  &_swigt__p_f_p_iBase__p_iEventHandler,
  &_swigt__p_f_p_iBase__p_iEventNameRegistry,
  &_swigt__p_f_p_iBase__p_iEventOutlet,
  &_swigt__p_f_p_iBase__p_iEventPlug,
  &_swigt__p_f_p_iBase__p_iEventQueue,
  &_swigt__p_f_p_iBase__p_iFactory,
  &_swigt__p_f_p_iBase__p_iFile,
  &_swigt__p_f_p_iBase__p_iFont,
  &_swigt__p_f_p_iBase__p_iFontDeleteNotify,
  &_swigt__p_f_p_iBase__p_iFontServer,
  &_swigt__p_f_p_iBase__p_iFrustumView,
  &_swigt__p_f_p_iBase__p_iFrustumViewUserdata,
  &_swigt__p_f_p_iBase__p_iGenMeshAnimationControl,
  &_swigt__p_f_p_iBase__p_iGenMeshAnimationControlFactory,
  &_swigt__p_f_p_iBase__p_iGenMeshAnimationControlType,
  &_swigt__p_f_p_iBase__p_iGenMeshSkeletonControlState,
  &_swigt__p_f_p_iBase__p_iGeneralFactoryState,
  &_swigt__p_f_p_iBase__p_iGeneralMeshCommonState,
  &_swigt__p_f_p_iBase__p_iGeneralMeshState,
  &_swigt__p_f_p_iBase__p_iGeneralMeshSubMesh,
  &_swigt__p_f_p_iBase__p_iGraphics2D,
  &_swigt__p_f_p_iBase__p_iGraphics3D,
  &_swigt__p_f_p_iBase__p_iHalo,
  &_swigt__p_f_p_iBase__p_iImage,
  &_swigt__p_f_p_iBase__p_iImageIO,
  &_swigt__p_f_p_iBase__p_iJoint,
  &_swigt__p_f_p_iBase__p_iJoystickDriver,
  &_swigt__p_f_p_iBase__p_iKeyComposer,
  &_swigt__p_f_p_iBase__p_iKeyboardDriver,
  &_swigt__p_f_p_iBase__p_iLight,
  &_swigt__p_f_p_iBase__p_iLightCallback,
  &_swigt__p_f_p_iBase__p_iLightIterator,
  &_swigt__p_f_p_iBase__p_iLightList,
  &_swigt__p_f_p_iBase__p_iLightVisibleCallback,
  &_swigt__p_f_p_iBase__p_iLightingProcessData,
  &_swigt__p_f_p_iBase__p_iLightingProcessInfo,
  &_swigt__p_f_p_iBase__p_iLoader,
  &_swigt__p_f_p_iBase__p_iLoaderPlugin,
  &_swigt__p_f_p_iBase__p_iLoaderStatus,
  &_swigt__p_f_p_iBase__p_iMapNode,
  &_swigt__p_f_p_iBase__p_iMaterial,
  &_swigt__p_f_p_iBase__p_iMaterialEngine,
  &_swigt__p_f_p_iBase__p_iMaterialList,
  &_swigt__p_f_p_iBase__p_iMaterialWrapper,
  &_swigt__p_f_p_iBase__p_iMeshDrawCallback,
  &_swigt__p_f_p_iBase__p_iMeshFactoryList,
  &_swigt__p_f_p_iBase__p_iMeshFactoryWrapper,
  &_swigt__p_f_p_iBase__p_iMeshList,
  &_swigt__p_f_p_iBase__p_iMeshObject,
  &_swigt__p_f_p_iBase__p_iMeshObjectDrawCallback,
  &_swigt__p_f_p_iBase__p_iMeshObjectFactory,
  &_swigt__p_f_p_iBase__p_iMeshObjectType,
  &_swigt__p_f_p_iBase__p_iMeshWrapper,
  &_swigt__p_f_p_iBase__p_iMeshWrapperIterator,
  &_swigt__p_f_p_iBase__p_iMissingLoaderData,
  &_swigt__p_f_p_iBase__p_iMouseDriver,
  &_swigt__p_f_p_iBase__p_iMovable,
  &_swigt__p_f_p_iBase__p_iMovableListener,
  &_swigt__p_f_p_iBase__p_iMovieRecorder,
  &_swigt__p_f_p_iBase__p_iNativeWindow,
  &_swigt__p_f_p_iBase__p_iNativeWindowManager,
  &_swigt__p_f_p_iBase__p_iODEAMotorJoint,
  &_swigt__p_f_p_iBase__p_iODEBallJoint,
  &_swigt__p_f_p_iBase__p_iODEDynamicState,
  &_swigt__p_f_p_iBase__p_iODEDynamicSystemState,
  &_swigt__p_f_p_iBase__p_iODEFrameUpdateCallback,
  &_swigt__p_f_p_iBase__p_iODEGeneralJointState,
  &_swigt__p_f_p_iBase__p_iODEHinge2Joint,
  &_swigt__p_f_p_iBase__p_iODEHingeJoint,
  &_swigt__p_f_p_iBase__p_iODEJointState,
  &_swigt__p_f_p_iBase__p_iODESliderJoint,
  &_swigt__p_f_p_iBase__p_iODEUniversalJoint,
  &_swigt__p_f_p_iBase__p_iObject,
  &_swigt__p_f_p_iBase__p_iObjectIterator,
  &_swigt__p_f_p_iBase__p_iObjectModel,
  &_swigt__p_f_p_iBase__p_iObjectModelListener,
  &_swigt__p_f_p_iBase__p_iObjectNameChangeListener,
  &_swigt__p_f_p_iBase__p_iObjectRegistry,
  &_swigt__p_f_p_iBase__p_iObjectRegistryIterator,
  &_swigt__p_f_p_iBase__p_iOffscreenCanvasCallback,
  &_swigt__p_f_p_iBase__p_iParameterESM,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorFactory,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorForce,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorLinColor,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorVelocityField,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterBase,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterBox,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterCone,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterCylinder,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterFactory,
  &_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterSphere,
  &_swigt__p_f_p_iBase__p_iParticleEffector,
  &_swigt__p_f_p_iBase__p_iParticleEmitter,
  &_swigt__p_f_p_iBase__p_iParticleSystem,
  &_swigt__p_f_p_iBase__p_iParticleSystemBase,
  &_swigt__p_f_p_iBase__p_iParticleSystemFactory,
  &_swigt__p_f_p_iBase__p_iPath,
  &_swigt__p_f_p_iBase__p_iPluginIterator,
  &_swigt__p_f_p_iBase__p_iPluginManager,
  &_swigt__p_f_p_iBase__p_iPolygonHandle,
  &_swigt__p_f_p_iBase__p_iPolygonMesh,
  &_swigt__p_f_p_iBase__p_iPortal,
  &_swigt__p_f_p_iBase__p_iPortalCallback,
  &_swigt__p_f_p_iBase__p_iPortalContainer,
  &_swigt__p_f_p_iBase__p_iRegion,
  &_swigt__p_f_p_iBase__p_iRegionList,
  &_swigt__p_f_p_iBase__p_iRendererLightmap,
  &_swigt__p_f_p_iBase__p_iReporter,
  &_swigt__p_f_p_iBase__p_iReporterIterator,
  &_swigt__p_f_p_iBase__p_iReporterListener,
  &_swigt__p_f_p_iBase__p_iRigidBody,
  &_swigt__p_f_p_iBase__p_iSCF,
  &_swigt__p_f_p_iBase__p_iSaver,
  &_swigt__p_f_p_iBase__p_iSceneNode,
  &_swigt__p_f_p_iBase__p_iSceneNodeArray,
  &_swigt__p_f_p_iBase__p_iScript,
  &_swigt__p_f_p_iBase__p_iScriptObject,
  &_swigt__p_f_p_iBase__p_iSector,
  &_swigt__p_f_p_iBase__p_iSectorCallback,
  &_swigt__p_f_p_iBase__p_iSectorIterator,
  &_swigt__p_f_p_iBase__p_iSectorList,
  &_swigt__p_f_p_iBase__p_iSectorMeshCallback,
  &_swigt__p_f_p_iBase__p_iSequenceTimedOperation,
  &_swigt__p_f_p_iBase__p_iSequenceTrigger,
  &_swigt__p_f_p_iBase__p_iSequenceWrapper,
  &_swigt__p_f_p_iBase__p_iShader,
  &_swigt__p_f_p_iBase__p_iShaderCompiler,
  &_swigt__p_f_p_iBase__p_iShaderManager,
  &_swigt__p_f_p_iBase__p_iShaderPriorityList,
  &_swigt__p_f_p_iBase__p_iShaderVarStack,
  &_swigt__p_f_p_iBase__p_iShaderVariableAccessor,
  &_swigt__p_f_p_iBase__p_iShaderVariableContext,
  &_swigt__p_f_p_iBase__p_iSimpleFormerState,
  &_swigt__p_f_p_iBase__p_iSkeleton,
  &_swigt__p_f_p_iBase__p_iSkeletonBone,
  &_swigt__p_f_p_iBase__p_iSkeletonBoneFactory,
  &_swigt__p_f_p_iBase__p_iSkeletonBoneRagdollInfo,
  &_swigt__p_f_p_iBase__p_iSkeletonBoneUpdateCallback,
  &_swigt__p_f_p_iBase__p_iSkeletonFactory,
  &_swigt__p_f_p_iBase__p_iSkeletonGraveyard,
  &_swigt__p_f_p_iBase__p_iSkeletonScript,
  &_swigt__p_f_p_iBase__p_iSkeletonScriptCallback,
  &_swigt__p_f_p_iBase__p_iSkeletonScriptKeyFrame,
  &_swigt__p_f_p_iBase__p_iSkeletonSocket,
  &_swigt__p_f_p_iBase__p_iSkeletonSocketFactory,
  &_swigt__p_f_p_iBase__p_iSkeletonUpdateCallback,
  &_swigt__p_f_p_iBase__p_iSndSysData,
  &_swigt__p_f_p_iBase__p_iSndSysListener,
  &_swigt__p_f_p_iBase__p_iSndSysLoader,
  &_swigt__p_f_p_iBase__p_iSndSysManager,
  &_swigt__p_f_p_iBase__p_iSndSysRenderer,
  &_swigt__p_f_p_iBase__p_iSndSysRendererCallback,
  &_swigt__p_f_p_iBase__p_iSndSysRendererSoftware,
  &_swigt__p_f_p_iBase__p_iSndSysSoftwareDriver,
  &_swigt__p_f_p_iBase__p_iSndSysSoftwareFilter3D,
  &_swigt__p_f_p_iBase__p_iSndSysSoftwareOutputFilter,
  &_swigt__p_f_p_iBase__p_iSndSysSource,
  &_swigt__p_f_p_iBase__p_iSndSysSourceSoftware,
  &_swigt__p_f_p_iBase__p_iSndSysSourceSoftware3D,
  &_swigt__p_f_p_iBase__p_iSndSysStream,
  &_swigt__p_f_p_iBase__p_iSndSysStreamCallback,
  &_swigt__p_f_p_iBase__p_iSndSysWrapper,
  &_swigt__p_f_p_iBase__p_iSprite2DFactoryState,
  &_swigt__p_f_p_iBase__p_iSprite2DState,
  &_swigt__p_f_p_iBase__p_iSprite2DUVAnimation,
  &_swigt__p_f_p_iBase__p_iSprite2DUVAnimationFrame,
  &_swigt__p_f_p_iBase__p_iSprite3DFactoryState,
  &_swigt__p_f_p_iBase__p_iSprite3DState,
  &_swigt__p_f_p_iBase__p_iSpriteAction,
  &_swigt__p_f_p_iBase__p_iSpriteCal3DFactoryState,
  &_swigt__p_f_p_iBase__p_iSpriteCal3DSocket,
  &_swigt__p_f_p_iBase__p_iSpriteCal3DState,
  &_swigt__p_f_p_iBase__p_iSpriteFrame,
  &_swigt__p_f_p_iBase__p_iSpriteSocket,
  &_swigt__p_f_p_iBase__p_iStandardReporterListener,
  &_swigt__p_f_p_iBase__p_iString,
  &_swigt__p_f_p_iBase__p_iStringArray,
  &_swigt__p_f_p_iBase__p_iStringSet,
  &_swigt__p_f_p_iBase__p_iSuperLightmap,
  &_swigt__p_f_p_iBase__p_iTerraFormer,
  &_swigt__p_f_p_iBase__p_iTerraSampler,
  &_swigt__p_f_p_iBase__p_iTerrainFactoryState,
  &_swigt__p_f_p_iBase__p_iTerrainObjectState,
  &_swigt__p_f_p_iBase__p_iTextureCallback,
  &_swigt__p_f_p_iBase__p_iTextureHandle,
  &_swigt__p_f_p_iBase__p_iTextureList,
  &_swigt__p_f_p_iBase__p_iTextureManager,
  &_swigt__p_f_p_iBase__p_iTextureWrapper,
  &_swigt__p_f_p_iBase__p_iThingEnvironment,
  &_swigt__p_f_p_iBase__p_iThingFactoryState,
  &_swigt__p_f_p_iBase__p_iThingState,
  &_swigt__p_f_p_iBase__p_iVFS,
  &_swigt__p_f_p_iBase__p_iView,
  &_swigt__p_f_p_iBase__p_iVirtualClock,
  &_swigt__p_f_p_iBase__p_iVisibilityCuller,
  &_swigt__p_f_p_iBase__p_iVisibilityCullerListener,
  &_swigt__p_f_p_iBase__p_iVisibilityObject,
  &_swigt__p_f_p_iBase__p_iVisibilityObjectIterator,
  &_swigt__p_f_p_iBase__p_scfImplementation1TcsPath_iPath_t,
  &_swigt__p_f_p_iMeshWrapper_p_iFrustumView_bool__void,
  &_swigt__p_f_unsigned_long_int_p_iAwsSource__void,
  &_swigt__p_f_unsigned_long_p_void_p_iAwsSource__void,
  &_swigt__p_float,
  &_swigt__p_iAnimTimeUpdateHandler,
  &_swigt__p_iArrayChangeAllTcsShaderVariable_p_t,
  &_swigt__p_iArrayChangeAllTcsSprite2DVertex_t,
  &_swigt__p_iArrayChangeElementsTcsShaderVariable_p_t,
  &_swigt__p_iArrayChangeElementsTcsSprite2DVertex_t,
  &_swigt__p_iArrayReadOnlyTcsShaderVariable_p_t,
  &_swigt__p_iArrayReadOnlyTcsSprite2DVertex_t,
  &_swigt__p_iArrayReadOnlyTiSceneNode_p_t,
  &_swigt__p_iAws,
  &_swigt__p_iAwsCanvas,
  &_swigt__p_iAwsComponent,
  &_swigt__p_iAwsComponentFactory,
  &_swigt__p_iAwsComponentNode,
  &_swigt__p_iAwsConnectionKey,
  &_swigt__p_iAwsConnectionNodeFactory,
  &_swigt__p_iAwsFloatKey,
  &_swigt__p_iAwsIntKey,
  &_swigt__p_iAwsKey,
  &_swigt__p_iAwsKeyContainer,
  &_swigt__p_iAwsKeyFactory,
  &_swigt__p_iAwsLayoutManager,
  &_swigt__p_iAwsParmList,
  &_swigt__p_iAwsPointKey,
  &_swigt__p_iAwsPrefManager,
  &_swigt__p_iAwsRGBKey,
  &_swigt__p_iAwsRGBKey__RGB,
  &_swigt__p_iAwsRectKey,
  &_swigt__p_iAwsSink,
  &_swigt__p_iAwsSinkManager,
  &_swigt__p_iAwsSlot,
  &_swigt__p_iAwsSource,
  &_swigt__p_iAwsStringKey,
  &_swigt__p_iBase,
  &_swigt__p_iBaseHalo,
  &_swigt__p_iBinaryLoaderPlugin,
  &_swigt__p_iBodyGroup,
  &_swigt__p_iCacheManager,
  &_swigt__p_iCamera,
  &_swigt__p_iCameraPosition,
  &_swigt__p_iCameraPositionList,
  &_swigt__p_iCameraSectorListener,
  &_swigt__p_iClipper2D,
  &_swigt__p_iCollection,
  &_swigt__p_iCollectionList,
  &_swigt__p_iCollideSystem,
  &_swigt__p_iCollider,
  &_swigt__p_iColoredVertices,
  &_swigt__p_iCommandLineParser,
  &_swigt__p_iComponent,
  &_swigt__p_iConfigFile,
  &_swigt__p_iConfigIterator,
  &_swigt__p_iConfigManager,
  &_swigt__p_iConsoleOutput,
  &_swigt__p_iConsoleWatcher,
  &_swigt__p_iCrossHalo,
  &_swigt__p_iDataBuffer,
  &_swigt__p_iDebugHelper,
  &_swigt__p_iDocument,
  &_swigt__p_iDocumentAttribute,
  &_swigt__p_iDocumentAttributeIterator,
  &_swigt__p_iDocumentNode,
  &_swigt__p_iDocumentNodeIterator,
  &_swigt__p_iDocumentSystem,
  &_swigt__p_iDynamicSystem,
  &_swigt__p_iDynamics,
  &_swigt__p_iDynamicsColliderCollisionCallback,
  &_swigt__p_iDynamicsCollisionCallback,
  &_swigt__p_iDynamicsMoveCallback,
  &_swigt__p_iDynamicsSystemCollider,
  &_swigt__p_iEngine,
  &_swigt__p_iEngineFrameCallback,
  &_swigt__p_iEngineSectorCallback,
  &_swigt__p_iEngineSequenceManager,
  &_swigt__p_iEngineSequenceParameters,
  &_swigt__p_iEvent,
  &_swigt__p_iEventAttributeIterator,
  &_swigt__p_iEventCord,
  &_swigt__p_iEventHandler,
  &_swigt__p_iEventNameRegistry,
  &_swigt__p_iEventOutlet,
  &_swigt__p_iEventPlug,
  &_swigt__p_iEventQueue,
  &_swigt__p_iFactory,
  &_swigt__p_iFile,
  &_swigt__p_iFlareHalo,
  &_swigt__p_iFont,
  &_swigt__p_iFontDeleteNotify,
  &_swigt__p_iFontServer,
  &_swigt__p_iFrustumView,
  &_swigt__p_iFrustumViewUserdata,
  &_swigt__p_iGenMeshAnimationControl,
  &_swigt__p_iGenMeshAnimationControlFactory,
  &_swigt__p_iGenMeshAnimationControlType,
  &_swigt__p_iGenMeshSkeletonControlState,
  &_swigt__p_iGeneralFactoryState,
  &_swigt__p_iGeneralMeshCommonState,
  &_swigt__p_iGeneralMeshState,
  &_swigt__p_iGeneralMeshSubMesh,
  &_swigt__p_iGraphics2D,
  &_swigt__p_iGraphics3D,
  &_swigt__p_iHalo,
  &_swigt__p_iImage,
  &_swigt__p_iImageIO,
  &_swigt__p_iJoint,
  &_swigt__p_iJoystickDriver,
  &_swigt__p_iKeyComposer,
  &_swigt__p_iKeyboardDriver,
  &_swigt__p_iLODControl,
  &_swigt__p_iLight,
  &_swigt__p_iLightCallback,
  &_swigt__p_iLightIterator,
  &_swigt__p_iLightList,
  &_swigt__p_iLightVisibleCallback,
  &_swigt__p_iLightingInfo,
  &_swigt__p_iLightingProcessData,
  &_swigt__p_iLightingProcessInfo,
  &_swigt__p_iLoader,
  &_swigt__p_iLoaderContext,
  &_swigt__p_iLoaderPlugin,
  &_swigt__p_iLoaderStatus,
  &_swigt__p_iMapNode,
  &_swigt__p_iMaterial,
  &_swigt__p_iMaterialEngine,
  &_swigt__p_iMaterialList,
  &_swigt__p_iMaterialWrapper,
  &_swigt__p_iMeshDrawCallback,
  &_swigt__p_iMeshFactoryList,
  &_swigt__p_iMeshFactoryWrapper,
  &_swigt__p_iMeshGenerator,
  &_swigt__p_iMeshList,
  &_swigt__p_iMeshObject,
  &_swigt__p_iMeshObjectDrawCallback,
  &_swigt__p_iMeshObjectFactory,
  &_swigt__p_iMeshObjectType,
  &_swigt__p_iMeshWrapper,
  &_swigt__p_iMeshWrapperIterator,
  &_swigt__p_iMissingLoaderData,
  &_swigt__p_iMouseDriver,
  &_swigt__p_iMovable,
  &_swigt__p_iMovableListener,
  &_swigt__p_iMovieRecorder,
  &_swigt__p_iNativeWindow,
  &_swigt__p_iNativeWindowManager,
  &_swigt__p_iNovaHalo,
  &_swigt__p_iODEAMotorJoint,
  &_swigt__p_iODEBallJoint,
  &_swigt__p_iODEDynamicState,
  &_swigt__p_iODEDynamicSystemState,
  &_swigt__p_iODEFrameUpdateCallback,
  &_swigt__p_iODEGeneralJointState,
  &_swigt__p_iODEHinge2Joint,
  &_swigt__p_iODEHingeJoint,
  &_swigt__p_iODEJointState,
  &_swigt__p_iODESliderJoint,
  &_swigt__p_iODEUniversalJoint,
  &_swigt__p_iObject,
  &_swigt__p_iObjectIterator,
  &_swigt__p_iObjectModel,
  &_swigt__p_iObjectModelListener,
  &_swigt__p_iObjectNameChangeListener,
  &_swigt__p_iObjectRegistry,
  &_swigt__p_iObjectRegistryIterator,
  &_swigt__p_iOffscreenCanvasCallback,
  &_swigt__p_iParameterESM,
  &_swigt__p_iParticleBuiltinEffectorFactory,
  &_swigt__p_iParticleBuiltinEffectorForce,
  &_swigt__p_iParticleBuiltinEffectorLinColor,
  &_swigt__p_iParticleBuiltinEffectorVelocityField,
  &_swigt__p_iParticleBuiltinEmitterBase,
  &_swigt__p_iParticleBuiltinEmitterBox,
  &_swigt__p_iParticleBuiltinEmitterCone,
  &_swigt__p_iParticleBuiltinEmitterCylinder,
  &_swigt__p_iParticleBuiltinEmitterFactory,
  &_swigt__p_iParticleBuiltinEmitterSphere,
  &_swigt__p_iParticleEffector,
  &_swigt__p_iParticleEmitter,
  &_swigt__p_iParticleSystem,
  &_swigt__p_iParticleSystemBase,
  &_swigt__p_iParticleSystemFactory,
  &_swigt__p_iPath,
  &_swigt__p_iPluginIterator,
  &_swigt__p_iPluginManager,
  &_swigt__p_iPolygonHandle,
  &_swigt__p_iPolygonMesh,
  &_swigt__p_iPortal,
  &_swigt__p_iPortalCallback,
  &_swigt__p_iPortalContainer,
  &_swigt__p_iProgressMeter,
  &_swigt__p_iRegion,
  &_swigt__p_iRegionList,
  &_swigt__p_iRenderBuffer,
  &_swigt__p_iRenderLoop,
  &_swigt__p_iRenderLoopManager,
  &_swigt__p_iRenderView,
  &_swigt__p_iRendererLightmap,
  &_swigt__p_iReporter,
  &_swigt__p_iReporterIterator,
  &_swigt__p_iReporterListener,
  &_swigt__p_iRigidBody,
  &_swigt__p_iSCF,
  &_swigt__p_iSaver,
  &_swigt__p_iSceneNode,
  &_swigt__p_iSceneNodeArray,
  &_swigt__p_iScript,
  &_swigt__p_iScriptObject,
  &_swigt__p_iSector,
  &_swigt__p_iSectorCallback,
  &_swigt__p_iSectorIterator,
  &_swigt__p_iSectorList,
  &_swigt__p_iSectorMeshCallback,
  &_swigt__p_iSequence,
  &_swigt__p_iSequenceManager,
  &_swigt__p_iSequenceTimedOperation,
  &_swigt__p_iSequenceTrigger,
  &_swigt__p_iSequenceWrapper,
  &_swigt__p_iShader,
  &_swigt__p_iShaderCompiler,
  &_swigt__p_iShaderManager,
  &_swigt__p_iShaderPriorityList,
  &_swigt__p_iShaderVarStack,
  &_swigt__p_iShaderVariableAccessor,
  &_swigt__p_iShaderVariableContext,
  &_swigt__p_iShadowBlockList,
  &_swigt__p_iShadowCaster,
  &_swigt__p_iShadowReceiver,
  &_swigt__p_iSharedVariable,
  &_swigt__p_iSharedVariableList,
  &_swigt__p_iSimpleFormerState,
  &_swigt__p_iSkeleton,
  &_swigt__p_iSkeletonBone,
  &_swigt__p_iSkeletonBoneFactory,
  &_swigt__p_iSkeletonBoneRagdollInfo,
  &_swigt__p_iSkeletonBoneUpdateCallback,
  &_swigt__p_iSkeletonFactory,
  &_swigt__p_iSkeletonGraveyard,
  &_swigt__p_iSkeletonScript,
  &_swigt__p_iSkeletonScriptCallback,
  &_swigt__p_iSkeletonScriptKeyFrame,
  &_swigt__p_iSkeletonSocket,
  &_swigt__p_iSkeletonSocketFactory,
  &_swigt__p_iSkeletonUpdateCallback,
  &_swigt__p_iSndSysData,
  &_swigt__p_iSndSysListener,
  &_swigt__p_iSndSysLoader,
  &_swigt__p_iSndSysManager,
  &_swigt__p_iSndSysRenderer,
  &_swigt__p_iSndSysRendererCallback,
  &_swigt__p_iSndSysRendererSoftware,
  &_swigt__p_iSndSysSoftwareDriver,
  &_swigt__p_iSndSysSoftwareFilter3D,
  &_swigt__p_iSndSysSoftwareFilter3DProperties,
  &_swigt__p_iSndSysSoftwareOutputFilter,
  &_swigt__p_iSndSysSource,
  &_swigt__p_iSndSysSourceSoftware,
  &_swigt__p_iSndSysSourceSoftware3D,
  &_swigt__p_iSndSysStream,
  &_swigt__p_iSndSysStreamCallback,
  &_swigt__p_iSndSysWrapper,
  &_swigt__p_iSprite2DFactoryState,
  &_swigt__p_iSprite2DState,
  &_swigt__p_iSprite2DUVAnimation,
  &_swigt__p_iSprite2DUVAnimationFrame,
  &_swigt__p_iSprite3DFactoryState,
  &_swigt__p_iSprite3DState,
  &_swigt__p_iSpriteAction,
  &_swigt__p_iSpriteCal3DFactoryState,
  &_swigt__p_iSpriteCal3DSocket,
  &_swigt__p_iSpriteCal3DState,
  &_swigt__p_iSpriteFrame,
  &_swigt__p_iSpriteSocket,
  &_swigt__p_iStandardReporterListener,
  &_swigt__p_iStreamSource,
  &_swigt__p_iString,
  &_swigt__p_iStringArray,
  &_swigt__p_iStringSet,
  &_swigt__p_iSuperLightmap,
  &_swigt__p_iTerraFormer,
  &_swigt__p_iTerraSampler,
  &_swigt__p_iTerrainFactoryState,
  &_swigt__p_iTerrainObjectState,
  &_swigt__p_iTextureCallback,
  &_swigt__p_iTextureHandle,
  &_swigt__p_iTextureList,
  &_swigt__p_iTextureManager,
  &_swigt__p_iTextureWrapper,
  &_swigt__p_iThingEnvironment,
  &_swigt__p_iThingFactoryState,
  &_swigt__p_iThingState,
  &_swigt__p_iVFS,
  &_swigt__p_iVerbosityManager,
  &_swigt__p_iView,
  &_swigt__p_iVirtualClock,
  &_swigt__p_iVisibilityCuller,
  &_swigt__p_iVisibilityCullerListener,
  &_swigt__p_iVisibilityObject,
  &_swigt__p_iVisibilityObjectIterator,
  &_swigt__p_int,
  &_swigt__p_int16_t,
  &_swigt__p_int32_t,
  &_swigt__p_int64_t,
  &_swigt__p_int8_t,
  &_swigt__p_int_least64_t,
  &_swigt__p_p_char,
  &_swigt__p_p_csImageIOFileFormatDescription,
  &_swigt__p_p_csOrthoTransform,
  &_swigt__p_p_csPath,
  &_swigt__p_p_csRenderMesh,
  &_swigt__p_p_csReversibleTransform,
  &_swigt__p_p_csShaderVariable,
  &_swigt__p_p_csVector3,
  &_swigt__p_p_iAnimTimeUpdateHandler,
  &_swigt__p_p_iArrayChangeAllTcsShaderVariable_p_t,
  &_swigt__p_p_iArrayChangeAllTcsSprite2DVertex_t,
  &_swigt__p_p_iArrayChangeElementsTcsShaderVariable_p_t,
  &_swigt__p_p_iArrayChangeElementsTcsSprite2DVertex_t,
  &_swigt__p_p_iArrayReadOnlyTcsShaderVariable_p_t,
  &_swigt__p_p_iArrayReadOnlyTcsSprite2DVertex_t,
  &_swigt__p_p_iArrayReadOnlyTiSceneNode_p_t,
  &_swigt__p_p_iAws,
  &_swigt__p_p_iAwsComponent,
  &_swigt__p_p_iAwsComponentFactory,
  &_swigt__p_p_iAwsComponentNode,
  &_swigt__p_p_iAwsConnectionKey,
  &_swigt__p_p_iAwsConnectionNodeFactory,
  &_swigt__p_p_iAwsFloatKey,
  &_swigt__p_p_iAwsIntKey,
  &_swigt__p_p_iAwsKey,
  &_swigt__p_p_iAwsKeyContainer,
  &_swigt__p_p_iAwsKeyFactory,
  &_swigt__p_p_iAwsLayoutManager,
  &_swigt__p_p_iAwsPointKey,
  &_swigt__p_p_iAwsPrefManager,
  &_swigt__p_p_iAwsRGBKey,
  &_swigt__p_p_iAwsRectKey,
  &_swigt__p_p_iAwsSink,
  &_swigt__p_p_iAwsSinkManager,
  &_swigt__p_p_iAwsSlot,
  &_swigt__p_p_iAwsSource,
  &_swigt__p_p_iAwsStringKey,
  &_swigt__p_p_iBase,
  &_swigt__p_p_iBinaryLoaderPlugin,
  &_swigt__p_p_iBodyGroup,
  &_swigt__p_p_iCacheManager,
  &_swigt__p_p_iCamera,
  &_swigt__p_p_iCameraPosition,
  &_swigt__p_p_iCameraPositionList,
  &_swigt__p_p_iCameraSectorListener,
  &_swigt__p_p_iClipper2D,
  &_swigt__p_p_iCollideSystem,
  &_swigt__p_p_iCollider,
  &_swigt__p_p_iColoredVertices,
  &_swigt__p_p_iCommandLineParser,
  &_swigt__p_p_iComponent,
  &_swigt__p_p_iConfigFile,
  &_swigt__p_p_iConfigIterator,
  &_swigt__p_p_iConfigManager,
  &_swigt__p_p_iConsoleOutput,
  &_swigt__p_p_iConsoleWatcher,
  &_swigt__p_p_iDataBuffer,
  &_swigt__p_p_iDebugHelper,
  &_swigt__p_p_iDocument,
  &_swigt__p_p_iDocumentAttribute,
  &_swigt__p_p_iDocumentAttributeIterator,
  &_swigt__p_p_iDocumentNode,
  &_swigt__p_p_iDocumentNodeIterator,
  &_swigt__p_p_iDocumentSystem,
  &_swigt__p_p_iDynamicSystem,
  &_swigt__p_p_iDynamics,
  &_swigt__p_p_iDynamicsColliderCollisionCallback,
  &_swigt__p_p_iDynamicsCollisionCallback,
  &_swigt__p_p_iDynamicsMoveCallback,
  &_swigt__p_p_iDynamicsSystemCollider,
  &_swigt__p_p_iEngine,
  &_swigt__p_p_iEngineFrameCallback,
  &_swigt__p_p_iEngineSectorCallback,
  &_swigt__p_p_iEngineSequenceManager,
  &_swigt__p_p_iEngineSequenceParameters,
  &_swigt__p_p_iEvent,
  &_swigt__p_p_iEventAttributeIterator,
  &_swigt__p_p_iEventCord,
  &_swigt__p_p_iEventHandler,
  &_swigt__p_p_iEventNameRegistry,
  &_swigt__p_p_iEventOutlet,
  &_swigt__p_p_iEventPlug,
  &_swigt__p_p_iEventQueue,
  &_swigt__p_p_iFactory,
  &_swigt__p_p_iFile,
  &_swigt__p_p_iFont,
  &_swigt__p_p_iFontDeleteNotify,
  &_swigt__p_p_iFontServer,
  &_swigt__p_p_iFrustumView,
  &_swigt__p_p_iFrustumViewUserdata,
  &_swigt__p_p_iGenMeshAnimationControl,
  &_swigt__p_p_iGenMeshAnimationControlFactory,
  &_swigt__p_p_iGenMeshAnimationControlType,
  &_swigt__p_p_iGenMeshSkeletonControlState,
  &_swigt__p_p_iGeneralFactoryState,
  &_swigt__p_p_iGeneralMeshCommonState,
  &_swigt__p_p_iGeneralMeshState,
  &_swigt__p_p_iGeneralMeshSubMesh,
  &_swigt__p_p_iGraphics2D,
  &_swigt__p_p_iGraphics3D,
  &_swigt__p_p_iHalo,
  &_swigt__p_p_iImage,
  &_swigt__p_p_iImageIO,
  &_swigt__p_p_iJoint,
  &_swigt__p_p_iJoystickDriver,
  &_swigt__p_p_iKeyComposer,
  &_swigt__p_p_iKeyboardDriver,
  &_swigt__p_p_iLight,
  &_swigt__p_p_iLightCallback,
  &_swigt__p_p_iLightIterator,
  &_swigt__p_p_iLightList,
  &_swigt__p_p_iLightVisibleCallback,
  &_swigt__p_p_iLightingProcessData,
  &_swigt__p_p_iLightingProcessInfo,
  &_swigt__p_p_iLoader,
  &_swigt__p_p_iLoaderPlugin,
  &_swigt__p_p_iLoaderStatus,
  &_swigt__p_p_iMapNode,
  &_swigt__p_p_iMaterial,
  &_swigt__p_p_iMaterialEngine,
  &_swigt__p_p_iMaterialList,
  &_swigt__p_p_iMaterialWrapper,
  &_swigt__p_p_iMeshDrawCallback,
  &_swigt__p_p_iMeshFactoryList,
  &_swigt__p_p_iMeshFactoryWrapper,
  &_swigt__p_p_iMeshList,
  &_swigt__p_p_iMeshObject,
  &_swigt__p_p_iMeshObjectDrawCallback,
  &_swigt__p_p_iMeshObjectFactory,
  &_swigt__p_p_iMeshObjectType,
  &_swigt__p_p_iMeshWrapper,
  &_swigt__p_p_iMeshWrapperIterator,
  &_swigt__p_p_iMissingLoaderData,
  &_swigt__p_p_iMouseDriver,
  &_swigt__p_p_iMovable,
  &_swigt__p_p_iMovableListener,
  &_swigt__p_p_iMovieRecorder,
  &_swigt__p_p_iNativeWindow,
  &_swigt__p_p_iNativeWindowManager,
  &_swigt__p_p_iODEAMotorJoint,
  &_swigt__p_p_iODEBallJoint,
  &_swigt__p_p_iODEDynamicState,
  &_swigt__p_p_iODEDynamicSystemState,
  &_swigt__p_p_iODEFrameUpdateCallback,
  &_swigt__p_p_iODEGeneralJointState,
  &_swigt__p_p_iODEHinge2Joint,
  &_swigt__p_p_iODEHingeJoint,
  &_swigt__p_p_iODEJointState,
  &_swigt__p_p_iODESliderJoint,
  &_swigt__p_p_iODEUniversalJoint,
  &_swigt__p_p_iObject,
  &_swigt__p_p_iObjectIterator,
  &_swigt__p_p_iObjectModel,
  &_swigt__p_p_iObjectModelListener,
  &_swigt__p_p_iObjectNameChangeListener,
  &_swigt__p_p_iObjectRegistry,
  &_swigt__p_p_iObjectRegistryIterator,
  &_swigt__p_p_iOffscreenCanvasCallback,
  &_swigt__p_p_iParameterESM,
  &_swigt__p_p_iParticleBuiltinEffectorFactory,
  &_swigt__p_p_iParticleBuiltinEffectorForce,
  &_swigt__p_p_iParticleBuiltinEffectorLinColor,
  &_swigt__p_p_iParticleBuiltinEffectorVelocityField,
  &_swigt__p_p_iParticleBuiltinEmitterBase,
  &_swigt__p_p_iParticleBuiltinEmitterBox,
  &_swigt__p_p_iParticleBuiltinEmitterCone,
  &_swigt__p_p_iParticleBuiltinEmitterCylinder,
  &_swigt__p_p_iParticleBuiltinEmitterFactory,
  &_swigt__p_p_iParticleBuiltinEmitterSphere,
  &_swigt__p_p_iParticleEffector,
  &_swigt__p_p_iParticleEmitter,
  &_swigt__p_p_iParticleSystem,
  &_swigt__p_p_iParticleSystemBase,
  &_swigt__p_p_iParticleSystemFactory,
  &_swigt__p_p_iPath,
  &_swigt__p_p_iPluginIterator,
  &_swigt__p_p_iPluginManager,
  &_swigt__p_p_iPolygonHandle,
  &_swigt__p_p_iPolygonMesh,
  &_swigt__p_p_iPortal,
  &_swigt__p_p_iPortalCallback,
  &_swigt__p_p_iPortalContainer,
  &_swigt__p_p_iRegion,
  &_swigt__p_p_iRegionList,
  &_swigt__p_p_iRenderBuffer,
  &_swigt__p_p_iRendererLightmap,
  &_swigt__p_p_iReporter,
  &_swigt__p_p_iReporterIterator,
  &_swigt__p_p_iReporterListener,
  &_swigt__p_p_iRigidBody,
  &_swigt__p_p_iSCF,
  &_swigt__p_p_iSaver,
  &_swigt__p_p_iSceneNode,
  &_swigt__p_p_iSceneNodeArray,
  &_swigt__p_p_iScript,
  &_swigt__p_p_iScriptObject,
  &_swigt__p_p_iSector,
  &_swigt__p_p_iSectorCallback,
  &_swigt__p_p_iSectorIterator,
  &_swigt__p_p_iSectorList,
  &_swigt__p_p_iSectorMeshCallback,
  &_swigt__p_p_iSequenceTimedOperation,
  &_swigt__p_p_iSequenceTrigger,
  &_swigt__p_p_iSequenceWrapper,
  &_swigt__p_p_iShader,
  &_swigt__p_p_iShaderCompiler,
  &_swigt__p_p_iShaderManager,
  &_swigt__p_p_iShaderPriorityList,
  &_swigt__p_p_iShaderVarStack,
  &_swigt__p_p_iShaderVariableAccessor,
  &_swigt__p_p_iShaderVariableContext,
  &_swigt__p_p_iSimpleFormerState,
  &_swigt__p_p_iSkeleton,
  &_swigt__p_p_iSkeletonBone,
  &_swigt__p_p_iSkeletonBoneFactory,
  &_swigt__p_p_iSkeletonBoneRagdollInfo,
  &_swigt__p_p_iSkeletonBoneUpdateCallback,
  &_swigt__p_p_iSkeletonFactory,
  &_swigt__p_p_iSkeletonGraveyard,
  &_swigt__p_p_iSkeletonScript,
  &_swigt__p_p_iSkeletonScriptCallback,
  &_swigt__p_p_iSkeletonScriptKeyFrame,
  &_swigt__p_p_iSkeletonSocket,
  &_swigt__p_p_iSkeletonSocketFactory,
  &_swigt__p_p_iSkeletonUpdateCallback,
  &_swigt__p_p_iSndSysData,
  &_swigt__p_p_iSndSysListener,
  &_swigt__p_p_iSndSysLoader,
  &_swigt__p_p_iSndSysManager,
  &_swigt__p_p_iSndSysRenderer,
  &_swigt__p_p_iSndSysRendererCallback,
  &_swigt__p_p_iSndSysRendererSoftware,
  &_swigt__p_p_iSndSysSoftwareDriver,
  &_swigt__p_p_iSndSysSoftwareFilter3D,
  &_swigt__p_p_iSndSysSoftwareOutputFilter,
  &_swigt__p_p_iSndSysSource,
  &_swigt__p_p_iSndSysSourceSoftware,
  &_swigt__p_p_iSndSysSourceSoftware3D,
  &_swigt__p_p_iSndSysStream,
  &_swigt__p_p_iSndSysStreamCallback,
  &_swigt__p_p_iSndSysWrapper,
  &_swigt__p_p_iSprite2DFactoryState,
  &_swigt__p_p_iSprite2DState,
  &_swigt__p_p_iSprite2DUVAnimation,
  &_swigt__p_p_iSprite2DUVAnimationFrame,
  &_swigt__p_p_iSprite3DFactoryState,
  &_swigt__p_p_iSprite3DState,
  &_swigt__p_p_iSpriteAction,
  &_swigt__p_p_iSpriteCal3DFactoryState,
  &_swigt__p_p_iSpriteCal3DSocket,
  &_swigt__p_p_iSpriteCal3DState,
  &_swigt__p_p_iSpriteFrame,
  &_swigt__p_p_iSpriteSocket,
  &_swigt__p_p_iStandardReporterListener,
  &_swigt__p_p_iString,
  &_swigt__p_p_iStringArray,
  &_swigt__p_p_iStringSet,
  &_swigt__p_p_iSuperLightmap,
  &_swigt__p_p_iTerraFormer,
  &_swigt__p_p_iTerraSampler,
  &_swigt__p_p_iTerrainFactoryState,
  &_swigt__p_p_iTerrainObjectState,
  &_swigt__p_p_iTextureCallback,
  &_swigt__p_p_iTextureHandle,
  &_swigt__p_p_iTextureList,
  &_swigt__p_p_iTextureManager,
  &_swigt__p_p_iTextureWrapper,
  &_swigt__p_p_iThingEnvironment,
  &_swigt__p_p_iThingFactoryState,
  &_swigt__p_p_iThingState,
  &_swigt__p_p_iVFS,
  &_swigt__p_p_iView,
  &_swigt__p_p_iVirtualClock,
  &_swigt__p_p_iVisibilityCuller,
  &_swigt__p_p_iVisibilityCullerListener,
  &_swigt__p_p_iVisibilityObject,
  &_swigt__p_p_iVisibilityObjectIterator,
  &_swigt__p_p_scfImplementation1TcsPath_iPath_t,
  &_swigt__p_p_void,
  &_swigt__p_scfImplementation1TcsPath_iPath_t,
  &_swigt__p_size_t,
  &_swigt__p_uint16_t,
  &_swigt__p_uint32_t,
  &_swigt__p_uint64_t,
  &_swigt__p_uint8_t,
  &_swigt__p_uint_least64_t,
  &_swigt__p_unsigned_char,
  &_swigt__p_unsigned_int,
  &_swigt__p_unsigned_long,
  &_swigt__p_utf32_char,
  &_swigt__p_void,
  &_swigt__p_wchar_t,
};

static swig_cast_info _swigc__p_AllocatorType[] = {  {&_swigt__p_AllocatorType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_CS__Memory__AllocatorMalloc[] = {  {&_swigt__p_CS__Memory__AllocatorMalloc, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_CS__TriangleTTint_t[] = {  {&_swigt__p_CS__TriangleTTint_t, 0, 0, 0},  {&_swigt__p_csTriangle, _p_csTriangleTo_p_CS__TriangleTTint_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_CalAnimationCallback[] = {  {&_swigt__p_CalAnimationCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_CalCoreModel[] = {  {&_swigt__p_CalCoreModel, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_CalModel[] = {  {&_swigt__p_CalModel, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_CapacityHandlerType[] = {  {&_swigt__p_CapacityHandlerType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_ContainedType[] = {  {&_swigt__p_ContainedType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_ElementHandlerType[] = {  {&_swigt__p_ElementHandlerType, 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_FileFormatDescription[] = {  {&_swigt__p_FileFormatDescription, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_HashType[] = {  {&_swigt__p_HashType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_SndSysFilterLocation[] = {  {&_swigt__p_SndSysFilterLocation, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_ThisType[] = {  {&_swigt__p_ThisType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_ValueType[] = {  {&_swigt__p_ValueType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p__csKeyCharType[] = {  {&_swigt__p__csKeyCharType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p__csKeyEventType[] = {  {&_swigt__p__csKeyEventType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p__csKeyModifierNumType[] = {  {&_swigt__p__csKeyModifierNumType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p__csKeyModifierType[] = {  {&_swigt__p__csKeyModifierType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p__csKeyModifiers[] = {  {&_swigt__p__csKeyModifiers, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p__csMouseCursorID[] = {  {&_swigt__p__csMouseCursorID, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p__csMouseEventType[] = {  {&_swigt__p__csMouseEventType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_awsConnectionNode[] = {  {&_swigt__p_awsConnectionNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_bool[] = {  {&_swigt__p_bool, 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_csAlphaMode[] = {  {&_swigt__p_csAlphaMode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayCapacityDefault[] = {  {&_swigt__p_csArrayCapacityDefault, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayCapacityLinearTcsArrayThresholdVariable_t[] = {  {&_swigt__p_csArrayCapacityLinearTcsArrayThresholdVariable_t, 0, 0, 0},  {&_swigt__p_csArrayCapacityDefault, _p_csArrayCapacityDefaultTo_p_csArrayCapacityLinearTcsArrayThresholdVariable_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTcsIntersectingTriangle_csArrayElementHandlerTcsIntersectingTriangle_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTcsIntersectingTriangle_csArrayElementHandlerTcsIntersectingTriangle_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayThresholdVariable[] = {  {&_swigt__p_csArrayThresholdVariable, 0, 0, 0},  {&_swigt__p_csArrayCapacityLinearTcsArrayThresholdVariable_t, _p_csArrayCapacityLinearTcsArrayThresholdVariable_tTo_p_csArrayThresholdVariable, 0, 0},  {&_swigt__p_csArrayCapacityDefault, _p_csArrayCapacityDefaultTo_p_csArrayThresholdVariable, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t[] = {  {&_swigt__p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csBSpline[] = {  {&_swigt__p_csBSpline, 0, 0, 0},  {&_swigt__p_csCatmullRomSpline, _p_csCatmullRomSplineTo_p_csBSpline, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csBitmapMetrics[] = {  {&_swigt__p_csBitmapMetrics, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csBox2[] = {  {&_swigt__p_csBox2, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csBox3[] = {  {&_swigt__p_csBox3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csCatmullRomSpline[] = {  {&_swigt__p_csCatmullRomSpline, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csColliderActor[] = {  {&_swigt__p_csColliderActor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csColliderHelper[] = {  {&_swigt__p_csColliderHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csColliderWrapper[] = {  {&_swigt__p_csColliderWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csCollisionPair[] = {  {&_swigt__p_csCollisionPair, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csColor[] = {  {&_swigt__p_csColor, 0, 0, 0},  {&_swigt__p_csColor4, _p_csColor4To_p_csColor, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csColor4[] = {  {&_swigt__p_csColor4, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csCommandEventData[] = {  {&_swigt__p_csCommandEventData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csCommandEventHelper[] = {  {&_swigt__p_csCommandEventHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csCommandLineHelper[] = {  {&_swigt__p_csCommandLineHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csCompressVertex[] = {  {&_swigt__p_csCompressVertex, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csCoreRenderMesh[] = {  {&_swigt__p_csCoreRenderMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csCubicSpline[] = {  {&_swigt__p_csCubicSpline, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csDVector3[] = {  {&_swigt__p_csDVector3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csEllipsoid[] = {  {&_swigt__p_csEllipsoid, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csEvent[] = {  {&_swigt__p_csEvent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csEventNameRegistry[] = {  {&_swigt__p_csEventNameRegistry, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csFileTime[] = {  {&_swigt__p_csFileTime, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csFlags[] = {  {&_swigt__p_csFlags, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csFog[] = {  {&_swigt__p_csFog, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csFrustum[] = {  {&_swigt__p_csFrustum, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csFrustumContext[] = {  {&_swigt__p_csFrustumContext, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csGeomDebugHelper[] = {  {&_swigt__p_csGeomDebugHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csGlyphMetrics[] = {  {&_swigt__p_csGlyphMetrics, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csGraphics3DCaps[] = {  {&_swigt__p_csGraphics3DCaps, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csHandlerID[] = {  {&_swigt__p_csHandlerID, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csHashTcsRefTiShader_t_unsigned_long_CS__Memory__AllocatorMalloc_t[] = {  {&_swigt__p_csHashTcsRefTiShader_t_unsigned_long_CS__Memory__AllocatorMalloc_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csHitBeamResult[] = {  {&_swigt__p_csHitBeamResult, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csImageArea[] = {  {&_swigt__p_csImageArea, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csImageIOFileFormatDescription[] = {  {&_swigt__p_csImageIOFileFormatDescription, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csInitializer[] = {  {&_swigt__p_csInitializer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csInputEventHelper[] = {  {&_swigt__p_csInputEventHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csIntersect2[] = {  {&_swigt__p_csIntersect2, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csIntersect3[] = {  {&_swigt__p_csIntersect3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csIntersectingTriangle[] = {  {&_swigt__p_csIntersectingTriangle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csJoystickEventData[] = {  {&_swigt__p_csJoystickEventData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csJoystickEventHelper[] = {  {&_swigt__p_csJoystickEventHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csKeyEventData[] = {  {&_swigt__p_csKeyEventData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csKeyEventHelper[] = {  {&_swigt__p_csKeyEventHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csListenerProperties[] = {  {&_swigt__p_csListenerProperties, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csMath2[] = {  {&_swigt__p_csMath2, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csMath3[] = {  {&_swigt__p_csMath3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csMatrix2[] = {  {&_swigt__p_csMatrix2, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csMatrix3[] = {  {&_swigt__p_csMatrix3, 0, 0, 0},  {&_swigt__p_csXRotMatrix3, _p_csXRotMatrix3To_p_csMatrix3, 0, 0},  {&_swigt__p_csYRotMatrix3, _p_csYRotMatrix3To_p_csMatrix3, 0, 0},  {&_swigt__p_csZRotMatrix3, _p_csZRotMatrix3To_p_csMatrix3, 0, 0},  {&_swigt__p_csXScaleMatrix3, _p_csXScaleMatrix3To_p_csMatrix3, 0, 0},  {&_swigt__p_csYScaleMatrix3, _p_csYScaleMatrix3To_p_csMatrix3, 0, 0},  {&_swigt__p_csZScaleMatrix3, _p_csZScaleMatrix3To_p_csMatrix3, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csMeshedPolygon[] = {  {&_swigt__p_csMeshedPolygon, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csMouseEventData[] = {  {&_swigt__p_csMouseEventData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csMouseEventHelper[] = {  {&_swigt__p_csMouseEventHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csOBB[] = {  {&_swigt__p_csOBB, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csObject[] = {  {&_swigt__p_csObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csOrthoTransform[] = {  {&_swigt__p_csOrthoTransform, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csParticle[] = {  {&_swigt__p_csParticle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csParticleAux[] = {  {&_swigt__p_csParticleAux, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csParticleBuffer[] = {  {&_swigt__p_csParticleBuffer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPath[] = {  {&_swigt__p_csPath, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPixelCoord[] = {  {&_swigt__p_csPixelCoord, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPixelFormat[] = {  {&_swigt__p_csPixelFormat, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPixmap[] = {  {&_swigt__p_csPixmap, 0, 0, 0},  {&_swigt__p_csSimplePixmap, _p_csSimplePixmapTo_p_csPixmap, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPlane2[] = {  {&_swigt__p_csPlane2, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPlane3[] = {  {&_swigt__p_csPlane3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPluginRequest[] = {  {&_swigt__p_csPluginRequest, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPoly2D[] = {  {&_swigt__p_csPoly2D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPoly2DFactory[] = {  {&_swigt__p_csPoly2DFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPoly3D[] = {  {&_swigt__p_csPoly3D, 0, 0, 0},  {&_swigt__p_csVector3Array, _p_csVector3ArrayTo_p_csPoly3D, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPolygonMesh[] = {  {&_swigt__p_csPolygonMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPolygonMeshBox[] = {  {&_swigt__p_csPolygonMeshBox, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPolygonRange[] = {  {&_swigt__p_csPolygonRange, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTcsFrustum_t[] = {  {&_swigt__p_csPtrTcsFrustum_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiBase_t[] = {  {&_swigt__p_csPtrTiBase_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiEngineSequenceParameters_t[] = {  {&_swigt__p_csPtrTiEngineSequenceParameters_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiEventOutlet_t[] = {  {&_swigt__p_csPtrTiEventOutlet_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiGenMeshAnimationControlFactory_t[] = {  {&_swigt__p_csPtrTiGenMeshAnimationControlFactory_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiGenMeshAnimationControl_t[] = {  {&_swigt__p_csPtrTiGenMeshAnimationControl_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiKeyComposer_t[] = {  {&_swigt__p_csPtrTiKeyComposer_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiLightIterator_t[] = {  {&_swigt__p_csPtrTiLightIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiLightingProcessData_t[] = {  {&_swigt__p_csPtrTiLightingProcessData_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiLoaderContext_t[] = {  {&_swigt__p_csPtrTiLoaderContext_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiLoaderStatus_t[] = {  {&_swigt__p_csPtrTiLoaderStatus_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiODEHinge2Joint_t[] = {  {&_swigt__p_csPtrTiODEHinge2Joint_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiObjectIterator_t[] = {  {&_swigt__p_csPtrTiObjectIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiObjectRegistryIterator_t[] = {  {&_swigt__p_csPtrTiObjectRegistryIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiObjectWatcher_t[] = {  {&_swigt__p_csPtrTiObjectWatcher_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiParameterESM_t[] = {  {&_swigt__p_csPtrTiParameterESM_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiParticleBuiltinEffectorVelocityField_t[] = {  {&_swigt__p_csPtrTiParticleBuiltinEffectorVelocityField_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiPluginIterator_t[] = {  {&_swigt__p_csPtrTiPluginIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiPolygonHandle_t[] = {  {&_swigt__p_csPtrTiPolygonHandle_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiRendererLightmap_t[] = {  {&_swigt__p_csPtrTiRendererLightmap_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiRigidBody_t[] = {  {&_swigt__p_csPtrTiRigidBody_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiSectorIterator_t[] = {  {&_swigt__p_csPtrTiSectorIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiSequenceTrigger_t[] = {  {&_swigt__p_csPtrTiSequenceTrigger_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiSequenceWrapper_t[] = {  {&_swigt__p_csPtrTiSequenceWrapper_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiShaderPriorityList_t[] = {  {&_swigt__p_csPtrTiShaderPriorityList_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiShader_t[] = {  {&_swigt__p_csPtrTiShader_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiShadowBlockList_t[] = {  {&_swigt__p_csPtrTiShadowBlockList_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiSuperLightmap_t[] = {  {&_swigt__p_csPtrTiSuperLightmap_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csPtrTiVisibilityObjectIterator_t[] = {  {&_swigt__p_csPtrTiVisibilityObjectIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csQuaternion[] = {  {&_swigt__p_csQuaternion, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRGBcolor[] = {  {&_swigt__p_csRGBcolor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRGBpixel[] = {  {&_swigt__p_csRGBpixel, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRandomGen[] = {  {&_swigt__p_csRandomGen, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRect[] = {  {&_swigt__p_csRect, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRectRegion[] = {  {&_swigt__p_csRectRegion, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefArrayTcsShaderVariable_t[] = {  {&_swigt__p_csRefArrayTcsShaderVariable_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefArrayTiAwsKey_t[] = {  {&_swigt__p_csRefArrayTiAwsKey_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefArrayTiObject_t[] = {  {&_swigt__p_csRefArrayTiObject_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefArrayTiSceneNode_t[] = {  {&_swigt__p_csRefArrayTiSceneNode_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefArrayTiShader_t[] = {  {&_swigt__p_csRefArrayTiShader_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefCount[] = {  {&_swigt__p_csShaderVariable, _p_csShaderVariableTo_p_csRefCount, 0, 0},  {&_swigt__p_csRefCount, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiBase_t[] = {  {&_swigt__p_csRefTiBase_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiDocumentAttributeIterator_t[] = {  {&_swigt__p_csRefTiDocumentAttributeIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiDocumentAttribute_t[] = {  {&_swigt__p_csRefTiDocumentAttribute_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiDocumentNodeIterator_t[] = {  {&_swigt__p_csRefTiDocumentNodeIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiDocumentNode_t[] = {  {&_swigt__p_csRefTiDocumentNode_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiDynamicsSystemCollider_t[] = {  {&_swigt__p_csRefTiDynamicsSystemCollider_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiEventAttributeIterator_t[] = {  {&_swigt__p_csRefTiEventAttributeIterator_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiEventHandlerRegistry_t[] = {  {&_swigt__p_csRefTiEventHandlerRegistry_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiEventHandler_t[] = {  {&_swigt__p_csRefTiEventHandler_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiEventNameRegistry_t[] = {  {&_swigt__p_csRefTiEventNameRegistry_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiEvent_t[] = {  {&_swigt__p_csRefTiEvent_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiGeneralFactoryState_t[] = {  {&_swigt__p_csRefTiGeneralFactoryState_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiImage_t[] = {  {&_swigt__p_csRefTiImage_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiRenderBuffer_t[] = {  {&_swigt__p_csRefTiRenderBuffer_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiRigidBody_t[] = {  {&_swigt__p_csRefTiRigidBody_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiScriptObject_t[] = {  {&_swigt__p_csRefTiScriptObject_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRefTiString_t[] = {  {&_swigt__p_csRefTiString_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRenderBufferHolder[] = {  {&_swigt__p_csRenderBufferHolder, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRenderBufferName[] = {  {&_swigt__p_csRenderBufferName, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRenderMesh[] = {  {&_swigt__p_csRenderMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRenderMeshList[] = {  {&_swigt__p_csRenderMeshList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csRenderMeshModes[] = {  {&_swigt__p_csRenderMeshModes, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csReporterHelper[] = {  {&_swigt__p_csReporterHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csReversibleTransform[] = {  {&_swigt__p_csReversibleTransform, 0, 0, 0},  {&_swigt__p_csOrthoTransform, _p_csOrthoTransformTo_p_csReversibleTransform, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csScreenBoxResult[] = {  {&_swigt__p_csScreenBoxResult, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSectorHitBeamResult[] = {  {&_swigt__p_csSectorHitBeamResult, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSegment2[] = {  {&_swigt__p_csSegment2, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSegment3[] = {  {&_swigt__p_csSegment3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t[] = {  {&_swigt__p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t[] = {  {&_swigt__p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csShaderMetadata[] = {  {&_swigt__p_csShaderMetadata, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csShaderTagPresence[] = {  {&_swigt__p_csShaderTagPresence, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csShaderVariable[] = {  {&_swigt__p_csShaderVariable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSimplePixmap[] = {  {&_swigt__p_csSimplePixmap, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSimpleRenderMesh[] = {  {&_swigt__p_csSimpleRenderMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSndSysRendererSoftware[] = {  {&_swigt__p_csSndSysRendererSoftware, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSndSysSoundFormat[] = {  {&_swigt__p_csSndSysSoundFormat, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSourceParameters3D[] = {  {&_swigt__p_csSourceParameters3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSphere[] = {  {&_swigt__p_csSphere, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSpline[] = {  {&_swigt__p_csBSpline, _p_csBSplineTo_p_csSpline, 0, 0},  {&_swigt__p_csSpline, 0, 0, 0},  {&_swigt__p_csCatmullRomSpline, _p_csCatmullRomSplineTo_p_csSpline, 0, 0},  {&_swigt__p_csCubicSpline, _p_csCubicSplineTo_p_csSpline, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSprite2DVertex[] = {  {&_swigt__p_csSprite2DVertex, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSpriteCal3DActiveAnim[] = {  {&_swigt__p_csSpriteCal3DActiveAnim, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csSquaredDist[] = {  {&_swigt__p_csSquaredDist, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csStrKey[] = {  {&_swigt__p_csStrKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csString[] = {  {&_swigt__p_csString, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csStringArray[] = {  {&_swigt__p_csStringArray, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csStringBase[] = {  {&_swigt__p_csStringBase, 0, 0, 0},  {&_swigt__p_csStringFastT36_t, _p_csStringFastT36_tTo_p_csStringBase, 0, 0},  {&_swigt__p_csString, _p_csStringTo_p_csStringBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csStringFastT36_t[] = {  {&_swigt__p_csStringFastT36_t, 0, 0, 0},  {&_swigt__p_csString, _p_csStringTo_p_csStringFastT36_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csStringSet[] = {  {&_swigt__p_csStringSet, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csTinyDocumentSystem[] = {  {&_swigt__p_csTinyDocumentSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csTraceBeamResult[] = {  {&_swigt__p_csTraceBeamResult, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csTransform[] = {  {&_swigt__p_csTransform, 0, 0, 0},  {&_swigt__p_csReversibleTransform, _p_csReversibleTransformTo_p_csTransform, 0, 0},  {&_swigt__p_csOrthoTransform, _p_csOrthoTransformTo_p_csTransform, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csTriangle[] = {  {&_swigt__p_csTriangle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csVector2[] = {  {&_swigt__p_csVector2, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csVector3[] = {  {&_swigt__p_csVector3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csVector3Array[] = {  {&_swigt__p_csVector3Array, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csVector4[] = {  {&_swigt__p_csVector4, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csVertexAttrib[] = {  {&_swigt__p_csVertexAttrib, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csVertexStatus[] = {  {&_swigt__p_csVertexStatus, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csView[] = {  {&_swigt__p_csView, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csWrapPtr[] = {  {&_swigt__p_csWrapPtr, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csXRotMatrix3[] = {  {&_swigt__p_csXRotMatrix3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csXScaleMatrix3[] = {  {&_swigt__p_csXScaleMatrix3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csYRotMatrix3[] = {  {&_swigt__p_csYRotMatrix3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csYScaleMatrix3[] = {  {&_swigt__p_csYScaleMatrix3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csZRotMatrix3[] = {  {&_swigt__p_csZRotMatrix3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_csZScaleMatrix3[] = {  {&_swigt__p_csZScaleMatrix3, 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_p_iBase__p_iAwsRGBKey[] = {{&_swigt__p_f_p_iBase__p_iAwsRGBKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iRendererLightmap[] = {{&_swigt__p_f_p_iBase__p_iRendererLightmap, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSuperLightmap[] = {{&_swigt__p_f_p_iBase__p_iSuperLightmap, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iConsoleOutput[] = {{&_swigt__p_f_p_iBase__p_iConsoleOutput, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTerrainObjectState[] = {{&_swigt__p_f_p_iBase__p_iTerrainObjectState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iClipper2D[] = {{&_swigt__p_f_p_iBase__p_iClipper2D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleEffector[] = {{&_swigt__p_f_p_iBase__p_iParticleEffector, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDebugHelper[] = {{&_swigt__p_f_p_iBase__p_iDebugHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEDynamicState[] = {{&_swigt__p_f_p_iBase__p_iODEDynamicState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDocumentAttribute[] = {{&_swigt__p_f_p_iBase__p_iDocumentAttribute, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEHingeJoint[] = {{&_swigt__p_f_p_iBase__p_iODEHingeJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMaterialEngine[] = {{&_swigt__p_f_p_iBase__p_iMaterialEngine, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iImageIO[] = {{&_swigt__p_f_p_iBase__p_iImageIO, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iPath[] = {{&_swigt__p_f_p_iBase__p_iPath, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSCF[] = {{&_swigt__p_f_p_iBase__p_iSCF, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLoaderStatus[] = {{&_swigt__p_f_p_iBase__p_iLoaderStatus, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEBallJoint[] = {{&_swigt__p_f_p_iBase__p_iODEBallJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTextureHandle[] = {{&_swigt__p_f_p_iBase__p_iTextureHandle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGeneralMeshState[] = {{&_swigt__p_f_p_iBase__p_iGeneralMeshState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDynamics[] = {{&_swigt__p_f_p_iBase__p_iDynamics, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParameterESM[] = {{&_swigt__p_f_p_iBase__p_iParameterESM, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysSoftwareOutputFilter[] = {{&_swigt__p_f_p_iBase__p_iSndSysSoftwareOutputFilter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsIntKey[] = {{&_swigt__p_f_p_iBase__p_iAwsIntKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterCylinder[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterCylinder, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEDynamicSystemState[] = {{&_swigt__p_f_p_iBase__p_iODEDynamicSystemState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshList[] = {{&_swigt__p_f_p_iBase__p_iMeshList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEventPlug[] = {{&_swigt__p_f_p_iBase__p_iEventPlug, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterBox[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterBox, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_t[] = {{&_swigt__p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEJointState[] = {{&_swigt__p_f_p_iBase__p_iODEJointState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEGeneralJointState[] = {{&_swigt__p_f_p_iBase__p_iODEGeneralJointState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_t[] = {{&_swigt__p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMaterialWrapper[] = {{&_swigt__p_f_p_iBase__p_iMaterialWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTextureWrapper[] = {{&_swigt__p_f_p_iBase__p_iTextureWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshWrapper[] = {{&_swigt__p_f_p_iBase__p_iMeshWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshFactoryWrapper[] = {{&_swigt__p_f_p_iBase__p_iMeshFactoryWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysWrapper[] = {{&_swigt__p_f_p_iBase__p_iSndSysWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSequenceWrapper[] = {{&_swigt__p_f_p_iBase__p_iSequenceWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iString[] = {{&_swigt__p_f_p_iBase__p_iString, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iConsoleWatcher[] = {{&_swigt__p_f_p_iBase__p_iConsoleWatcher, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEngine[] = {{&_swigt__p_f_p_iBase__p_iEngine, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSimpleFormerState[] = {{&_swigt__p_f_p_iBase__p_iSimpleFormerState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMaterial[] = {{&_swigt__p_f_p_iBase__p_iMaterial, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSprite2DUVAnimation[] = {{&_swigt__p_f_p_iBase__p_iSprite2DUVAnimation, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_scfImplementation1TcsPath_iPath_t[] = {{&_swigt__p_f_p_iBase__p_scfImplementation1TcsPath_iPath_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iPolygonMesh[] = {{&_swigt__p_f_p_iBase__p_iPolygonMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTerrainFactoryState[] = {{&_swigt__p_f_p_iBase__p_iTerrainFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iThingFactoryState[] = {{&_swigt__p_f_p_iBase__p_iThingFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSpriteCal3DFactoryState[] = {{&_swigt__p_f_p_iBase__p_iSpriteCal3DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSprite3DFactoryState[] = {{&_swigt__p_f_p_iBase__p_iSprite3DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSprite2DFactoryState[] = {{&_swigt__p_f_p_iBase__p_iSprite2DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGeneralFactoryState[] = {{&_swigt__p_f_p_iBase__p_iGeneralFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleEmitter[] = {{&_swigt__p_f_p_iBase__p_iParticleEmitter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGraphics2D[] = {{&_swigt__p_f_p_iBase__p_iGraphics2D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDocument[] = {{&_swigt__p_f_p_iBase__p_iDocument, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iShaderPriorityList[] = {{&_swigt__p_f_p_iBase__p_iShaderPriorityList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysSourceSoftware3D[] = {{&_swigt__p_f_p_iBase__p_iSndSysSourceSoftware3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDataBuffer[] = {{&_swigt__p_f_p_iBase__p_iDataBuffer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshObject[] = {{&_swigt__p_f_p_iBase__p_iMeshObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iScriptObject[] = {{&_swigt__p_f_p_iBase__p_iScriptObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonGraveyard[] = {{&_swigt__p_f_p_iBase__p_iSkeletonGraveyard, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSequenceTimedOperation[] = {{&_swigt__p_f_p_iBase__p_iSequenceTimedOperation, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iHalo[] = {{&_swigt__p_f_p_iBase__p_iHalo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iFontServer[] = {{&_swigt__p_f_p_iBase__p_iFontServer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iStringArray[] = {{&_swigt__p_f_p_iBase__p_iStringArray, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iReporter[] = {{&_swigt__p_f_p_iBase__p_iReporter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_t[] = {{&_swigt__p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEventAttributeIterator[] = {{&_swigt__p_f_p_iBase__p_iEventAttributeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iObjectRegistryIterator[] = {{&_swigt__p_f_p_iBase__p_iObjectRegistryIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iObjectIterator[] = {{&_swigt__p_f_p_iBase__p_iObjectIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshWrapperIterator[] = {{&_swigt__p_f_p_iBase__p_iMeshWrapperIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSectorIterator[] = {{&_swigt__p_f_p_iBase__p_iSectorIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iReporterIterator[] = {{&_swigt__p_f_p_iBase__p_iReporterIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDocumentNodeIterator[] = {{&_swigt__p_f_p_iBase__p_iDocumentNodeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDocumentAttributeIterator[] = {{&_swigt__p_f_p_iBase__p_iDocumentAttributeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iConfigIterator[] = {{&_swigt__p_f_p_iBase__p_iConfigIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iPluginIterator[] = {{&_swigt__p_f_p_iBase__p_iPluginIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iVisibilityObjectIterator[] = {{&_swigt__p_f_p_iBase__p_iVisibilityObjectIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLightIterator[] = {{&_swigt__p_f_p_iBase__p_iLightIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMapNode[] = {{&_swigt__p_f_p_iBase__p_iMapNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGenMeshAnimationControl[] = {{&_swigt__p_f_p_iBase__p_iGenMeshAnimationControl, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iObjectRegistry[] = {{&_swigt__p_f_p_iBase__p_iObjectRegistry, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEventNameRegistry[] = {{&_swigt__p_f_p_iBase__p_iEventNameRegistry, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysListener[] = {{&_swigt__p_f_p_iBase__p_iSndSysListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iVisibilityCullerListener[] = {{&_swigt__p_f_p_iBase__p_iVisibilityCullerListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iObjectModelListener[] = {{&_swigt__p_f_p_iBase__p_iObjectModelListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iCameraSectorListener[] = {{&_swigt__p_f_p_iBase__p_iCameraSectorListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMovableListener[] = {{&_swigt__p_f_p_iBase__p_iMovableListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iObjectNameChangeListener[] = {{&_swigt__p_f_p_iBase__p_iObjectNameChangeListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iReporterListener[] = {{&_swigt__p_f_p_iBase__p_iReporterListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iStandardReporterListener[] = {{&_swigt__p_f_p_iBase__p_iStandardReporterListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDocumentSystem[] = {{&_swigt__p_f_p_iBase__p_iDocumentSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_csPath[] = {{&_swigt__p_f_p_iBase__p_csPath, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysSourceSoftware[] = {{&_swigt__p_f_p_iBase__p_iSndSysSourceSoftware, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysRendererSoftware[] = {{&_swigt__p_f_p_iBase__p_iSndSysRendererSoftware, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSprite2DUVAnimationFrame[] = {{&_swigt__p_f_p_iBase__p_iSprite2DUVAnimationFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTerraFormer[] = {{&_swigt__p_f_p_iBase__p_iTerraFormer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeleton[] = {{&_swigt__p_f_p_iBase__p_iSkeleton, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSector[] = {{&_swigt__p_f_p_iBase__p_iSector, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSequenceTrigger[] = {{&_swigt__p_f_p_iBase__p_iSequenceTrigger, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iPortalContainer[] = {{&_swigt__p_f_p_iBase__p_iPortalContainer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsKeyContainer[] = {{&_swigt__p_f_p_iBase__p_iAwsKeyContainer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODESliderJoint[] = {{&_swigt__p_f_p_iBase__p_iODESliderJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEAMotorJoint[] = {{&_swigt__p_f_p_iBase__p_iODEAMotorJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEHinge2Joint[] = {{&_swigt__p_f_p_iBase__p_iODEHinge2Joint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iRegionList[] = {{&_swigt__p_f_p_iBase__p_iRegionList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iCameraPositionList[] = {{&_swigt__p_f_p_iBase__p_iCameraPositionList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEffectorVelocityField[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorVelocityField, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSpriteAction[] = {{&_swigt__p_f_p_iBase__p_iSpriteAction, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLightList[] = {{&_swigt__p_f_p_iBase__p_iLightList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iFile[] = {{&_swigt__p_f_p_iBase__p_iFile, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshObjectDrawCallback[] = {{&_swigt__p_f_p_iBase__p_iMeshObjectDrawCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonUpdateCallback[] = {{&_swigt__p_f_p_iBase__p_iSkeletonUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonScriptCallback[] = {{&_swigt__p_f_p_iBase__p_iSkeletonScriptCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonBoneUpdateCallback[] = {{&_swigt__p_f_p_iBase__p_iSkeletonBoneUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iPortalCallback[] = {{&_swigt__p_f_p_iBase__p_iPortalCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLightCallback[] = {{&_swigt__p_f_p_iBase__p_iLightCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSectorCallback[] = {{&_swigt__p_f_p_iBase__p_iSectorCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSectorMeshCallback[] = {{&_swigt__p_f_p_iBase__p_iSectorMeshCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLightVisibleCallback[] = {{&_swigt__p_f_p_iBase__p_iLightVisibleCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEngineFrameCallback[] = {{&_swigt__p_f_p_iBase__p_iEngineFrameCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEngineSectorCallback[] = {{&_swigt__p_f_p_iBase__p_iEngineSectorCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTextureCallback[] = {{&_swigt__p_f_p_iBase__p_iTextureCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshDrawCallback[] = {{&_swigt__p_f_p_iBase__p_iMeshDrawCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysStreamCallback[] = {{&_swigt__p_f_p_iBase__p_iSndSysStreamCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysRendererCallback[] = {{&_swigt__p_f_p_iBase__p_iSndSysRendererCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iOffscreenCanvasCallback[] = {{&_swigt__p_f_p_iBase__p_iOffscreenCanvasCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDynamicsMoveCallback[] = {{&_swigt__p_f_p_iBase__p_iDynamicsMoveCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDynamicsCollisionCallback[] = {{&_swigt__p_f_p_iBase__p_iDynamicsCollisionCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDynamicsColliderCollisionCallback[] = {{&_swigt__p_f_p_iBase__p_iDynamicsColliderCollisionCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEFrameUpdateCallback[] = {{&_swigt__p_f_p_iBase__p_iODEFrameUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iVisibilityObject[] = {{&_swigt__p_f_p_iBase__p_iVisibilityObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iObject[] = {{&_swigt__p_f_p_iBase__p_iObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iCamera[] = {{&_swigt__p_f_p_iBase__p_iCamera, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iCommandLineParser[] = {{&_swigt__p_f_p_iBase__p_iCommandLineParser, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshFactoryList[] = {{&_swigt__p_f_p_iBase__p_iMeshFactoryList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGraphics3D[] = {{&_swigt__p_f_p_iBase__p_iGraphics3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iVirtualClock[] = {{&_swigt__p_f_p_iBase__p_iVirtualClock, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshObjectType[] = {{&_swigt__p_f_p_iBase__p_iMeshObjectType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMovieRecorder[] = {{&_swigt__p_f_p_iBase__p_iMovieRecorder, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSprite2DState[] = {{&_swigt__p_f_p_iBase__p_iSprite2DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterSphere[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterSphere, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iThingEnvironment[] = {{&_swigt__p_f_p_iBase__p_iThingEnvironment, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMovable[] = {{&_swigt__p_f_p_iBase__p_iMovable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAws[] = {{&_swigt__p_f_p_iBase__p_iAws, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSceneNodeArray[] = {{&_swigt__p_f_p_iBase__p_iSceneNodeArray, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iShaderVariableContext[] = {{&_swigt__p_f_p_iBase__p_iShaderVariableContext, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSectorList[] = {{&_swigt__p_f_p_iBase__p_iSectorList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleSystem[] = {{&_swigt__p_f_p_iBase__p_iParticleSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iCollideSystem[] = {{&_swigt__p_f_p_iBase__p_iCollideSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDynamicSystem[] = {{&_swigt__p_f_p_iBase__p_iDynamicSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysSoftwareFilter3D[] = {{&_swigt__p_f_p_iBase__p_iSndSysSoftwareFilter3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iShaderCompiler[] = {{&_swigt__p_f_p_iBase__p_iShaderCompiler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLightingProcessData[] = {{&_swigt__p_f_p_iBase__p_iLightingProcessData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iCameraPosition[] = {{&_swigt__p_f_p_iBase__p_iCameraPosition, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iBinaryLoaderPlugin[] = {{&_swigt__p_f_p_iBase__p_iBinaryLoaderPlugin, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLoaderPlugin[] = {{&_swigt__p_f_p_iBase__p_iLoaderPlugin, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonSocket[] = {{&_swigt__p_f_p_iBase__p_iSkeletonSocket, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSpriteCal3DSocket[] = {{&_swigt__p_f_p_iBase__p_iSpriteCal3DSocket, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysStream[] = {{&_swigt__p_f_p_iBase__p_iSndSysStream, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iVisibilityCuller[] = {{&_swigt__p_f_p_iBase__p_iVisibilityCuller, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGeneralMeshCommonState[] = {{&_swigt__p_f_p_iBase__p_iGeneralMeshCommonState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iConfigFile[] = {{&_swigt__p_f_p_iBase__p_iConfigFile, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEventQueue[] = {{&_swigt__p_f_p_iBase__p_iEventQueue, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iVFS[] = {{&_swigt__p_f_p_iBase__p_iVFS, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iRigidBody[] = {{&_swigt__p_f_p_iBase__p_iRigidBody, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsComponentNode[] = {{&_swigt__p_f_p_iBase__p_iAwsComponentNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEventOutlet[] = {{&_swigt__p_f_p_iBase__p_iEventOutlet, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDocumentNode[] = {{&_swigt__p_f_p_iBase__p_iDocumentNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_t[] = {{&_swigt__p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_t[] = {{&_swigt__p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iFont[] = {{&_swigt__p_f_p_iBase__p_iFont, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSpriteCal3DState[] = {{&_swigt__p_f_p_iBase__p_iSpriteCal3DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSprite3DState[] = {{&_swigt__p_f_p_iBase__p_iSprite3DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iKeyboardDriver[] = {{&_swigt__p_f_p_iBase__p_iKeyboardDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iBodyGroup[] = {{&_swigt__p_f_p_iBase__p_iBodyGroup, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iFrustumView[] = {{&_swigt__p_f_p_iBase__p_iFrustumView, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAnimTimeUpdateHandler[] = {{&_swigt__p_f_p_iBase__p_iAnimTimeUpdateHandler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEventHandler[] = {{&_swigt__p_f_p_iBase__p_iEventHandler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iPortal[] = {{&_swigt__p_f_p_iBase__p_iPortal, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEngineSequenceParameters[] = {{&_swigt__p_f_p_iBase__p_iEngineSequenceParameters, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsKey[] = {{&_swigt__p_f_p_iBase__p_iAwsKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iView[] = {{&_swigt__p_f_p_iBase__p_iView, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGenMeshAnimationControlType[] = {{&_swigt__p_f_p_iBase__p_iGenMeshAnimationControlType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iKeyComposer[] = {{&_swigt__p_f_p_iBase__p_iKeyComposer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_t[] = {{&_swigt__p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMaterialList[] = {{&_swigt__p_f_p_iBase__p_iMaterialList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsRectKey[] = {{&_swigt__p_f_p_iBase__p_iAwsRectKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLightingProcessInfo[] = {{&_swigt__p_f_p_iBase__p_iLightingProcessInfo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iJoint[] = {{&_swigt__p_f_p_iBase__p_iJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSpriteSocket[] = {{&_swigt__p_f_p_iBase__p_iSpriteSocket, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterBase[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterBase, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterCone[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterCone, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysRenderer[] = {{&_swigt__p_f_p_iBase__p_iSndSysRenderer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsComponent[] = {{&_swigt__p_f_p_iBase__p_iAwsComponent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iComponent[] = {{&_swigt__p_f_p_iBase__p_iComponent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLight[] = {{&_swigt__p_f_p_iBase__p_iLight, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsStringKey[] = {{&_swigt__p_f_p_iBase__p_iAwsStringKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGenMeshSkeletonControlState[] = {{&_swigt__p_f_p_iBase__p_iGenMeshSkeletonControlState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsSource[] = {{&_swigt__p_f_p_iBase__p_iAwsSource, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysSource[] = {{&_swigt__p_f_p_iBase__p_iSndSysSource, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEffectorForce[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorForce, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEffectorFactory[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterFactory[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleSystemFactory[] = {{&_swigt__p_f_p_iBase__p_iParticleSystemFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMeshObjectFactory[] = {{&_swigt__p_f_p_iBase__p_iMeshObjectFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonFactory[] = {{&_swigt__p_f_p_iBase__p_iSkeletonFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonSocketFactory[] = {{&_swigt__p_f_p_iBase__p_iSkeletonSocketFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonBoneFactory[] = {{&_swigt__p_f_p_iBase__p_iSkeletonBoneFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGenMeshAnimationControlFactory[] = {{&_swigt__p_f_p_iBase__p_iGenMeshAnimationControlFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsConnectionNodeFactory[] = {{&_swigt__p_f_p_iBase__p_iAwsConnectionNodeFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsKeyFactory[] = {{&_swigt__p_f_p_iBase__p_iAwsKeyFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsComponentFactory[] = {{&_swigt__p_f_p_iBase__p_iAwsComponentFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iFactory[] = {{&_swigt__p_f_p_iBase__p_iFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysSoftwareDriver[] = {{&_swigt__p_f_p_iBase__p_iSndSysSoftwareDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMouseDriver[] = {{&_swigt__p_f_p_iBase__p_iMouseDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iJoystickDriver[] = {{&_swigt__p_f_p_iBase__p_iJoystickDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_t[] = {{&_swigt__p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysLoader[] = {{&_swigt__p_f_p_iBase__p_iSndSysLoader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iLoader[] = {{&_swigt__p_f_p_iBase__p_iLoader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iFrustumViewUserdata[] = {{&_swigt__p_f_p_iBase__p_iFrustumViewUserdata, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsSink[] = {{&_swigt__p_f_p_iBase__p_iAwsSink, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iShader[] = {{&_swigt__p_f_p_iBase__p_iShader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTextureList[] = {{&_swigt__p_f_p_iBase__p_iTextureList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iNativeWindow[] = {{&_swigt__p_f_p_iBase__p_iNativeWindow, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleSystemBase[] = {{&_swigt__p_f_p_iBase__p_iParticleSystemBase, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSpriteFrame[] = {{&_swigt__p_f_p_iBase__p_iSpriteFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonScript[] = {{&_swigt__p_f_p_iBase__p_iSkeletonScript, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iFontDeleteNotify[] = {{&_swigt__p_f_p_iBase__p_iFontDeleteNotify, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iThingState[] = {{&_swigt__p_f_p_iBase__p_iThingState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsFloatKey[] = {{&_swigt__p_f_p_iBase__p_iAwsFloatKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iShaderVariableAccessor[] = {{&_swigt__p_f_p_iBase__p_iShaderVariableAccessor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTerraSampler[] = {{&_swigt__p_f_p_iBase__p_iTerraSampler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEvent[] = {{&_swigt__p_f_p_iBase__p_iEvent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonBone[] = {{&_swigt__p_f_p_iBase__p_iSkeletonBone, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsSlot[] = {{&_swigt__p_f_p_iBase__p_iAwsSlot, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSceneNode[] = {{&_swigt__p_f_p_iBase__p_iSceneNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonScriptKeyFrame[] = {{&_swigt__p_f_p_iBase__p_iSkeletonScriptKeyFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iParticleBuiltinEffectorLinColor[] = {{&_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorLinColor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iShaderVarStack[] = {{&_swigt__p_f_p_iBase__p_iShaderVarStack, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iGeneralMeshSubMesh[] = {{&_swigt__p_f_p_iBase__p_iGeneralMeshSubMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iImage[] = {{&_swigt__p_f_p_iBase__p_iImage, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iCollider[] = {{&_swigt__p_f_p_iBase__p_iCollider, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iDynamicsSystemCollider[] = {{&_swigt__p_f_p_iBase__p_iDynamicsSystemCollider, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iODEUniversalJoint[] = {{&_swigt__p_f_p_iBase__p_iODEUniversalJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iPolygonHandle[] = {{&_swigt__p_f_p_iBase__p_iPolygonHandle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iObjectModel[] = {{&_swigt__p_f_p_iBase__p_iObjectModel, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsConnectionKey[] = {{&_swigt__p_f_p_iBase__p_iAwsConnectionKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSkeletonBoneRagdollInfo[] = {{&_swigt__p_f_p_iBase__p_iSkeletonBoneRagdollInfo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iMissingLoaderData[] = {{&_swigt__p_f_p_iBase__p_iMissingLoaderData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iRegion[] = {{&_swigt__p_f_p_iBase__p_iRegion, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iStringSet[] = {{&_swigt__p_f_p_iBase__p_iStringSet, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iColoredVertices[] = {{&_swigt__p_f_p_iBase__p_iColoredVertices, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsLayoutManager[] = {{&_swigt__p_f_p_iBase__p_iAwsLayoutManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsSinkManager[] = {{&_swigt__p_f_p_iBase__p_iAwsSinkManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsPrefManager[] = {{&_swigt__p_f_p_iBase__p_iAwsPrefManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysManager[] = {{&_swigt__p_f_p_iBase__p_iSndSysManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iCacheManager[] = {{&_swigt__p_f_p_iBase__p_iCacheManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iPluginManager[] = {{&_swigt__p_f_p_iBase__p_iPluginManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iConfigManager[] = {{&_swigt__p_f_p_iBase__p_iConfigManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iNativeWindowManager[] = {{&_swigt__p_f_p_iBase__p_iNativeWindowManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iShaderManager[] = {{&_swigt__p_f_p_iBase__p_iShaderManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iTextureManager[] = {{&_swigt__p_f_p_iBase__p_iTextureManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEngineSequenceManager[] = {{&_swigt__p_f_p_iBase__p_iEngineSequenceManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iAwsPointKey[] = {{&_swigt__p_f_p_iBase__p_iAwsPointKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iScript[] = {{&_swigt__p_f_p_iBase__p_iScript, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSaver[] = {{&_swigt__p_f_p_iBase__p_iSaver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iSndSysData[] = {{&_swigt__p_f_p_iBase__p_iSndSysData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iEventCord[] = {{&_swigt__p_f_p_iBase__p_iEventCord, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iBase__p_iBase[] = {  {&_swigt__p_f_p_iBase__p_iAwsRGBKey, _p_f_p_iBase__p_iAwsRGBKeyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iRendererLightmap, _p_f_p_iBase__p_iRendererLightmapTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSuperLightmap, _p_f_p_iBase__p_iSuperLightmapTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iConsoleOutput, _p_f_p_iBase__p_iConsoleOutputTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTerrainObjectState, _p_f_p_iBase__p_iTerrainObjectStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iClipper2D, _p_f_p_iBase__p_iClipper2DTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleEffector, _p_f_p_iBase__p_iParticleEffectorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDebugHelper, _p_f_p_iBase__p_iDebugHelperTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEDynamicState, _p_f_p_iBase__p_iODEDynamicStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDocumentAttribute, _p_f_p_iBase__p_iDocumentAttributeTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEHingeJoint, _p_f_p_iBase__p_iODEHingeJointTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMaterialEngine, _p_f_p_iBase__p_iMaterialEngineTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iImageIO, _p_f_p_iBase__p_iImageIOTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iPath, _p_f_p_iBase__p_iPathTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSCF, _p_f_p_iBase__p_iSCFTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLoaderStatus, _p_f_p_iBase__p_iLoaderStatusTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEBallJoint, _p_f_p_iBase__p_iODEBallJointTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTextureHandle, _p_f_p_iBase__p_iTextureHandleTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGeneralMeshState, _p_f_p_iBase__p_iGeneralMeshStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDynamics, _p_f_p_iBase__p_iDynamicsTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParameterESM, _p_f_p_iBase__p_iParameterESMTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysSoftwareOutputFilter, _p_f_p_iBase__p_iSndSysSoftwareOutputFilterTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsIntKey, _p_f_p_iBase__p_iAwsIntKeyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterCylinder, _p_f_p_iBase__p_iParticleBuiltinEmitterCylinderTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEDynamicSystemState, _p_f_p_iBase__p_iODEDynamicSystemStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshList, _p_f_p_iBase__p_iMeshListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEventPlug, _p_f_p_iBase__p_iEventPlugTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterBox, _p_f_p_iBase__p_iParticleBuiltinEmitterBoxTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_t, _p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_tTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEJointState, _p_f_p_iBase__p_iODEJointStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEGeneralJointState, _p_f_p_iBase__p_iODEGeneralJointStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_t, _p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_tTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMaterialWrapper, _p_f_p_iBase__p_iMaterialWrapperTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTextureWrapper, _p_f_p_iBase__p_iTextureWrapperTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshWrapper, _p_f_p_iBase__p_iMeshWrapperTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshFactoryWrapper, _p_f_p_iBase__p_iMeshFactoryWrapperTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysWrapper, _p_f_p_iBase__p_iSndSysWrapperTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSequenceWrapper, _p_f_p_iBase__p_iSequenceWrapperTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iString, _p_f_p_iBase__p_iStringTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iConsoleWatcher, _p_f_p_iBase__p_iConsoleWatcherTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEngine, _p_f_p_iBase__p_iEngineTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSimpleFormerState, _p_f_p_iBase__p_iSimpleFormerStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMaterial, _p_f_p_iBase__p_iMaterialTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSprite2DUVAnimation, _p_f_p_iBase__p_iSprite2DUVAnimationTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_scfImplementation1TcsPath_iPath_t, _p_f_p_iBase__p_scfImplementation1TcsPath_iPath_tTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iPolygonMesh, _p_f_p_iBase__p_iPolygonMeshTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTerrainFactoryState, _p_f_p_iBase__p_iTerrainFactoryStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iThingFactoryState, _p_f_p_iBase__p_iThingFactoryStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSpriteCal3DFactoryState, _p_f_p_iBase__p_iSpriteCal3DFactoryStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSprite3DFactoryState, _p_f_p_iBase__p_iSprite3DFactoryStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSprite2DFactoryState, _p_f_p_iBase__p_iSprite2DFactoryStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGeneralFactoryState, _p_f_p_iBase__p_iGeneralFactoryStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleEmitter, _p_f_p_iBase__p_iParticleEmitterTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGraphics2D, _p_f_p_iBase__p_iGraphics2DTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDocument, _p_f_p_iBase__p_iDocumentTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iShaderPriorityList, _p_f_p_iBase__p_iShaderPriorityListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysSourceSoftware3D, _p_f_p_iBase__p_iSndSysSourceSoftware3DTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDataBuffer, _p_f_p_iBase__p_iDataBufferTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshObject, _p_f_p_iBase__p_iMeshObjectTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iScriptObject, _p_f_p_iBase__p_iScriptObjectTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonGraveyard, _p_f_p_iBase__p_iSkeletonGraveyardTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSequenceTimedOperation, _p_f_p_iBase__p_iSequenceTimedOperationTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iHalo, _p_f_p_iBase__p_iHaloTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iFontServer, _p_f_p_iBase__p_iFontServerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iStringArray, _p_f_p_iBase__p_iStringArrayTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iReporter, _p_f_p_iBase__p_iReporterTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_t, _p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_tTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEventAttributeIterator, _p_f_p_iBase__p_iEventAttributeIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iObjectRegistryIterator, _p_f_p_iBase__p_iObjectRegistryIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iObjectIterator, _p_f_p_iBase__p_iObjectIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshWrapperIterator, _p_f_p_iBase__p_iMeshWrapperIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSectorIterator, _p_f_p_iBase__p_iSectorIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iReporterIterator, _p_f_p_iBase__p_iReporterIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDocumentNodeIterator, _p_f_p_iBase__p_iDocumentNodeIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDocumentAttributeIterator, _p_f_p_iBase__p_iDocumentAttributeIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iConfigIterator, _p_f_p_iBase__p_iConfigIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iPluginIterator, _p_f_p_iBase__p_iPluginIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iVisibilityObjectIterator, _p_f_p_iBase__p_iVisibilityObjectIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLightIterator, _p_f_p_iBase__p_iLightIteratorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMapNode, _p_f_p_iBase__p_iMapNodeTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGenMeshAnimationControl, _p_f_p_iBase__p_iGenMeshAnimationControlTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iObjectRegistry, _p_f_p_iBase__p_iObjectRegistryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEventNameRegistry, _p_f_p_iBase__p_iEventNameRegistryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysListener, _p_f_p_iBase__p_iSndSysListenerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iVisibilityCullerListener, _p_f_p_iBase__p_iVisibilityCullerListenerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iObjectModelListener, _p_f_p_iBase__p_iObjectModelListenerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iCameraSectorListener, _p_f_p_iBase__p_iCameraSectorListenerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMovableListener, _p_f_p_iBase__p_iMovableListenerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iObjectNameChangeListener, _p_f_p_iBase__p_iObjectNameChangeListenerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iReporterListener, _p_f_p_iBase__p_iReporterListenerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iStandardReporterListener, _p_f_p_iBase__p_iStandardReporterListenerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDocumentSystem, _p_f_p_iBase__p_iDocumentSystemTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_csPath, _p_f_p_iBase__p_csPathTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysSourceSoftware, _p_f_p_iBase__p_iSndSysSourceSoftwareTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysRendererSoftware, _p_f_p_iBase__p_iSndSysRendererSoftwareTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSprite2DUVAnimationFrame, _p_f_p_iBase__p_iSprite2DUVAnimationFrameTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTerraFormer, _p_f_p_iBase__p_iTerraFormerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeleton, _p_f_p_iBase__p_iSkeletonTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSector, _p_f_p_iBase__p_iSectorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSequenceTrigger, _p_f_p_iBase__p_iSequenceTriggerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iPortalContainer, _p_f_p_iBase__p_iPortalContainerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsKeyContainer, _p_f_p_iBase__p_iAwsKeyContainerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODESliderJoint, _p_f_p_iBase__p_iODESliderJointTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEAMotorJoint, _p_f_p_iBase__p_iODEAMotorJointTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEHinge2Joint, _p_f_p_iBase__p_iODEHinge2JointTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iRegionList, _p_f_p_iBase__p_iRegionListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iCameraPositionList, _p_f_p_iBase__p_iCameraPositionListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorVelocityField, _p_f_p_iBase__p_iParticleBuiltinEffectorVelocityFieldTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSpriteAction, _p_f_p_iBase__p_iSpriteActionTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iBase, 0, 0, 0},  {&_swigt__p_f_p_iBase__p_iLightList, _p_f_p_iBase__p_iLightListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iFile, _p_f_p_iBase__p_iFileTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshObjectDrawCallback, _p_f_p_iBase__p_iMeshObjectDrawCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonUpdateCallback, _p_f_p_iBase__p_iSkeletonUpdateCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonScriptCallback, _p_f_p_iBase__p_iSkeletonScriptCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonBoneUpdateCallback, _p_f_p_iBase__p_iSkeletonBoneUpdateCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iPortalCallback, _p_f_p_iBase__p_iPortalCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLightCallback, _p_f_p_iBase__p_iLightCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSectorCallback, _p_f_p_iBase__p_iSectorCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSectorMeshCallback, _p_f_p_iBase__p_iSectorMeshCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLightVisibleCallback, _p_f_p_iBase__p_iLightVisibleCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEngineFrameCallback, _p_f_p_iBase__p_iEngineFrameCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEngineSectorCallback, _p_f_p_iBase__p_iEngineSectorCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTextureCallback, _p_f_p_iBase__p_iTextureCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshDrawCallback, _p_f_p_iBase__p_iMeshDrawCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysStreamCallback, _p_f_p_iBase__p_iSndSysStreamCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysRendererCallback, _p_f_p_iBase__p_iSndSysRendererCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iOffscreenCanvasCallback, _p_f_p_iBase__p_iOffscreenCanvasCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDynamicsMoveCallback, _p_f_p_iBase__p_iDynamicsMoveCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDynamicsCollisionCallback, _p_f_p_iBase__p_iDynamicsCollisionCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDynamicsColliderCollisionCallback, _p_f_p_iBase__p_iDynamicsColliderCollisionCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEFrameUpdateCallback, _p_f_p_iBase__p_iODEFrameUpdateCallbackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iVisibilityObject, _p_f_p_iBase__p_iVisibilityObjectTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iObject, _p_f_p_iBase__p_iObjectTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iCamera, _p_f_p_iBase__p_iCameraTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iCommandLineParser, _p_f_p_iBase__p_iCommandLineParserTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshFactoryList, _p_f_p_iBase__p_iMeshFactoryListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGraphics3D, _p_f_p_iBase__p_iGraphics3DTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iVirtualClock, _p_f_p_iBase__p_iVirtualClockTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshObjectType, _p_f_p_iBase__p_iMeshObjectTypeTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMovieRecorder, _p_f_p_iBase__p_iMovieRecorderTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSprite2DState, _p_f_p_iBase__p_iSprite2DStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterSphere, _p_f_p_iBase__p_iParticleBuiltinEmitterSphereTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iThingEnvironment, _p_f_p_iBase__p_iThingEnvironmentTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMovable, _p_f_p_iBase__p_iMovableTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAws, _p_f_p_iBase__p_iAwsTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSceneNodeArray, _p_f_p_iBase__p_iSceneNodeArrayTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iShaderVariableContext, _p_f_p_iBase__p_iShaderVariableContextTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSectorList, _p_f_p_iBase__p_iSectorListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleSystem, _p_f_p_iBase__p_iParticleSystemTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iCollideSystem, _p_f_p_iBase__p_iCollideSystemTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDynamicSystem, _p_f_p_iBase__p_iDynamicSystemTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysSoftwareFilter3D, _p_f_p_iBase__p_iSndSysSoftwareFilter3DTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iShaderCompiler, _p_f_p_iBase__p_iShaderCompilerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLightingProcessData, _p_f_p_iBase__p_iLightingProcessDataTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iCameraPosition, _p_f_p_iBase__p_iCameraPositionTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iBinaryLoaderPlugin, _p_f_p_iBase__p_iBinaryLoaderPluginTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLoaderPlugin, _p_f_p_iBase__p_iLoaderPluginTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonSocket, _p_f_p_iBase__p_iSkeletonSocketTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSpriteCal3DSocket, _p_f_p_iBase__p_iSpriteCal3DSocketTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysStream, _p_f_p_iBase__p_iSndSysStreamTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iVisibilityCuller, _p_f_p_iBase__p_iVisibilityCullerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGeneralMeshCommonState, _p_f_p_iBase__p_iGeneralMeshCommonStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iConfigFile, _p_f_p_iBase__p_iConfigFileTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEventQueue, _p_f_p_iBase__p_iEventQueueTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iVFS, _p_f_p_iBase__p_iVFSTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iRigidBody, _p_f_p_iBase__p_iRigidBodyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsComponentNode, _p_f_p_iBase__p_iAwsComponentNodeTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEventOutlet, _p_f_p_iBase__p_iEventOutletTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDocumentNode, _p_f_p_iBase__p_iDocumentNodeTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_t, _p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_tTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_t, _p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_tTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iFont, _p_f_p_iBase__p_iFontTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSpriteCal3DState, _p_f_p_iBase__p_iSpriteCal3DStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSprite3DState, _p_f_p_iBase__p_iSprite3DStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iKeyboardDriver, _p_f_p_iBase__p_iKeyboardDriverTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iBodyGroup, _p_f_p_iBase__p_iBodyGroupTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iFrustumView, _p_f_p_iBase__p_iFrustumViewTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAnimTimeUpdateHandler, _p_f_p_iBase__p_iAnimTimeUpdateHandlerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEventHandler, _p_f_p_iBase__p_iEventHandlerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iPortal, _p_f_p_iBase__p_iPortalTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEngineSequenceParameters, _p_f_p_iBase__p_iEngineSequenceParametersTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsKey, _p_f_p_iBase__p_iAwsKeyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iView, _p_f_p_iBase__p_iViewTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGenMeshAnimationControlType, _p_f_p_iBase__p_iGenMeshAnimationControlTypeTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iKeyComposer, _p_f_p_iBase__p_iKeyComposerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_t, _p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_tTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMaterialList, _p_f_p_iBase__p_iMaterialListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsRectKey, _p_f_p_iBase__p_iAwsRectKeyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLightingProcessInfo, _p_f_p_iBase__p_iLightingProcessInfoTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iJoint, _p_f_p_iBase__p_iJointTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSpriteSocket, _p_f_p_iBase__p_iSpriteSocketTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterBase, _p_f_p_iBase__p_iParticleBuiltinEmitterBaseTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterCone, _p_f_p_iBase__p_iParticleBuiltinEmitterConeTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysRenderer, _p_f_p_iBase__p_iSndSysRendererTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsComponent, _p_f_p_iBase__p_iAwsComponentTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iComponent, _p_f_p_iBase__p_iComponentTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLight, _p_f_p_iBase__p_iLightTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsStringKey, _p_f_p_iBase__p_iAwsStringKeyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGenMeshSkeletonControlState, _p_f_p_iBase__p_iGenMeshSkeletonControlStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsSource, _p_f_p_iBase__p_iAwsSourceTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysSource, _p_f_p_iBase__p_iSndSysSourceTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorForce, _p_f_p_iBase__p_iParticleBuiltinEffectorForceTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorFactory, _p_f_p_iBase__p_iParticleBuiltinEffectorFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEmitterFactory, _p_f_p_iBase__p_iParticleBuiltinEmitterFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleSystemFactory, _p_f_p_iBase__p_iParticleSystemFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMeshObjectFactory, _p_f_p_iBase__p_iMeshObjectFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonFactory, _p_f_p_iBase__p_iSkeletonFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonSocketFactory, _p_f_p_iBase__p_iSkeletonSocketFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonBoneFactory, _p_f_p_iBase__p_iSkeletonBoneFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGenMeshAnimationControlFactory, _p_f_p_iBase__p_iGenMeshAnimationControlFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsConnectionNodeFactory, _p_f_p_iBase__p_iAwsConnectionNodeFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsKeyFactory, _p_f_p_iBase__p_iAwsKeyFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsComponentFactory, _p_f_p_iBase__p_iAwsComponentFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iFactory, _p_f_p_iBase__p_iFactoryTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysSoftwareDriver, _p_f_p_iBase__p_iSndSysSoftwareDriverTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMouseDriver, _p_f_p_iBase__p_iMouseDriverTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iJoystickDriver, _p_f_p_iBase__p_iJoystickDriverTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_t, _p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_tTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysLoader, _p_f_p_iBase__p_iSndSysLoaderTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iLoader, _p_f_p_iBase__p_iLoaderTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iFrustumViewUserdata, _p_f_p_iBase__p_iFrustumViewUserdataTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsSink, _p_f_p_iBase__p_iAwsSinkTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iShader, _p_f_p_iBase__p_iShaderTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTextureList, _p_f_p_iBase__p_iTextureListTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iNativeWindow, _p_f_p_iBase__p_iNativeWindowTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleSystemBase, _p_f_p_iBase__p_iParticleSystemBaseTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSpriteFrame, _p_f_p_iBase__p_iSpriteFrameTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonScript, _p_f_p_iBase__p_iSkeletonScriptTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iFontDeleteNotify, _p_f_p_iBase__p_iFontDeleteNotifyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iThingState, _p_f_p_iBase__p_iThingStateTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsFloatKey, _p_f_p_iBase__p_iAwsFloatKeyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iShaderVariableAccessor, _p_f_p_iBase__p_iShaderVariableAccessorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTerraSampler, _p_f_p_iBase__p_iTerraSamplerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEvent, _p_f_p_iBase__p_iEventTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonBone, _p_f_p_iBase__p_iSkeletonBoneTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsSlot, _p_f_p_iBase__p_iAwsSlotTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSceneNode, _p_f_p_iBase__p_iSceneNodeTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonScriptKeyFrame, _p_f_p_iBase__p_iSkeletonScriptKeyFrameTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iParticleBuiltinEffectorLinColor, _p_f_p_iBase__p_iParticleBuiltinEffectorLinColorTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iShaderVarStack, _p_f_p_iBase__p_iShaderVarStackTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iGeneralMeshSubMesh, _p_f_p_iBase__p_iGeneralMeshSubMeshTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iImage, _p_f_p_iBase__p_iImageTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iCollider, _p_f_p_iBase__p_iColliderTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iDynamicsSystemCollider, _p_f_p_iBase__p_iDynamicsSystemColliderTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iODEUniversalJoint, _p_f_p_iBase__p_iODEUniversalJointTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iPolygonHandle, _p_f_p_iBase__p_iPolygonHandleTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iObjectModel, _p_f_p_iBase__p_iObjectModelTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsConnectionKey, _p_f_p_iBase__p_iAwsConnectionKeyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSkeletonBoneRagdollInfo, _p_f_p_iBase__p_iSkeletonBoneRagdollInfoTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iMissingLoaderData, _p_f_p_iBase__p_iMissingLoaderDataTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iRegion, _p_f_p_iBase__p_iRegionTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iStringSet, _p_f_p_iBase__p_iStringSetTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iColoredVertices, _p_f_p_iBase__p_iColoredVerticesTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsLayoutManager, _p_f_p_iBase__p_iAwsLayoutManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsSinkManager, _p_f_p_iBase__p_iAwsSinkManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsPrefManager, _p_f_p_iBase__p_iAwsPrefManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysManager, _p_f_p_iBase__p_iSndSysManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iCacheManager, _p_f_p_iBase__p_iCacheManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iPluginManager, _p_f_p_iBase__p_iPluginManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iConfigManager, _p_f_p_iBase__p_iConfigManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iNativeWindowManager, _p_f_p_iBase__p_iNativeWindowManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iShaderManager, _p_f_p_iBase__p_iShaderManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iTextureManager, _p_f_p_iBase__p_iTextureManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEngineSequenceManager, _p_f_p_iBase__p_iEngineSequenceManagerTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iAwsPointKey, _p_f_p_iBase__p_iAwsPointKeyTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iScript, _p_f_p_iBase__p_iScriptTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSaver, _p_f_p_iBase__p_iSaverTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iSndSysData, _p_f_p_iBase__p_iSndSysDataTo_p_f_p_iBase__p_iBase, 0, 0},  {&_swigt__p_f_p_iBase__p_iEventCord, _p_f_p_iBase__p_iEventCordTo_p_f_p_iBase__p_iBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_p_iMeshWrapper_p_iFrustumView_bool__void[] = {  {&_swigt__p_f_p_iMeshWrapper_p_iFrustumView_bool__void, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_unsigned_long_int_p_iAwsSource__void[] = {  {&_swigt__p_f_unsigned_long_int_p_iAwsSource__void, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_f_unsigned_long_p_void_p_iAwsSource__void[] = {  {&_swigt__p_f_unsigned_long_p_void_p_iAwsSource__void, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_float[] = {  {&_swigt__p_float, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAnimTimeUpdateHandler[] = {  {&_swigt__p_iAnimTimeUpdateHandler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iArrayChangeAllTcsShaderVariable_p_t[] = {  {&_swigt__p_iArrayChangeAllTcsShaderVariable_p_t, 0, 0, 0},  {&_swigt__p_iShaderVarStack, _p_iShaderVarStackTo_p_iArrayChangeAllTcsShaderVariable_p_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iArrayChangeAllTcsSprite2DVertex_t[] = {  {&_swigt__p_iArrayChangeAllTcsSprite2DVertex_t, 0, 0, 0},  {&_swigt__p_iColoredVertices, _p_iColoredVerticesTo_p_iArrayChangeAllTcsSprite2DVertex_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iArrayChangeElementsTcsShaderVariable_p_t[] = {  {&_swigt__p_iArrayChangeElementsTcsShaderVariable_p_t, 0, 0, 0},  {&_swigt__p_iShaderVarStack, _p_iShaderVarStackTo_p_iArrayChangeElementsTcsShaderVariable_p_t, 0, 0},  {&_swigt__p_iArrayChangeAllTcsShaderVariable_p_t, _p_iArrayChangeAllTcsShaderVariable_p_tTo_p_iArrayChangeElementsTcsShaderVariable_p_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iArrayChangeElementsTcsSprite2DVertex_t[] = {  {&_swigt__p_iArrayChangeElementsTcsSprite2DVertex_t, 0, 0, 0},  {&_swigt__p_iArrayChangeAllTcsSprite2DVertex_t, _p_iArrayChangeAllTcsSprite2DVertex_tTo_p_iArrayChangeElementsTcsSprite2DVertex_t, 0, 0},  {&_swigt__p_iColoredVertices, _p_iColoredVerticesTo_p_iArrayChangeElementsTcsSprite2DVertex_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iArrayReadOnlyTcsShaderVariable_p_t[] = {  {&_swigt__p_iArrayReadOnlyTcsShaderVariable_p_t, 0, 0, 0},  {&_swigt__p_iShaderVarStack, _p_iShaderVarStackTo_p_iArrayReadOnlyTcsShaderVariable_p_t, 0, 0},  {&_swigt__p_iArrayChangeElementsTcsShaderVariable_p_t, _p_iArrayChangeElementsTcsShaderVariable_p_tTo_p_iArrayReadOnlyTcsShaderVariable_p_t, 0, 0},  {&_swigt__p_iArrayChangeAllTcsShaderVariable_p_t, _p_iArrayChangeAllTcsShaderVariable_p_tTo_p_iArrayReadOnlyTcsShaderVariable_p_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iArrayReadOnlyTcsSprite2DVertex_t[] = {  {&_swigt__p_iArrayReadOnlyTcsSprite2DVertex_t, 0, 0, 0},  {&_swigt__p_iArrayChangeElementsTcsSprite2DVertex_t, _p_iArrayChangeElementsTcsSprite2DVertex_tTo_p_iArrayReadOnlyTcsSprite2DVertex_t, 0, 0},  {&_swigt__p_iArrayChangeAllTcsSprite2DVertex_t, _p_iArrayChangeAllTcsSprite2DVertex_tTo_p_iArrayReadOnlyTcsSprite2DVertex_t, 0, 0},  {&_swigt__p_iColoredVertices, _p_iColoredVerticesTo_p_iArrayReadOnlyTcsSprite2DVertex_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iArrayReadOnlyTiSceneNode_p_t[] = {  {&_swigt__p_iArrayReadOnlyTiSceneNode_p_t, 0, 0, 0},  {&_swigt__p_iSceneNodeArray, _p_iSceneNodeArrayTo_p_iArrayReadOnlyTiSceneNode_p_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAws[] = {  {&_swigt__p_iAws, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsCanvas[] = {  {&_swigt__p_iAwsCanvas, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsComponent[] = {  {&_swigt__p_iAwsComponent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsComponentFactory[] = {  {&_swigt__p_iAwsComponentFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsComponentNode[] = {  {&_swigt__p_iAwsComponentNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsConnectionKey[] = {  {&_swigt__p_iAwsConnectionKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsConnectionNodeFactory[] = {  {&_swigt__p_iAwsConnectionNodeFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsFloatKey[] = {  {&_swigt__p_iAwsFloatKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsIntKey[] = {  {&_swigt__p_iAwsIntKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsKey[] = {  {&_swigt__p_iAwsRectKey, _p_iAwsRectKeyTo_p_iAwsKey, 0, 0},  {&_swigt__p_iAwsKey, 0, 0, 0},  {&_swigt__p_iAwsConnectionKey, _p_iAwsConnectionKeyTo_p_iAwsKey, 0, 0},  {&_swigt__p_iAwsPointKey, _p_iAwsPointKeyTo_p_iAwsKey, 0, 0},  {&_swigt__p_iAwsIntKey, _p_iAwsIntKeyTo_p_iAwsKey, 0, 0},  {&_swigt__p_iAwsStringKey, _p_iAwsStringKeyTo_p_iAwsKey, 0, 0},  {&_swigt__p_iAwsRGBKey, _p_iAwsRGBKeyTo_p_iAwsKey, 0, 0},  {&_swigt__p_iAwsKeyContainer, _p_iAwsKeyContainerTo_p_iAwsKey, 0, 0},  {&_swigt__p_iAwsComponentNode, _p_iAwsComponentNodeTo_p_iAwsKey, 0, 0},  {&_swigt__p_iAwsFloatKey, _p_iAwsFloatKeyTo_p_iAwsKey, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsKeyContainer[] = {  {&_swigt__p_iAwsKeyContainer, 0, 0, 0},  {&_swigt__p_iAwsComponentNode, _p_iAwsComponentNodeTo_p_iAwsKeyContainer, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsKeyFactory[] = {  {&_swigt__p_iAwsKeyFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsLayoutManager[] = {  {&_swigt__p_iAwsLayoutManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsParmList[] = {  {&_swigt__p_iAwsParmList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsPointKey[] = {  {&_swigt__p_iAwsPointKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsPrefManager[] = {  {&_swigt__p_iAwsPrefManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsRGBKey[] = {  {&_swigt__p_iAwsRGBKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsRGBKey__RGB[] = {  {&_swigt__p_iAwsRGBKey__RGB, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsRectKey[] = {  {&_swigt__p_iAwsRectKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsSink[] = {  {&_swigt__p_iAwsSink, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsSinkManager[] = {  {&_swigt__p_iAwsSinkManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsSlot[] = {  {&_swigt__p_iAwsSlot, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsSource[] = {  {&_swigt__p_iAwsComponent, _p_iAwsComponentTo_p_iAwsSource, 0, 0},  {&_swigt__p_iAwsSource, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iAwsStringKey[] = {  {&_swigt__p_iAwsStringKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iBase[] = {  {&_swigt__p_iAwsRGBKey, _p_iAwsRGBKeyTo_p_iBase, 0, 0},  {&_swigt__p_iRendererLightmap, _p_iRendererLightmapTo_p_iBase, 0, 0},  {&_swigt__p_iSuperLightmap, _p_iSuperLightmapTo_p_iBase, 0, 0},  {&_swigt__p_iConsoleOutput, _p_iConsoleOutputTo_p_iBase, 0, 0},  {&_swigt__p_iTerrainObjectState, _p_iTerrainObjectStateTo_p_iBase, 0, 0},  {&_swigt__p_iClipper2D, _p_iClipper2DTo_p_iBase, 0, 0},  {&_swigt__p_iParticleEffector, _p_iParticleEffectorTo_p_iBase, 0, 0},  {&_swigt__p_iDebugHelper, _p_iDebugHelperTo_p_iBase, 0, 0},  {&_swigt__p_iODEDynamicState, _p_iODEDynamicStateTo_p_iBase, 0, 0},  {&_swigt__p_iDocumentAttribute, _p_iDocumentAttributeTo_p_iBase, 0, 0},  {&_swigt__p_iODEHingeJoint, _p_iODEHingeJointTo_p_iBase, 0, 0},  {&_swigt__p_iMaterialEngine, _p_iMaterialEngineTo_p_iBase, 0, 0},  {&_swigt__p_iImageIO, _p_iImageIOTo_p_iBase, 0, 0},  {&_swigt__p_iPath, _p_iPathTo_p_iBase, 0, 0},  {&_swigt__p_iSCF, _p_iSCFTo_p_iBase, 0, 0},  {&_swigt__p_iLoaderStatus, _p_iLoaderStatusTo_p_iBase, 0, 0},  {&_swigt__p_iODEBallJoint, _p_iODEBallJointTo_p_iBase, 0, 0},  {&_swigt__p_iTextureHandle, _p_iTextureHandleTo_p_iBase, 0, 0},  {&_swigt__p_iGeneralMeshState, _p_iGeneralMeshStateTo_p_iBase, 0, 0},  {&_swigt__p_iDynamics, _p_iDynamicsTo_p_iBase, 0, 0},  {&_swigt__p_iParameterESM, _p_iParameterESMTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysSoftwareOutputFilter, _p_iSndSysSoftwareOutputFilterTo_p_iBase, 0, 0},  {&_swigt__p_iArrayChangeAllTcsShaderVariable_p_t, _p_iArrayChangeAllTcsShaderVariable_p_tTo_p_iBase, 0, 0},  {&_swigt__p_iArrayChangeElementsTcsShaderVariable_p_t, _p_iArrayChangeElementsTcsShaderVariable_p_tTo_p_iBase, 0, 0},  {&_swigt__p_iArrayReadOnlyTcsShaderVariable_p_t, _p_iArrayReadOnlyTcsShaderVariable_p_tTo_p_iBase, 0, 0},  {&_swigt__p_iAwsIntKey, _p_iAwsIntKeyTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterCylinder, _p_iParticleBuiltinEmitterCylinderTo_p_iBase, 0, 0},  {&_swigt__p_iODEDynamicSystemState, _p_iODEDynamicSystemStateTo_p_iBase, 0, 0},  {&_swigt__p_iMeshList, _p_iMeshListTo_p_iBase, 0, 0},  {&_swigt__p_iEventPlug, _p_iEventPlugTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterBox, _p_iParticleBuiltinEmitterBoxTo_p_iBase, 0, 0},  {&_swigt__p_iODEGeneralJointState, _p_iODEGeneralJointStateTo_p_iBase, 0, 0},  {&_swigt__p_iODEJointState, _p_iODEJointStateTo_p_iBase, 0, 0},  {&_swigt__p_iMaterialWrapper, _p_iMaterialWrapperTo_p_iBase, 0, 0},  {&_swigt__p_iTextureWrapper, _p_iTextureWrapperTo_p_iBase, 0, 0},  {&_swigt__p_iMeshWrapper, _p_iMeshWrapperTo_p_iBase, 0, 0},  {&_swigt__p_iMeshFactoryWrapper, _p_iMeshFactoryWrapperTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysWrapper, _p_iSndSysWrapperTo_p_iBase, 0, 0},  {&_swigt__p_iSequenceWrapper, _p_iSequenceWrapperTo_p_iBase, 0, 0},  {&_swigt__p_iString, _p_iStringTo_p_iBase, 0, 0},  {&_swigt__p_iConsoleWatcher, _p_iConsoleWatcherTo_p_iBase, 0, 0},  {&_swigt__p_iEngine, _p_iEngineTo_p_iBase, 0, 0},  {&_swigt__p_iSimpleFormerState, _p_iSimpleFormerStateTo_p_iBase, 0, 0},  {&_swigt__p_iMaterial, _p_iMaterialTo_p_iBase, 0, 0},  {&_swigt__p_iSprite2DUVAnimation, _p_iSprite2DUVAnimationTo_p_iBase, 0, 0},  {&_swigt__p_scfImplementation1TcsPath_iPath_t, _p_scfImplementation1TcsPath_iPath_tTo_p_iBase, 0, 0},  {&_swigt__p_iPolygonMesh, _p_iPolygonMeshTo_p_iBase, 0, 0},  {&_swigt__p_iTerrainFactoryState, _p_iTerrainFactoryStateTo_p_iBase, 0, 0},  {&_swigt__p_iThingFactoryState, _p_iThingFactoryStateTo_p_iBase, 0, 0},  {&_swigt__p_iSpriteCal3DFactoryState, _p_iSpriteCal3DFactoryStateTo_p_iBase, 0, 0},  {&_swigt__p_iSprite3DFactoryState, _p_iSprite3DFactoryStateTo_p_iBase, 0, 0},  {&_swigt__p_iSprite2DFactoryState, _p_iSprite2DFactoryStateTo_p_iBase, 0, 0},  {&_swigt__p_iGeneralFactoryState, _p_iGeneralFactoryStateTo_p_iBase, 0, 0},  {&_swigt__p_iParticleEmitter, _p_iParticleEmitterTo_p_iBase, 0, 0},  {&_swigt__p_iGraphics2D, _p_iGraphics2DTo_p_iBase, 0, 0},  {&_swigt__p_iDocument, _p_iDocumentTo_p_iBase, 0, 0},  {&_swigt__p_iShaderPriorityList, _p_iShaderPriorityListTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysSourceSoftware3D, _p_iSndSysSourceSoftware3DTo_p_iBase, 0, 0},  {&_swigt__p_iDataBuffer, _p_iDataBufferTo_p_iBase, 0, 0},  {&_swigt__p_iScriptObject, _p_iScriptObjectTo_p_iBase, 0, 0},  {&_swigt__p_iMeshObject, _p_iMeshObjectTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonGraveyard, _p_iSkeletonGraveyardTo_p_iBase, 0, 0},  {&_swigt__p_iSequenceTimedOperation, _p_iSequenceTimedOperationTo_p_iBase, 0, 0},  {&_swigt__p_iHalo, _p_iHaloTo_p_iBase, 0, 0},  {&_swigt__p_iFontServer, _p_iFontServerTo_p_iBase, 0, 0},  {&_swigt__p_iStringArray, _p_iStringArrayTo_p_iBase, 0, 0},  {&_swigt__p_iReporter, _p_iReporterTo_p_iBase, 0, 0},  {&_swigt__p_iEventAttributeIterator, _p_iEventAttributeIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iObjectRegistryIterator, _p_iObjectRegistryIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iObjectIterator, _p_iObjectIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iMeshWrapperIterator, _p_iMeshWrapperIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iSectorIterator, _p_iSectorIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iLightIterator, _p_iLightIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iVisibilityObjectIterator, _p_iVisibilityObjectIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iPluginIterator, _p_iPluginIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iConfigIterator, _p_iConfigIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iDocumentAttributeIterator, _p_iDocumentAttributeIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iDocumentNodeIterator, _p_iDocumentNodeIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iReporterIterator, _p_iReporterIteratorTo_p_iBase, 0, 0},  {&_swigt__p_iMapNode, _p_iMapNodeTo_p_iBase, 0, 0},  {&_swigt__p_iGenMeshAnimationControl, _p_iGenMeshAnimationControlTo_p_iBase, 0, 0},  {&_swigt__p_iObjectRegistry, _p_iObjectRegistryTo_p_iBase, 0, 0},  {&_swigt__p_iEventNameRegistry, _p_iEventNameRegistryTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysListener, _p_iSndSysListenerTo_p_iBase, 0, 0},  {&_swigt__p_iVisibilityCullerListener, _p_iVisibilityCullerListenerTo_p_iBase, 0, 0},  {&_swigt__p_iObjectModelListener, _p_iObjectModelListenerTo_p_iBase, 0, 0},  {&_swigt__p_iCameraSectorListener, _p_iCameraSectorListenerTo_p_iBase, 0, 0},  {&_swigt__p_iMovableListener, _p_iMovableListenerTo_p_iBase, 0, 0},  {&_swigt__p_iObjectNameChangeListener, _p_iObjectNameChangeListenerTo_p_iBase, 0, 0},  {&_swigt__p_iReporterListener, _p_iReporterListenerTo_p_iBase, 0, 0},  {&_swigt__p_iStandardReporterListener, _p_iStandardReporterListenerTo_p_iBase, 0, 0},  {&_swigt__p_iDocumentSystem, _p_iDocumentSystemTo_p_iBase, 0, 0},  {&_swigt__p_csPath, _p_csPathTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysSourceSoftware, _p_iSndSysSourceSoftwareTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysRendererSoftware, _p_iSndSysRendererSoftwareTo_p_iBase, 0, 0},  {&_swigt__p_iSprite2DUVAnimationFrame, _p_iSprite2DUVAnimationFrameTo_p_iBase, 0, 0},  {&_swigt__p_iTerraFormer, _p_iTerraFormerTo_p_iBase, 0, 0},  {&_swigt__p_iSkeleton, _p_iSkeletonTo_p_iBase, 0, 0},  {&_swigt__p_iSector, _p_iSectorTo_p_iBase, 0, 0},  {&_swigt__p_iSequenceTrigger, _p_iSequenceTriggerTo_p_iBase, 0, 0},  {&_swigt__p_iPortalContainer, _p_iPortalContainerTo_p_iBase, 0, 0},  {&_swigt__p_iAwsKeyContainer, _p_iAwsKeyContainerTo_p_iBase, 0, 0},  {&_swigt__p_iODESliderJoint, _p_iODESliderJointTo_p_iBase, 0, 0},  {&_swigt__p_iODEAMotorJoint, _p_iODEAMotorJointTo_p_iBase, 0, 0},  {&_swigt__p_iODEHinge2Joint, _p_iODEHinge2JointTo_p_iBase, 0, 0},  {&_swigt__p_iRegionList, _p_iRegionListTo_p_iBase, 0, 0},  {&_swigt__p_iCameraPositionList, _p_iCameraPositionListTo_p_iBase, 0, 0},  {&_swigt__p_iSpriteAction, _p_iSpriteActionTo_p_iBase, 0, 0},  {&_swigt__p_iBase, 0, 0, 0},  {&_swigt__p_iLightList, _p_iLightListTo_p_iBase, 0, 0},  {&_swigt__p_iFile, _p_iFileTo_p_iBase, 0, 0},  {&_swigt__p_iMeshObjectDrawCallback, _p_iMeshObjectDrawCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonUpdateCallback, _p_iSkeletonUpdateCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonScriptCallback, _p_iSkeletonScriptCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonBoneUpdateCallback, _p_iSkeletonBoneUpdateCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iPortalCallback, _p_iPortalCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iLightCallback, _p_iLightCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iSectorCallback, _p_iSectorCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iSectorMeshCallback, _p_iSectorMeshCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iLightVisibleCallback, _p_iLightVisibleCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iEngineFrameCallback, _p_iEngineFrameCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iEngineSectorCallback, _p_iEngineSectorCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iTextureCallback, _p_iTextureCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iMeshDrawCallback, _p_iMeshDrawCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysStreamCallback, _p_iSndSysStreamCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysRendererCallback, _p_iSndSysRendererCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iOffscreenCanvasCallback, _p_iOffscreenCanvasCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iDynamicsMoveCallback, _p_iDynamicsMoveCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iDynamicsCollisionCallback, _p_iDynamicsCollisionCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iDynamicsColliderCollisionCallback, _p_iDynamicsColliderCollisionCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iODEFrameUpdateCallback, _p_iODEFrameUpdateCallbackTo_p_iBase, 0, 0},  {&_swigt__p_iVisibilityObject, _p_iVisibilityObjectTo_p_iBase, 0, 0},  {&_swigt__p_iObject, _p_iObjectTo_p_iBase, 0, 0},  {&_swigt__p_iCamera, _p_iCameraTo_p_iBase, 0, 0},  {&_swigt__p_iCommandLineParser, _p_iCommandLineParserTo_p_iBase, 0, 0},  {&_swigt__p_iMeshFactoryList, _p_iMeshFactoryListTo_p_iBase, 0, 0},  {&_swigt__p_iGraphics3D, _p_iGraphics3DTo_p_iBase, 0, 0},  {&_swigt__p_iVirtualClock, _p_iVirtualClockTo_p_iBase, 0, 0},  {&_swigt__p_iMeshObjectType, _p_iMeshObjectTypeTo_p_iBase, 0, 0},  {&_swigt__p_iMovieRecorder, _p_iMovieRecorderTo_p_iBase, 0, 0},  {&_swigt__p_iSprite2DState, _p_iSprite2DStateTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterSphere, _p_iParticleBuiltinEmitterSphereTo_p_iBase, 0, 0},  {&_swigt__p_iThingEnvironment, _p_iThingEnvironmentTo_p_iBase, 0, 0},  {&_swigt__p_iMovable, _p_iMovableTo_p_iBase, 0, 0},  {&_swigt__p_iAws, _p_iAwsTo_p_iBase, 0, 0},  {&_swigt__p_iSceneNodeArray, _p_iSceneNodeArrayTo_p_iBase, 0, 0},  {&_swigt__p_iShaderVariableContext, _p_iShaderVariableContextTo_p_iBase, 0, 0},  {&_swigt__p_iSectorList, _p_iSectorListTo_p_iBase, 0, 0},  {&_swigt__p_iDynamicSystem, _p_iDynamicSystemTo_p_iBase, 0, 0},  {&_swigt__p_iCollideSystem, _p_iCollideSystemTo_p_iBase, 0, 0},  {&_swigt__p_iParticleSystem, _p_iParticleSystemTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysSoftwareFilter3D, _p_iSndSysSoftwareFilter3DTo_p_iBase, 0, 0},  {&_swigt__p_iShaderCompiler, _p_iShaderCompilerTo_p_iBase, 0, 0},  {&_swigt__p_iLightingProcessData, _p_iLightingProcessDataTo_p_iBase, 0, 0},  {&_swigt__p_iCameraPosition, _p_iCameraPositionTo_p_iBase, 0, 0},  {&_swigt__p_iLoaderPlugin, _p_iLoaderPluginTo_p_iBase, 0, 0},  {&_swigt__p_iBinaryLoaderPlugin, _p_iBinaryLoaderPluginTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonSocket, _p_iSkeletonSocketTo_p_iBase, 0, 0},  {&_swigt__p_iSpriteCal3DSocket, _p_iSpriteCal3DSocketTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysStream, _p_iSndSysStreamTo_p_iBase, 0, 0},  {&_swigt__p_iVisibilityCuller, _p_iVisibilityCullerTo_p_iBase, 0, 0},  {&_swigt__p_iGeneralMeshCommonState, _p_iGeneralMeshCommonStateTo_p_iBase, 0, 0},  {&_swigt__p_iConfigFile, _p_iConfigFileTo_p_iBase, 0, 0},  {&_swigt__p_iEventQueue, _p_iEventQueueTo_p_iBase, 0, 0},  {&_swigt__p_iVFS, _p_iVFSTo_p_iBase, 0, 0},  {&_swigt__p_iRigidBody, _p_iRigidBodyTo_p_iBase, 0, 0},  {&_swigt__p_iAwsComponentNode, _p_iAwsComponentNodeTo_p_iBase, 0, 0},  {&_swigt__p_iEventOutlet, _p_iEventOutletTo_p_iBase, 0, 0},  {&_swigt__p_iDocumentNode, _p_iDocumentNodeTo_p_iBase, 0, 0},  {&_swigt__p_iArrayChangeAllTcsSprite2DVertex_t, _p_iArrayChangeAllTcsSprite2DVertex_tTo_p_iBase, 0, 0},  {&_swigt__p_iArrayChangeElementsTcsSprite2DVertex_t, _p_iArrayChangeElementsTcsSprite2DVertex_tTo_p_iBase, 0, 0},  {&_swigt__p_iArrayReadOnlyTcsSprite2DVertex_t, _p_iArrayReadOnlyTcsSprite2DVertex_tTo_p_iBase, 0, 0},  {&_swigt__p_iFont, _p_iFontTo_p_iBase, 0, 0},  {&_swigt__p_iSpriteCal3DState, _p_iSpriteCal3DStateTo_p_iBase, 0, 0},  {&_swigt__p_iSprite3DState, _p_iSprite3DStateTo_p_iBase, 0, 0},  {&_swigt__p_iKeyboardDriver, _p_iKeyboardDriverTo_p_iBase, 0, 0},  {&_swigt__p_iBodyGroup, _p_iBodyGroupTo_p_iBase, 0, 0},  {&_swigt__p_iFrustumView, _p_iFrustumViewTo_p_iBase, 0, 0},  {&_swigt__p_iAnimTimeUpdateHandler, _p_iAnimTimeUpdateHandlerTo_p_iBase, 0, 0},  {&_swigt__p_iEventHandler, _p_iEventHandlerTo_p_iBase, 0, 0},  {&_swigt__p_iPortal, _p_iPortalTo_p_iBase, 0, 0},  {&_swigt__p_iEngineSequenceParameters, _p_iEngineSequenceParametersTo_p_iBase, 0, 0},  {&_swigt__p_iAwsKey, _p_iAwsKeyTo_p_iBase, 0, 0},  {&_swigt__p_iView, _p_iViewTo_p_iBase, 0, 0},  {&_swigt__p_iGenMeshAnimationControlType, _p_iGenMeshAnimationControlTypeTo_p_iBase, 0, 0},  {&_swigt__p_iKeyComposer, _p_iKeyComposerTo_p_iBase, 0, 0},  {&_swigt__p_iArrayReadOnlyTiSceneNode_p_t, _p_iArrayReadOnlyTiSceneNode_p_tTo_p_iBase, 0, 0},  {&_swigt__p_iMaterialList, _p_iMaterialListTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEffectorVelocityField, _p_iParticleBuiltinEffectorVelocityFieldTo_p_iBase, 0, 0},  {&_swigt__p_iAwsRectKey, _p_iAwsRectKeyTo_p_iBase, 0, 0},  {&_swigt__p_iLightingProcessInfo, _p_iLightingProcessInfoTo_p_iBase, 0, 0},  {&_swigt__p_iJoint, _p_iJointTo_p_iBase, 0, 0},  {&_swigt__p_iSpriteSocket, _p_iSpriteSocketTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterBase, _p_iParticleBuiltinEmitterBaseTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterCone, _p_iParticleBuiltinEmitterConeTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysRenderer, _p_iSndSysRendererTo_p_iBase, 0, 0},  {&_swigt__p_iAwsComponent, _p_iAwsComponentTo_p_iBase, 0, 0},  {&_swigt__p_iComponent, _p_iComponentTo_p_iBase, 0, 0},  {&_swigt__p_iLight, _p_iLightTo_p_iBase, 0, 0},  {&_swigt__p_iAwsStringKey, _p_iAwsStringKeyTo_p_iBase, 0, 0},  {&_swigt__p_iGenMeshSkeletonControlState, _p_iGenMeshSkeletonControlStateTo_p_iBase, 0, 0},  {&_swigt__p_iAwsSource, _p_iAwsSourceTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysSource, _p_iSndSysSourceTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEffectorForce, _p_iParticleBuiltinEffectorForceTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEffectorFactory, _p_iParticleBuiltinEffectorFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterFactory, _p_iParticleBuiltinEmitterFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iParticleSystemFactory, _p_iParticleSystemFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iMeshObjectFactory, _p_iMeshObjectFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonFactory, _p_iSkeletonFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonSocketFactory, _p_iSkeletonSocketFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonBoneFactory, _p_iSkeletonBoneFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iGenMeshAnimationControlFactory, _p_iGenMeshAnimationControlFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iAwsConnectionNodeFactory, _p_iAwsConnectionNodeFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iAwsKeyFactory, _p_iAwsKeyFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iAwsComponentFactory, _p_iAwsComponentFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iFactory, _p_iFactoryTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysSoftwareDriver, _p_iSndSysSoftwareDriverTo_p_iBase, 0, 0},  {&_swigt__p_iMouseDriver, _p_iMouseDriverTo_p_iBase, 0, 0},  {&_swigt__p_iJoystickDriver, _p_iJoystickDriverTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysLoader, _p_iSndSysLoaderTo_p_iBase, 0, 0},  {&_swigt__p_iLoader, _p_iLoaderTo_p_iBase, 0, 0},  {&_swigt__p_iFrustumViewUserdata, _p_iFrustumViewUserdataTo_p_iBase, 0, 0},  {&_swigt__p_iAwsSink, _p_iAwsSinkTo_p_iBase, 0, 0},  {&_swigt__p_iShader, _p_iShaderTo_p_iBase, 0, 0},  {&_swigt__p_iTextureList, _p_iTextureListTo_p_iBase, 0, 0},  {&_swigt__p_iNativeWindow, _p_iNativeWindowTo_p_iBase, 0, 0},  {&_swigt__p_iParticleSystemBase, _p_iParticleSystemBaseTo_p_iBase, 0, 0},  {&_swigt__p_iSpriteFrame, _p_iSpriteFrameTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonScript, _p_iSkeletonScriptTo_p_iBase, 0, 0},  {&_swigt__p_iFontDeleteNotify, _p_iFontDeleteNotifyTo_p_iBase, 0, 0},  {&_swigt__p_iAwsFloatKey, _p_iAwsFloatKeyTo_p_iBase, 0, 0},  {&_swigt__p_iThingState, _p_iThingStateTo_p_iBase, 0, 0},  {&_swigt__p_iShaderVariableAccessor, _p_iShaderVariableAccessorTo_p_iBase, 0, 0},  {&_swigt__p_iTerraSampler, _p_iTerraSamplerTo_p_iBase, 0, 0},  {&_swigt__p_iEvent, _p_iEventTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonBone, _p_iSkeletonBoneTo_p_iBase, 0, 0},  {&_swigt__p_iAwsSlot, _p_iAwsSlotTo_p_iBase, 0, 0},  {&_swigt__p_iSceneNode, _p_iSceneNodeTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonScriptKeyFrame, _p_iSkeletonScriptKeyFrameTo_p_iBase, 0, 0},  {&_swigt__p_iShaderVarStack, _p_iShaderVarStackTo_p_iBase, 0, 0},  {&_swigt__p_iParticleBuiltinEffectorLinColor, _p_iParticleBuiltinEffectorLinColorTo_p_iBase, 0, 0},  {&_swigt__p_iGeneralMeshSubMesh, _p_iGeneralMeshSubMeshTo_p_iBase, 0, 0},  {&_swigt__p_iODEUniversalJoint, _p_iODEUniversalJointTo_p_iBase, 0, 0},  {&_swigt__p_iImage, _p_iImageTo_p_iBase, 0, 0},  {&_swigt__p_iCollider, _p_iColliderTo_p_iBase, 0, 0},  {&_swigt__p_iDynamicsSystemCollider, _p_iDynamicsSystemColliderTo_p_iBase, 0, 0},  {&_swigt__p_iAwsConnectionKey, _p_iAwsConnectionKeyTo_p_iBase, 0, 0},  {&_swigt__p_iPolygonHandle, _p_iPolygonHandleTo_p_iBase, 0, 0},  {&_swigt__p_iObjectModel, _p_iObjectModelTo_p_iBase, 0, 0},  {&_swigt__p_iSkeletonBoneRagdollInfo, _p_iSkeletonBoneRagdollInfoTo_p_iBase, 0, 0},  {&_swigt__p_iMissingLoaderData, _p_iMissingLoaderDataTo_p_iBase, 0, 0},  {&_swigt__p_iRegion, _p_iRegionTo_p_iBase, 0, 0},  {&_swigt__p_iStringSet, _p_iStringSetTo_p_iBase, 0, 0},  {&_swigt__p_iShaderManager, _p_iShaderManagerTo_p_iBase, 0, 0},  {&_swigt__p_iConfigManager, _p_iConfigManagerTo_p_iBase, 0, 0},  {&_swigt__p_iColoredVertices, _p_iColoredVerticesTo_p_iBase, 0, 0},  {&_swigt__p_iAwsLayoutManager, _p_iAwsLayoutManagerTo_p_iBase, 0, 0},  {&_swigt__p_iAwsSinkManager, _p_iAwsSinkManagerTo_p_iBase, 0, 0},  {&_swigt__p_iAwsPrefManager, _p_iAwsPrefManagerTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysManager, _p_iSndSysManagerTo_p_iBase, 0, 0},  {&_swigt__p_iCacheManager, _p_iCacheManagerTo_p_iBase, 0, 0},  {&_swigt__p_iPluginManager, _p_iPluginManagerTo_p_iBase, 0, 0},  {&_swigt__p_iNativeWindowManager, _p_iNativeWindowManagerTo_p_iBase, 0, 0},  {&_swigt__p_iTextureManager, _p_iTextureManagerTo_p_iBase, 0, 0},  {&_swigt__p_iEngineSequenceManager, _p_iEngineSequenceManagerTo_p_iBase, 0, 0},  {&_swigt__p_iAwsPointKey, _p_iAwsPointKeyTo_p_iBase, 0, 0},  {&_swigt__p_iScript, _p_iScriptTo_p_iBase, 0, 0},  {&_swigt__p_iSaver, _p_iSaverTo_p_iBase, 0, 0},  {&_swigt__p_iSndSysData, _p_iSndSysDataTo_p_iBase, 0, 0},  {&_swigt__p_iEventCord, _p_iEventCordTo_p_iBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iBaseHalo[] = {  {&_swigt__p_iBaseHalo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iBinaryLoaderPlugin[] = {  {&_swigt__p_iBinaryLoaderPlugin, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iBodyGroup[] = {  {&_swigt__p_iBodyGroup, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCacheManager[] = {  {&_swigt__p_iCacheManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCamera[] = {  {&_swigt__p_iCamera, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCameraPosition[] = {  {&_swigt__p_iCameraPosition, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCameraPositionList[] = {  {&_swigt__p_iCameraPositionList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCameraSectorListener[] = {  {&_swigt__p_iCameraSectorListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iClipper2D[] = {  {&_swigt__p_iClipper2D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCollection[] = {  {&_swigt__p_iCollection, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCollectionList[] = {  {&_swigt__p_iCollectionList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCollideSystem[] = {  {&_swigt__p_iCollideSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCollider[] = {  {&_swigt__p_iCollider, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iColoredVertices[] = {  {&_swigt__p_iColoredVertices, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCommandLineParser[] = {  {&_swigt__p_iCommandLineParser, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iComponent[] = {  {&_swigt__p_iComponent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iConfigFile[] = {  {&_swigt__p_iConfigManager, _p_iConfigManagerTo_p_iConfigFile, 0, 0},  {&_swigt__p_iConfigFile, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iConfigIterator[] = {  {&_swigt__p_iConfigIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iConfigManager[] = {  {&_swigt__p_iConfigManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iConsoleOutput[] = {  {&_swigt__p_iConsoleOutput, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iConsoleWatcher[] = {  {&_swigt__p_iConsoleWatcher, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iCrossHalo[] = {  {&_swigt__p_iCrossHalo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDataBuffer[] = {  {&_swigt__p_iDataBuffer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDebugHelper[] = {  {&_swigt__p_iDebugHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDocument[] = {  {&_swigt__p_iDocument, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDocumentAttribute[] = {  {&_swigt__p_iDocumentAttribute, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDocumentAttributeIterator[] = {  {&_swigt__p_iDocumentAttributeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDocumentNode[] = {  {&_swigt__p_iDocumentNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDocumentNodeIterator[] = {  {&_swigt__p_iDocumentNodeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDocumentSystem[] = {  {&_swigt__p_iDocumentSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDynamicSystem[] = {  {&_swigt__p_iDynamicSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDynamics[] = {  {&_swigt__p_iDynamics, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDynamicsColliderCollisionCallback[] = {  {&_swigt__p_iDynamicsColliderCollisionCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDynamicsCollisionCallback[] = {  {&_swigt__p_iDynamicsCollisionCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDynamicsMoveCallback[] = {  {&_swigt__p_iDynamicsMoveCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iDynamicsSystemCollider[] = {  {&_swigt__p_iDynamicsSystemCollider, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEngine[] = {  {&_swigt__p_iEngine, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEngineFrameCallback[] = {  {&_swigt__p_iEngineFrameCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEngineSectorCallback[] = {  {&_swigt__p_iEngineSectorCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEngineSequenceManager[] = {  {&_swigt__p_iEngineSequenceManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEngineSequenceParameters[] = {  {&_swigt__p_iEngineSequenceParameters, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEvent[] = {  {&_swigt__p_iEvent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEventAttributeIterator[] = {  {&_swigt__p_iEventAttributeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEventCord[] = {  {&_swigt__p_iEventCord, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEventHandler[] = {  {&_swigt__p_iEventHandler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEventNameRegistry[] = {  {&_swigt__p_iEventNameRegistry, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEventOutlet[] = {  {&_swigt__p_iEventOutlet, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEventPlug[] = {  {&_swigt__p_iEventPlug, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iEventQueue[] = {  {&_swigt__p_iEventQueue, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iFactory[] = {  {&_swigt__p_iFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iFile[] = {  {&_swigt__p_iFile, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iFlareHalo[] = {  {&_swigt__p_iFlareHalo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iFont[] = {  {&_swigt__p_iFont, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iFontDeleteNotify[] = {  {&_swigt__p_iFontDeleteNotify, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iFontServer[] = {  {&_swigt__p_iFontServer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iFrustumView[] = {  {&_swigt__p_iFrustumView, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iFrustumViewUserdata[] = {  {&_swigt__p_iLightingProcessInfo, _p_iLightingProcessInfoTo_p_iFrustumViewUserdata, 0, 0},  {&_swigt__p_iFrustumViewUserdata, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGenMeshAnimationControl[] = {  {&_swigt__p_iGenMeshAnimationControl, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGenMeshAnimationControlFactory[] = {  {&_swigt__p_iGenMeshAnimationControlFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGenMeshAnimationControlType[] = {  {&_swigt__p_iGenMeshAnimationControlType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGenMeshSkeletonControlState[] = {  {&_swigt__p_iGenMeshSkeletonControlState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGeneralFactoryState[] = {  {&_swigt__p_iGeneralFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGeneralMeshCommonState[] = {  {&_swigt__p_iGeneralMeshCommonState, 0, 0, 0},  {&_swigt__p_iGeneralMeshState, _p_iGeneralMeshStateTo_p_iGeneralMeshCommonState, 0, 0},  {&_swigt__p_iGeneralFactoryState, _p_iGeneralFactoryStateTo_p_iGeneralMeshCommonState, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGeneralMeshState[] = {  {&_swigt__p_iGeneralMeshState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGeneralMeshSubMesh[] = {  {&_swigt__p_iGeneralMeshSubMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGraphics2D[] = {  {&_swigt__p_iGraphics2D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iGraphics3D[] = {  {&_swigt__p_iGraphics3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iHalo[] = {  {&_swigt__p_iHalo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iImage[] = {  {&_swigt__p_iImage, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iImageIO[] = {  {&_swigt__p_iImageIO, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iJoint[] = {  {&_swigt__p_iJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iJoystickDriver[] = {  {&_swigt__p_iJoystickDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iKeyComposer[] = {  {&_swigt__p_iKeyComposer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iKeyboardDriver[] = {  {&_swigt__p_iKeyboardDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLODControl[] = {  {&_swigt__p_iLODControl, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLight[] = {  {&_swigt__p_iLight, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLightCallback[] = {  {&_swigt__p_iLightCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLightIterator[] = {  {&_swigt__p_iLightIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLightList[] = {  {&_swigt__p_iLightList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLightVisibleCallback[] = {  {&_swigt__p_iLightVisibleCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLightingInfo[] = {  {&_swigt__p_iLightingInfo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLightingProcessData[] = {  {&_swigt__p_iLightingProcessData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLightingProcessInfo[] = {  {&_swigt__p_iLightingProcessInfo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLoader[] = {  {&_swigt__p_iLoader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLoaderContext[] = {  {&_swigt__p_iLoaderContext, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLoaderPlugin[] = {  {&_swigt__p_iLoaderPlugin, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iLoaderStatus[] = {  {&_swigt__p_iLoaderStatus, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMapNode[] = {  {&_swigt__p_iMapNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMaterial[] = {  {&_swigt__p_iMaterial, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMaterialEngine[] = {  {&_swigt__p_iMaterialEngine, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMaterialList[] = {  {&_swigt__p_iMaterialList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMaterialWrapper[] = {  {&_swigt__p_iMaterialWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshDrawCallback[] = {  {&_swigt__p_iMeshDrawCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshFactoryList[] = {  {&_swigt__p_iMeshFactoryList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshFactoryWrapper[] = {  {&_swigt__p_iMeshFactoryWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshGenerator[] = {  {&_swigt__p_iMeshGenerator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshList[] = {  {&_swigt__p_iMeshList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshObject[] = {  {&_swigt__p_iMeshObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshObjectDrawCallback[] = {  {&_swigt__p_iMeshObjectDrawCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshObjectFactory[] = {  {&_swigt__p_iMeshObjectFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshObjectType[] = {  {&_swigt__p_iMeshObjectType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshWrapper[] = {  {&_swigt__p_iMeshWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMeshWrapperIterator[] = {  {&_swigt__p_iMeshWrapperIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMissingLoaderData[] = {  {&_swigt__p_iMissingLoaderData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMouseDriver[] = {  {&_swigt__p_iMouseDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMovable[] = {  {&_swigt__p_iMovable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMovableListener[] = {  {&_swigt__p_iMovableListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iMovieRecorder[] = {  {&_swigt__p_iMovieRecorder, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iNativeWindow[] = {  {&_swigt__p_iNativeWindow, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iNativeWindowManager[] = {  {&_swigt__p_iNativeWindowManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iNovaHalo[] = {  {&_swigt__p_iNovaHalo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEAMotorJoint[] = {  {&_swigt__p_iODEAMotorJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEBallJoint[] = {  {&_swigt__p_iODEBallJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEDynamicState[] = {  {&_swigt__p_iODEDynamicState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEDynamicSystemState[] = {  {&_swigt__p_iODEDynamicSystemState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEFrameUpdateCallback[] = {  {&_swigt__p_iODEFrameUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEGeneralJointState[] = {  {&_swigt__p_iODEUniversalJoint, _p_iODEUniversalJointTo_p_iODEGeneralJointState, 0, 0},  {&_swigt__p_iODEHingeJoint, _p_iODEHingeJointTo_p_iODEGeneralJointState, 0, 0},  {&_swigt__p_iODEGeneralJointState, 0, 0, 0},  {&_swigt__p_iODESliderJoint, _p_iODESliderJointTo_p_iODEGeneralJointState, 0, 0},  {&_swigt__p_iODEAMotorJoint, _p_iODEAMotorJointTo_p_iODEGeneralJointState, 0, 0},  {&_swigt__p_iODEHinge2Joint, _p_iODEHinge2JointTo_p_iODEGeneralJointState, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEHinge2Joint[] = {  {&_swigt__p_iODEHinge2Joint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEHingeJoint[] = {  {&_swigt__p_iODEHingeJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEJointState[] = {  {&_swigt__p_iODEJointState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODESliderJoint[] = {  {&_swigt__p_iODESliderJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iODEUniversalJoint[] = {  {&_swigt__p_iODEUniversalJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iObject[] = {  {&_swigt__p_iObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iObjectIterator[] = {  {&_swigt__p_iObjectIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iObjectModel[] = {  {&_swigt__p_iObjectModel, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iObjectModelListener[] = {  {&_swigt__p_iObjectModelListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iObjectNameChangeListener[] = {  {&_swigt__p_iObjectNameChangeListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iObjectRegistry[] = {  {&_swigt__p_iObjectRegistry, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iObjectRegistryIterator[] = {  {&_swigt__p_iObjectRegistryIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iOffscreenCanvasCallback[] = {  {&_swigt__p_iOffscreenCanvasCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParameterESM[] = {  {&_swigt__p_iParameterESM, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEffectorFactory[] = {  {&_swigt__p_iParticleBuiltinEffectorFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEffectorForce[] = {  {&_swigt__p_iParticleBuiltinEffectorForce, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEffectorLinColor[] = {  {&_swigt__p_iParticleBuiltinEffectorLinColor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEffectorVelocityField[] = {  {&_swigt__p_iParticleBuiltinEffectorVelocityField, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEmitterBase[] = {  {&_swigt__p_iParticleBuiltinEmitterBase, 0, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterCone, _p_iParticleBuiltinEmitterConeTo_p_iParticleBuiltinEmitterBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterBox, _p_iParticleBuiltinEmitterBoxTo_p_iParticleBuiltinEmitterBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterSphere, _p_iParticleBuiltinEmitterSphereTo_p_iParticleBuiltinEmitterBase, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterCylinder, _p_iParticleBuiltinEmitterCylinderTo_p_iParticleBuiltinEmitterBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEmitterBox[] = {  {&_swigt__p_iParticleBuiltinEmitterBox, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEmitterCone[] = {  {&_swigt__p_iParticleBuiltinEmitterCone, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEmitterCylinder[] = {  {&_swigt__p_iParticleBuiltinEmitterCylinder, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEmitterFactory[] = {  {&_swigt__p_iParticleBuiltinEmitterFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleBuiltinEmitterSphere[] = {  {&_swigt__p_iParticleBuiltinEmitterSphere, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleEffector[] = {  {&_swigt__p_iParticleBuiltinEffectorVelocityField, _p_iParticleBuiltinEffectorVelocityFieldTo_p_iParticleEffector, 0, 0},  {&_swigt__p_iParticleEffector, 0, 0, 0},  {&_swigt__p_iParticleBuiltinEffectorForce, _p_iParticleBuiltinEffectorForceTo_p_iParticleEffector, 0, 0},  {&_swigt__p_iParticleBuiltinEffectorLinColor, _p_iParticleBuiltinEffectorLinColorTo_p_iParticleEffector, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleEmitter[] = {  {&_swigt__p_iParticleBuiltinEmitterBase, _p_iParticleBuiltinEmitterBaseTo_p_iParticleEmitter, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterCone, _p_iParticleBuiltinEmitterConeTo_p_iParticleEmitter, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterBox, _p_iParticleBuiltinEmitterBoxTo_p_iParticleEmitter, 0, 0},  {&_swigt__p_iParticleEmitter, 0, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterSphere, _p_iParticleBuiltinEmitterSphereTo_p_iParticleEmitter, 0, 0},  {&_swigt__p_iParticleBuiltinEmitterCylinder, _p_iParticleBuiltinEmitterCylinderTo_p_iParticleEmitter, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleSystem[] = {  {&_swigt__p_iParticleSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleSystemBase[] = {  {&_swigt__p_iParticleSystemBase, 0, 0, 0},  {&_swigt__p_iParticleSystem, _p_iParticleSystemTo_p_iParticleSystemBase, 0, 0},  {&_swigt__p_iParticleSystemFactory, _p_iParticleSystemFactoryTo_p_iParticleSystemBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iParticleSystemFactory[] = {  {&_swigt__p_iParticleSystemFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iPath[] = {  {&_swigt__p_iPath, 0, 0, 0},  {&_swigt__p_scfImplementation1TcsPath_iPath_t, _p_scfImplementation1TcsPath_iPath_tTo_p_iPath, 0, 0},  {&_swigt__p_csPath, _p_csPathTo_p_iPath, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iPluginIterator[] = {  {&_swigt__p_iPluginIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iPluginManager[] = {  {&_swigt__p_iPluginManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iPolygonHandle[] = {  {&_swigt__p_iPolygonHandle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iPolygonMesh[] = {  {&_swigt__p_iPolygonMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iPortal[] = {  {&_swigt__p_iPortal, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iPortalCallback[] = {  {&_swigt__p_iPortalCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iPortalContainer[] = {  {&_swigt__p_iPortalContainer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iProgressMeter[] = {  {&_swigt__p_iProgressMeter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iRegion[] = {  {&_swigt__p_iRegion, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iRegionList[] = {  {&_swigt__p_iRegionList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iRenderBuffer[] = {  {&_swigt__p_iRenderBuffer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iRenderLoop[] = {  {&_swigt__p_iRenderLoop, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iRenderLoopManager[] = {  {&_swigt__p_iRenderLoopManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iRenderView[] = {  {&_swigt__p_iRenderView, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iRendererLightmap[] = {  {&_swigt__p_iRendererLightmap, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iReporter[] = {  {&_swigt__p_iReporter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iReporterIterator[] = {  {&_swigt__p_iReporterIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iReporterListener[] = {  {&_swigt__p_iReporterListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iRigidBody[] = {  {&_swigt__p_iRigidBody, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSCF[] = {  {&_swigt__p_iSCF, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSaver[] = {  {&_swigt__p_iSaver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSceneNode[] = {  {&_swigt__p_iSceneNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSceneNodeArray[] = {  {&_swigt__p_iSceneNodeArray, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iScript[] = {  {&_swigt__p_iScript, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iScriptObject[] = {  {&_swigt__p_iScriptObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSector[] = {  {&_swigt__p_iSector, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSectorCallback[] = {  {&_swigt__p_iSectorCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSectorIterator[] = {  {&_swigt__p_iSectorIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSectorList[] = {  {&_swigt__p_iSectorList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSectorMeshCallback[] = {  {&_swigt__p_iSectorMeshCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSequence[] = {  {&_swigt__p_iSequence, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSequenceManager[] = {  {&_swigt__p_iSequenceManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSequenceTimedOperation[] = {  {&_swigt__p_iSequenceTimedOperation, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSequenceTrigger[] = {  {&_swigt__p_iSequenceTrigger, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSequenceWrapper[] = {  {&_swigt__p_iSequenceWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShader[] = {  {&_swigt__p_iShader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShaderCompiler[] = {  {&_swigt__p_iShaderCompiler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShaderManager[] = {  {&_swigt__p_iShaderManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShaderPriorityList[] = {  {&_swigt__p_iShaderPriorityList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShaderVarStack[] = {  {&_swigt__p_iShaderVarStack, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShaderVariableAccessor[] = {  {&_swigt__p_iShaderVariableAccessor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShaderVariableContext[] = {  {&_swigt__p_iShaderManager, _p_iShaderManagerTo_p_iShaderVariableContext, 0, 0},  {&_swigt__p_iShader, _p_iShaderTo_p_iShaderVariableContext, 0, 0},  {&_swigt__p_iMaterial, _p_iMaterialTo_p_iShaderVariableContext, 0, 0},  {&_swigt__p_iShaderVariableContext, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShadowBlockList[] = {  {&_swigt__p_iShadowBlockList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShadowCaster[] = {  {&_swigt__p_iShadowCaster, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iShadowReceiver[] = {  {&_swigt__p_iShadowReceiver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSharedVariable[] = {  {&_swigt__p_iSharedVariable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSharedVariableList[] = {  {&_swigt__p_iSharedVariableList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSimpleFormerState[] = {  {&_swigt__p_iSimpleFormerState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeleton[] = {  {&_swigt__p_iSkeleton, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonBone[] = {  {&_swigt__p_iSkeletonBone, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonBoneFactory[] = {  {&_swigt__p_iSkeletonBoneFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonBoneRagdollInfo[] = {  {&_swigt__p_iSkeletonBoneRagdollInfo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonBoneUpdateCallback[] = {  {&_swigt__p_iSkeletonBoneUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonFactory[] = {  {&_swigt__p_iSkeletonFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonGraveyard[] = {  {&_swigt__p_iSkeletonGraveyard, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonScript[] = {  {&_swigt__p_iSkeletonScript, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonScriptCallback[] = {  {&_swigt__p_iSkeletonScriptCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonScriptKeyFrame[] = {  {&_swigt__p_iSkeletonScriptKeyFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonSocket[] = {  {&_swigt__p_iSkeletonSocket, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonSocketFactory[] = {  {&_swigt__p_iSkeletonSocketFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSkeletonUpdateCallback[] = {  {&_swigt__p_iSkeletonUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysData[] = {  {&_swigt__p_iSndSysData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysListener[] = {  {&_swigt__p_iSndSysListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysLoader[] = {  {&_swigt__p_iSndSysLoader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysManager[] = {  {&_swigt__p_iSndSysManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysRenderer[] = {  {&_swigt__p_iSndSysRenderer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysRendererCallback[] = {  {&_swigt__p_iSndSysRendererCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysRendererSoftware[] = {  {&_swigt__p_iSndSysRendererSoftware, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysSoftwareDriver[] = {  {&_swigt__p_iSndSysSoftwareDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysSoftwareFilter3D[] = {  {&_swigt__p_iSndSysSoftwareFilter3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysSoftwareFilter3DProperties[] = {  {&_swigt__p_iSndSysSoftwareFilter3DProperties, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysSoftwareOutputFilter[] = {  {&_swigt__p_iSndSysSoftwareOutputFilter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysSource[] = {  {&_swigt__p_iSndSysSourceSoftware3D, _p_iSndSysSourceSoftware3DTo_p_iSndSysSource, 0, 0},  {&_swigt__p_iSndSysSource, 0, 0, 0},  {&_swigt__p_iSndSysSourceSoftware, _p_iSndSysSourceSoftwareTo_p_iSndSysSource, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysSourceSoftware[] = {  {&_swigt__p_iSndSysSourceSoftware3D, _p_iSndSysSourceSoftware3DTo_p_iSndSysSourceSoftware, 0, 0},  {&_swigt__p_iSndSysSourceSoftware, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysSourceSoftware3D[] = {  {&_swigt__p_iSndSysSourceSoftware3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysStream[] = {  {&_swigt__p_iSndSysStream, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysStreamCallback[] = {  {&_swigt__p_iSndSysStreamCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSndSysWrapper[] = {  {&_swigt__p_iSndSysWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSprite2DFactoryState[] = {  {&_swigt__p_iSprite2DState, _p_iSprite2DStateTo_p_iSprite2DFactoryState, 0, 0},  {&_swigt__p_iSprite2DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSprite2DState[] = {  {&_swigt__p_iSprite2DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSprite2DUVAnimation[] = {  {&_swigt__p_iSprite2DUVAnimation, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSprite2DUVAnimationFrame[] = {  {&_swigt__p_iSprite2DUVAnimationFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSprite3DFactoryState[] = {  {&_swigt__p_iSprite3DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSprite3DState[] = {  {&_swigt__p_iSprite3DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSpriteAction[] = {  {&_swigt__p_iSpriteAction, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSpriteCal3DFactoryState[] = {  {&_swigt__p_iSpriteCal3DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSpriteCal3DSocket[] = {  {&_swigt__p_iSpriteCal3DSocket, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSpriteCal3DState[] = {  {&_swigt__p_iSpriteCal3DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSpriteFrame[] = {  {&_swigt__p_iSpriteFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSpriteSocket[] = {  {&_swigt__p_iSpriteSocket, 0, 0, 0},  {&_swigt__p_iSpriteCal3DSocket, _p_iSpriteCal3DSocketTo_p_iSpriteSocket, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iStandardReporterListener[] = {  {&_swigt__p_iStandardReporterListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iStreamSource[] = {  {&_swigt__p_iStreamSource, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iString[] = {  {&_swigt__p_iString, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iStringArray[] = {  {&_swigt__p_iStringArray, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iStringSet[] = {  {&_swigt__p_iStringSet, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iSuperLightmap[] = {  {&_swigt__p_iSuperLightmap, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTerraFormer[] = {  {&_swigt__p_iTerraFormer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTerraSampler[] = {  {&_swigt__p_iTerraSampler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTerrainFactoryState[] = {  {&_swigt__p_iTerrainFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTerrainObjectState[] = {  {&_swigt__p_iTerrainObjectState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTextureCallback[] = {  {&_swigt__p_iTextureCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTextureHandle[] = {  {&_swigt__p_iTextureHandle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTextureList[] = {  {&_swigt__p_iTextureList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTextureManager[] = {  {&_swigt__p_iTextureManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iTextureWrapper[] = {  {&_swigt__p_iTextureWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iThingEnvironment[] = {  {&_swigt__p_iThingEnvironment, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iThingFactoryState[] = {  {&_swigt__p_iThingFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iThingState[] = {  {&_swigt__p_iThingState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iVFS[] = {  {&_swigt__p_iVFS, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iVerbosityManager[] = {  {&_swigt__p_iVerbosityManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iView[] = {  {&_swigt__p_iView, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iVirtualClock[] = {  {&_swigt__p_iVirtualClock, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iVisibilityCuller[] = {  {&_swigt__p_iVisibilityCuller, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iVisibilityCullerListener[] = {  {&_swigt__p_iVisibilityCullerListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iVisibilityObject[] = {  {&_swigt__p_iVisibilityObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_iVisibilityObjectIterator[] = {  {&_swigt__p_iVisibilityObjectIterator, 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_int16_t[] = {  {&_swigt__p_int16_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_int32_t[] = {  {&_swigt__p_int32_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_int64_t[] = {  {&_swigt__p_int64_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_int8_t[] = {  {&_swigt__p_int8_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_int_least64_t[] = {  {&_swigt__p_int_least64_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_char[] = {  {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_csImageIOFileFormatDescription[] = {  {&_swigt__p_p_csImageIOFileFormatDescription, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_csRenderMesh[] = {  {&_swigt__p_p_csRenderMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_csOrthoTransform[] = {{&_swigt__p_p_csOrthoTransform, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_csReversibleTransform[] = {  {&_swigt__p_p_csReversibleTransform, 0, 0, 0},  {&_swigt__p_p_csOrthoTransform, _p_p_csOrthoTransformTo_p_p_csReversibleTransform, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_csShaderVariable[] = {  {&_swigt__p_p_csShaderVariable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_csVector3[] = {  {&_swigt__p_p_csVector3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsRGBKey[] = {{&_swigt__p_p_iAwsRGBKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iRendererLightmap[] = {{&_swigt__p_p_iRendererLightmap, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSuperLightmap[] = {{&_swigt__p_p_iSuperLightmap, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iConsoleOutput[] = {{&_swigt__p_p_iConsoleOutput, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTerrainObjectState[] = {{&_swigt__p_p_iTerrainObjectState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iClipper2D[] = {{&_swigt__p_p_iClipper2D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleEffector[] = {{&_swigt__p_p_iParticleEffector, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDebugHelper[] = {{&_swigt__p_p_iDebugHelper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEDynamicState[] = {{&_swigt__p_p_iODEDynamicState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDocumentAttribute[] = {{&_swigt__p_p_iDocumentAttribute, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEHingeJoint[] = {{&_swigt__p_p_iODEHingeJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMaterialEngine[] = {{&_swigt__p_p_iMaterialEngine, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iImageIO[] = {{&_swigt__p_p_iImageIO, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iPath[] = {{&_swigt__p_p_iPath, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSCF[] = {{&_swigt__p_p_iSCF, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLoaderStatus[] = {{&_swigt__p_p_iLoaderStatus, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEBallJoint[] = {{&_swigt__p_p_iODEBallJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGeneralMeshState[] = {{&_swigt__p_p_iGeneralMeshState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDynamics[] = {{&_swigt__p_p_iDynamics, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParameterESM[] = {{&_swigt__p_p_iParameterESM, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysSoftwareOutputFilter[] = {{&_swigt__p_p_iSndSysSoftwareOutputFilter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iArrayChangeAllTcsShaderVariable_p_t[] = {{&_swigt__p_p_iArrayChangeAllTcsShaderVariable_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iArrayChangeElementsTcsShaderVariable_p_t[] = {{&_swigt__p_p_iArrayChangeElementsTcsShaderVariable_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iArrayReadOnlyTcsShaderVariable_p_t[] = {{&_swigt__p_p_iArrayReadOnlyTcsShaderVariable_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsIntKey[] = {{&_swigt__p_p_iAwsIntKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEmitterCylinder[] = {{&_swigt__p_p_iParticleBuiltinEmitterCylinder, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEDynamicSystemState[] = {{&_swigt__p_p_iODEDynamicSystemState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshList[] = {{&_swigt__p_p_iMeshList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEventPlug[] = {{&_swigt__p_p_iEventPlug, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEmitterBox[] = {{&_swigt__p_p_iParticleBuiltinEmitterBox, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEJointState[] = {{&_swigt__p_p_iODEJointState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEGeneralJointState[] = {{&_swigt__p_p_iODEGeneralJointState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshFactoryWrapper[] = {{&_swigt__p_p_iMeshFactoryWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysWrapper[] = {{&_swigt__p_p_iSndSysWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSequenceWrapper[] = {{&_swigt__p_p_iSequenceWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iConsoleWatcher[] = {{&_swigt__p_p_iConsoleWatcher, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEngine[] = {{&_swigt__p_p_iEngine, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSimpleFormerState[] = {{&_swigt__p_p_iSimpleFormerState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMaterial[] = {{&_swigt__p_p_iMaterial, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSprite2DUVAnimation[] = {{&_swigt__p_p_iSprite2DUVAnimation, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_scfImplementation1TcsPath_iPath_t[] = {{&_swigt__p_p_scfImplementation1TcsPath_iPath_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iPolygonMesh[] = {{&_swigt__p_p_iPolygonMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTerrainFactoryState[] = {{&_swigt__p_p_iTerrainFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iThingFactoryState[] = {{&_swigt__p_p_iThingFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSpriteCal3DFactoryState[] = {{&_swigt__p_p_iSpriteCal3DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSprite3DFactoryState[] = {{&_swigt__p_p_iSprite3DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSprite2DFactoryState[] = {{&_swigt__p_p_iSprite2DFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGeneralFactoryState[] = {{&_swigt__p_p_iGeneralFactoryState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleEmitter[] = {{&_swigt__p_p_iParticleEmitter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGraphics2D[] = {{&_swigt__p_p_iGraphics2D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDocument[] = {{&_swigt__p_p_iDocument, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iShaderPriorityList[] = {{&_swigt__p_p_iShaderPriorityList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysSourceSoftware3D[] = {{&_swigt__p_p_iSndSysSourceSoftware3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDataBuffer[] = {{&_swigt__p_p_iDataBuffer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshObject[] = {{&_swigt__p_p_iMeshObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iScriptObject[] = {{&_swigt__p_p_iScriptObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonGraveyard[] = {{&_swigt__p_p_iSkeletonGraveyard, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSequenceTimedOperation[] = {{&_swigt__p_p_iSequenceTimedOperation, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iHalo[] = {{&_swigt__p_p_iHalo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iFontServer[] = {{&_swigt__p_p_iFontServer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iStringArray[] = {{&_swigt__p_p_iStringArray, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iReporter[] = {{&_swigt__p_p_iReporter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEventAttributeIterator[] = {{&_swigt__p_p_iEventAttributeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iObjectRegistryIterator[] = {{&_swigt__p_p_iObjectRegistryIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iObjectIterator[] = {{&_swigt__p_p_iObjectIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshWrapperIterator[] = {{&_swigt__p_p_iMeshWrapperIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSectorIterator[] = {{&_swigt__p_p_iSectorIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLightIterator[] = {{&_swigt__p_p_iLightIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iReporterIterator[] = {{&_swigt__p_p_iReporterIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDocumentNodeIterator[] = {{&_swigt__p_p_iDocumentNodeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDocumentAttributeIterator[] = {{&_swigt__p_p_iDocumentAttributeIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iConfigIterator[] = {{&_swigt__p_p_iConfigIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iPluginIterator[] = {{&_swigt__p_p_iPluginIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iVisibilityObjectIterator[] = {{&_swigt__p_p_iVisibilityObjectIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMapNode[] = {{&_swigt__p_p_iMapNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGenMeshAnimationControl[] = {{&_swigt__p_p_iGenMeshAnimationControl, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iObjectRegistry[] = {{&_swigt__p_p_iObjectRegistry, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEventNameRegistry[] = {{&_swigt__p_p_iEventNameRegistry, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysListener[] = {{&_swigt__p_p_iSndSysListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iVisibilityCullerListener[] = {{&_swigt__p_p_iVisibilityCullerListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iObjectModelListener[] = {{&_swigt__p_p_iObjectModelListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iCameraSectorListener[] = {{&_swigt__p_p_iCameraSectorListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMovableListener[] = {{&_swigt__p_p_iMovableListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iObjectNameChangeListener[] = {{&_swigt__p_p_iObjectNameChangeListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iReporterListener[] = {{&_swigt__p_p_iReporterListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iStandardReporterListener[] = {{&_swigt__p_p_iStandardReporterListener, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDocumentSystem[] = {{&_swigt__p_p_iDocumentSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_csPath[] = {{&_swigt__p_p_csPath, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysSourceSoftware[] = {{&_swigt__p_p_iSndSysSourceSoftware, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysRendererSoftware[] = {{&_swigt__p_p_iSndSysRendererSoftware, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSprite2DUVAnimationFrame[] = {{&_swigt__p_p_iSprite2DUVAnimationFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTerraFormer[] = {{&_swigt__p_p_iTerraFormer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeleton[] = {{&_swigt__p_p_iSkeleton, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSequenceTrigger[] = {{&_swigt__p_p_iSequenceTrigger, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iPortalContainer[] = {{&_swigt__p_p_iPortalContainer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsKeyContainer[] = {{&_swigt__p_p_iAwsKeyContainer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODESliderJoint[] = {{&_swigt__p_p_iODESliderJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEAMotorJoint[] = {{&_swigt__p_p_iODEAMotorJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEHinge2Joint[] = {{&_swigt__p_p_iODEHinge2Joint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iRegionList[] = {{&_swigt__p_p_iRegionList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iCameraPositionList[] = {{&_swigt__p_p_iCameraPositionList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSpriteAction[] = {{&_swigt__p_p_iSpriteAction, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLightList[] = {{&_swigt__p_p_iLightList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iFile[] = {{&_swigt__p_p_iFile, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshObjectDrawCallback[] = {{&_swigt__p_p_iMeshObjectDrawCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonUpdateCallback[] = {{&_swigt__p_p_iSkeletonUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonScriptCallback[] = {{&_swigt__p_p_iSkeletonScriptCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonBoneUpdateCallback[] = {{&_swigt__p_p_iSkeletonBoneUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iPortalCallback[] = {{&_swigt__p_p_iPortalCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLightCallback[] = {{&_swigt__p_p_iLightCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSectorCallback[] = {{&_swigt__p_p_iSectorCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSectorMeshCallback[] = {{&_swigt__p_p_iSectorMeshCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLightVisibleCallback[] = {{&_swigt__p_p_iLightVisibleCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEngineFrameCallback[] = {{&_swigt__p_p_iEngineFrameCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEngineSectorCallback[] = {{&_swigt__p_p_iEngineSectorCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTextureCallback[] = {{&_swigt__p_p_iTextureCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshDrawCallback[] = {{&_swigt__p_p_iMeshDrawCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysStreamCallback[] = {{&_swigt__p_p_iSndSysStreamCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysRendererCallback[] = {{&_swigt__p_p_iSndSysRendererCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iOffscreenCanvasCallback[] = {{&_swigt__p_p_iOffscreenCanvasCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDynamicsMoveCallback[] = {{&_swigt__p_p_iDynamicsMoveCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDynamicsCollisionCallback[] = {{&_swigt__p_p_iDynamicsCollisionCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDynamicsColliderCollisionCallback[] = {{&_swigt__p_p_iDynamicsColliderCollisionCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEFrameUpdateCallback[] = {{&_swigt__p_p_iODEFrameUpdateCallback, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iVisibilityObject[] = {{&_swigt__p_p_iVisibilityObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iObject[] = {{&_swigt__p_p_iObject, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iCamera[] = {{&_swigt__p_p_iCamera, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iCommandLineParser[] = {{&_swigt__p_p_iCommandLineParser, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshFactoryList[] = {{&_swigt__p_p_iMeshFactoryList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGraphics3D[] = {{&_swigt__p_p_iGraphics3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iVirtualClock[] = {{&_swigt__p_p_iVirtualClock, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshObjectType[] = {{&_swigt__p_p_iMeshObjectType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMovieRecorder[] = {{&_swigt__p_p_iMovieRecorder, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSprite2DState[] = {{&_swigt__p_p_iSprite2DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEmitterSphere[] = {{&_swigt__p_p_iParticleBuiltinEmitterSphere, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iThingEnvironment[] = {{&_swigt__p_p_iThingEnvironment, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMovable[] = {{&_swigt__p_p_iMovable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAws[] = {{&_swigt__p_p_iAws, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSceneNodeArray[] = {{&_swigt__p_p_iSceneNodeArray, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iShaderVariableContext[] = {{&_swigt__p_p_iShaderVariableContext, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSectorList[] = {{&_swigt__p_p_iSectorList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleSystem[] = {{&_swigt__p_p_iParticleSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iCollideSystem[] = {{&_swigt__p_p_iCollideSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDynamicSystem[] = {{&_swigt__p_p_iDynamicSystem, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysSoftwareFilter3D[] = {{&_swigt__p_p_iSndSysSoftwareFilter3D, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iShaderCompiler[] = {{&_swigt__p_p_iShaderCompiler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLightingProcessData[] = {{&_swigt__p_p_iLightingProcessData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iCameraPosition[] = {{&_swigt__p_p_iCameraPosition, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iBinaryLoaderPlugin[] = {{&_swigt__p_p_iBinaryLoaderPlugin, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLoaderPlugin[] = {{&_swigt__p_p_iLoaderPlugin, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonSocket[] = {{&_swigt__p_p_iSkeletonSocket, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSpriteCal3DSocket[] = {{&_swigt__p_p_iSpriteCal3DSocket, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysStream[] = {{&_swigt__p_p_iSndSysStream, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iVisibilityCuller[] = {{&_swigt__p_p_iVisibilityCuller, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGeneralMeshCommonState[] = {{&_swigt__p_p_iGeneralMeshCommonState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iConfigFile[] = {{&_swigt__p_p_iConfigFile, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEventQueue[] = {{&_swigt__p_p_iEventQueue, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iVFS[] = {{&_swigt__p_p_iVFS, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iRigidBody[] = {{&_swigt__p_p_iRigidBody, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsComponentNode[] = {{&_swigt__p_p_iAwsComponentNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEventOutlet[] = {{&_swigt__p_p_iEventOutlet, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDocumentNode[] = {{&_swigt__p_p_iDocumentNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iArrayChangeAllTcsSprite2DVertex_t[] = {{&_swigt__p_p_iArrayChangeAllTcsSprite2DVertex_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iArrayChangeElementsTcsSprite2DVertex_t[] = {{&_swigt__p_p_iArrayChangeElementsTcsSprite2DVertex_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iArrayReadOnlyTcsSprite2DVertex_t[] = {{&_swigt__p_p_iArrayReadOnlyTcsSprite2DVertex_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iFont[] = {{&_swigt__p_p_iFont, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSpriteCal3DState[] = {{&_swigt__p_p_iSpriteCal3DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSprite3DState[] = {{&_swigt__p_p_iSprite3DState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iKeyboardDriver[] = {{&_swigt__p_p_iKeyboardDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iBodyGroup[] = {{&_swigt__p_p_iBodyGroup, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iFrustumView[] = {{&_swigt__p_p_iFrustumView, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAnimTimeUpdateHandler[] = {{&_swigt__p_p_iAnimTimeUpdateHandler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEventHandler[] = {{&_swigt__p_p_iEventHandler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEngineSequenceParameters[] = {{&_swigt__p_p_iEngineSequenceParameters, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsKey[] = {{&_swigt__p_p_iAwsKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iView[] = {{&_swigt__p_p_iView, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGenMeshAnimationControlType[] = {{&_swigt__p_p_iGenMeshAnimationControlType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iKeyComposer[] = {{&_swigt__p_p_iKeyComposer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iArrayReadOnlyTiSceneNode_p_t[] = {{&_swigt__p_p_iArrayReadOnlyTiSceneNode_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMaterialList[] = {{&_swigt__p_p_iMaterialList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsRectKey[] = {{&_swigt__p_p_iAwsRectKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEffectorVelocityField[] = {{&_swigt__p_p_iParticleBuiltinEffectorVelocityField, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLightingProcessInfo[] = {{&_swigt__p_p_iLightingProcessInfo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iJoint[] = {{&_swigt__p_p_iJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSpriteSocket[] = {{&_swigt__p_p_iSpriteSocket, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEmitterBase[] = {{&_swigt__p_p_iParticleBuiltinEmitterBase, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEmitterCone[] = {{&_swigt__p_p_iParticleBuiltinEmitterCone, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysRenderer[] = {{&_swigt__p_p_iSndSysRenderer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsComponent[] = {{&_swigt__p_p_iAwsComponent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iComponent[] = {{&_swigt__p_p_iComponent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsStringKey[] = {{&_swigt__p_p_iAwsStringKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGenMeshSkeletonControlState[] = {{&_swigt__p_p_iGenMeshSkeletonControlState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsSource[] = {{&_swigt__p_p_iAwsSource, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysSource[] = {{&_swigt__p_p_iSndSysSource, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEffectorForce[] = {{&_swigt__p_p_iParticleBuiltinEffectorForce, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEffectorFactory[] = {{&_swigt__p_p_iParticleBuiltinEffectorFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEmitterFactory[] = {{&_swigt__p_p_iParticleBuiltinEmitterFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleSystemFactory[] = {{&_swigt__p_p_iParticleSystemFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshObjectFactory[] = {{&_swigt__p_p_iMeshObjectFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonFactory[] = {{&_swigt__p_p_iSkeletonFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonSocketFactory[] = {{&_swigt__p_p_iSkeletonSocketFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonBoneFactory[] = {{&_swigt__p_p_iSkeletonBoneFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGenMeshAnimationControlFactory[] = {{&_swigt__p_p_iGenMeshAnimationControlFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsConnectionNodeFactory[] = {{&_swigt__p_p_iAwsConnectionNodeFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsKeyFactory[] = {{&_swigt__p_p_iAwsKeyFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsComponentFactory[] = {{&_swigt__p_p_iAwsComponentFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iFactory[] = {{&_swigt__p_p_iFactory, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysSoftwareDriver[] = {{&_swigt__p_p_iSndSysSoftwareDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMouseDriver[] = {{&_swigt__p_p_iMouseDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iJoystickDriver[] = {{&_swigt__p_p_iJoystickDriver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysLoader[] = {{&_swigt__p_p_iSndSysLoader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLoader[] = {{&_swigt__p_p_iLoader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iFrustumViewUserdata[] = {{&_swigt__p_p_iFrustumViewUserdata, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsSink[] = {{&_swigt__p_p_iAwsSink, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iShader[] = {{&_swigt__p_p_iShader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTextureList[] = {{&_swigt__p_p_iTextureList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iNativeWindow[] = {{&_swigt__p_p_iNativeWindow, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleSystemBase[] = {{&_swigt__p_p_iParticleSystemBase, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSpriteFrame[] = {{&_swigt__p_p_iSpriteFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonScript[] = {{&_swigt__p_p_iSkeletonScript, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iFontDeleteNotify[] = {{&_swigt__p_p_iFontDeleteNotify, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iThingState[] = {{&_swigt__p_p_iThingState, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsFloatKey[] = {{&_swigt__p_p_iAwsFloatKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iShaderVariableAccessor[] = {{&_swigt__p_p_iShaderVariableAccessor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTerraSampler[] = {{&_swigt__p_p_iTerraSampler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEvent[] = {{&_swigt__p_p_iEvent, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonBone[] = {{&_swigt__p_p_iSkeletonBone, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsSlot[] = {{&_swigt__p_p_iAwsSlot, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonScriptKeyFrame[] = {{&_swigt__p_p_iSkeletonScriptKeyFrame, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iParticleBuiltinEffectorLinColor[] = {{&_swigt__p_p_iParticleBuiltinEffectorLinColor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iShaderVarStack[] = {{&_swigt__p_p_iShaderVarStack, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iGeneralMeshSubMesh[] = {{&_swigt__p_p_iGeneralMeshSubMesh, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iImage[] = {{&_swigt__p_p_iImage, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iDynamicsSystemCollider[] = {{&_swigt__p_p_iDynamicsSystemCollider, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iODEUniversalJoint[] = {{&_swigt__p_p_iODEUniversalJoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iPolygonHandle[] = {{&_swigt__p_p_iPolygonHandle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iObjectModel[] = {{&_swigt__p_p_iObjectModel, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsConnectionKey[] = {{&_swigt__p_p_iAwsConnectionKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSkeletonBoneRagdollInfo[] = {{&_swigt__p_p_iSkeletonBoneRagdollInfo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMissingLoaderData[] = {{&_swigt__p_p_iMissingLoaderData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iRegion[] = {{&_swigt__p_p_iRegion, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iStringSet[] = {{&_swigt__p_p_iStringSet, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iColoredVertices[] = {{&_swigt__p_p_iColoredVertices, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsLayoutManager[] = {{&_swigt__p_p_iAwsLayoutManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsSinkManager[] = {{&_swigt__p_p_iAwsSinkManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsPrefManager[] = {{&_swigt__p_p_iAwsPrefManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysManager[] = {{&_swigt__p_p_iSndSysManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iCacheManager[] = {{&_swigt__p_p_iCacheManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iPluginManager[] = {{&_swigt__p_p_iPluginManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iConfigManager[] = {{&_swigt__p_p_iConfigManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iNativeWindowManager[] = {{&_swigt__p_p_iNativeWindowManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iShaderManager[] = {{&_swigt__p_p_iShaderManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTextureManager[] = {{&_swigt__p_p_iTextureManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEngineSequenceManager[] = {{&_swigt__p_p_iEngineSequenceManager, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iAwsPointKey[] = {{&_swigt__p_p_iAwsPointKey, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iScript[] = {{&_swigt__p_p_iScript, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSaver[] = {{&_swigt__p_p_iSaver, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSndSysData[] = {{&_swigt__p_p_iSndSysData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iEventCord[] = {{&_swigt__p_p_iEventCord, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iBase[] = {  {&_swigt__p_p_iAwsRGBKey, _p_p_iAwsRGBKeyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iRendererLightmap, _p_p_iRendererLightmapTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSuperLightmap, _p_p_iSuperLightmapTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iConsoleOutput, _p_p_iConsoleOutputTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTerrainObjectState, _p_p_iTerrainObjectStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iClipper2D, _p_p_iClipper2DTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleEffector, _p_p_iParticleEffectorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDebugHelper, _p_p_iDebugHelperTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEDynamicState, _p_p_iODEDynamicStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDocumentAttribute, _p_p_iDocumentAttributeTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEHingeJoint, _p_p_iODEHingeJointTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMaterialEngine, _p_p_iMaterialEngineTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iImageIO, _p_p_iImageIOTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iPath, _p_p_iPathTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSCF, _p_p_iSCFTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLoaderStatus, _p_p_iLoaderStatusTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEBallJoint, _p_p_iODEBallJointTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTextureHandle, _p_p_iTextureHandleTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGeneralMeshState, _p_p_iGeneralMeshStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDynamics, _p_p_iDynamicsTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParameterESM, _p_p_iParameterESMTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysSoftwareOutputFilter, _p_p_iSndSysSoftwareOutputFilterTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iArrayChangeAllTcsShaderVariable_p_t, _p_p_iArrayChangeAllTcsShaderVariable_p_tTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iArrayChangeElementsTcsShaderVariable_p_t, _p_p_iArrayChangeElementsTcsShaderVariable_p_tTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iArrayReadOnlyTcsShaderVariable_p_t, _p_p_iArrayReadOnlyTcsShaderVariable_p_tTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsIntKey, _p_p_iAwsIntKeyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEmitterCylinder, _p_p_iParticleBuiltinEmitterCylinderTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEDynamicSystemState, _p_p_iODEDynamicSystemStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshList, _p_p_iMeshListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEventPlug, _p_p_iEventPlugTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEmitterBox, _p_p_iParticleBuiltinEmitterBoxTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEJointState, _p_p_iODEJointStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEGeneralJointState, _p_p_iODEGeneralJointStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMaterialWrapper, _p_p_iMaterialWrapperTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTextureWrapper, _p_p_iTextureWrapperTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshWrapper, _p_p_iMeshWrapperTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshFactoryWrapper, _p_p_iMeshFactoryWrapperTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysWrapper, _p_p_iSndSysWrapperTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSequenceWrapper, _p_p_iSequenceWrapperTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iString, _p_p_iStringTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iConsoleWatcher, _p_p_iConsoleWatcherTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEngine, _p_p_iEngineTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSimpleFormerState, _p_p_iSimpleFormerStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMaterial, _p_p_iMaterialTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSprite2DUVAnimation, _p_p_iSprite2DUVAnimationTo_p_p_iBase, 0, 0},  {&_swigt__p_p_scfImplementation1TcsPath_iPath_t, _p_p_scfImplementation1TcsPath_iPath_tTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iPolygonMesh, _p_p_iPolygonMeshTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTerrainFactoryState, _p_p_iTerrainFactoryStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iThingFactoryState, _p_p_iThingFactoryStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSpriteCal3DFactoryState, _p_p_iSpriteCal3DFactoryStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSprite3DFactoryState, _p_p_iSprite3DFactoryStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSprite2DFactoryState, _p_p_iSprite2DFactoryStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGeneralFactoryState, _p_p_iGeneralFactoryStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleEmitter, _p_p_iParticleEmitterTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGraphics2D, _p_p_iGraphics2DTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDocument, _p_p_iDocumentTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iShaderPriorityList, _p_p_iShaderPriorityListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysSourceSoftware3D, _p_p_iSndSysSourceSoftware3DTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDataBuffer, _p_p_iDataBufferTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshObject, _p_p_iMeshObjectTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iScriptObject, _p_p_iScriptObjectTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonGraveyard, _p_p_iSkeletonGraveyardTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSequenceTimedOperation, _p_p_iSequenceTimedOperationTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iHalo, _p_p_iHaloTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iFontServer, _p_p_iFontServerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iStringArray, _p_p_iStringArrayTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iReporter, _p_p_iReporterTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEventAttributeIterator, _p_p_iEventAttributeIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iObjectRegistryIterator, _p_p_iObjectRegistryIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iObjectIterator, _p_p_iObjectIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshWrapperIterator, _p_p_iMeshWrapperIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSectorIterator, _p_p_iSectorIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLightIterator, _p_p_iLightIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iReporterIterator, _p_p_iReporterIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDocumentNodeIterator, _p_p_iDocumentNodeIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDocumentAttributeIterator, _p_p_iDocumentAttributeIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iConfigIterator, _p_p_iConfigIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iPluginIterator, _p_p_iPluginIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iVisibilityObjectIterator, _p_p_iVisibilityObjectIteratorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMapNode, _p_p_iMapNodeTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGenMeshAnimationControl, _p_p_iGenMeshAnimationControlTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iObjectRegistry, _p_p_iObjectRegistryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEventNameRegistry, _p_p_iEventNameRegistryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysListener, _p_p_iSndSysListenerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iVisibilityCullerListener, _p_p_iVisibilityCullerListenerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iObjectModelListener, _p_p_iObjectModelListenerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iCameraSectorListener, _p_p_iCameraSectorListenerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMovableListener, _p_p_iMovableListenerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iObjectNameChangeListener, _p_p_iObjectNameChangeListenerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iReporterListener, _p_p_iReporterListenerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iStandardReporterListener, _p_p_iStandardReporterListenerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDocumentSystem, _p_p_iDocumentSystemTo_p_p_iBase, 0, 0},  {&_swigt__p_p_csPath, _p_p_csPathTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysSourceSoftware, _p_p_iSndSysSourceSoftwareTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysRendererSoftware, _p_p_iSndSysRendererSoftwareTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSprite2DUVAnimationFrame, _p_p_iSprite2DUVAnimationFrameTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTerraFormer, _p_p_iTerraFormerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeleton, _p_p_iSkeletonTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSector, _p_p_iSectorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSequenceTrigger, _p_p_iSequenceTriggerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iPortalContainer, _p_p_iPortalContainerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsKeyContainer, _p_p_iAwsKeyContainerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODESliderJoint, _p_p_iODESliderJointTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEAMotorJoint, _p_p_iODEAMotorJointTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEHinge2Joint, _p_p_iODEHinge2JointTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iRegionList, _p_p_iRegionListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iCameraPositionList, _p_p_iCameraPositionListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSpriteAction, _p_p_iSpriteActionTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iBase, 0, 0, 0},  {&_swigt__p_p_iLightList, _p_p_iLightListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iFile, _p_p_iFileTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshObjectDrawCallback, _p_p_iMeshObjectDrawCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonUpdateCallback, _p_p_iSkeletonUpdateCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonScriptCallback, _p_p_iSkeletonScriptCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonBoneUpdateCallback, _p_p_iSkeletonBoneUpdateCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iPortalCallback, _p_p_iPortalCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLightCallback, _p_p_iLightCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSectorCallback, _p_p_iSectorCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSectorMeshCallback, _p_p_iSectorMeshCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLightVisibleCallback, _p_p_iLightVisibleCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEngineFrameCallback, _p_p_iEngineFrameCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEngineSectorCallback, _p_p_iEngineSectorCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTextureCallback, _p_p_iTextureCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshDrawCallback, _p_p_iMeshDrawCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysStreamCallback, _p_p_iSndSysStreamCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysRendererCallback, _p_p_iSndSysRendererCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iOffscreenCanvasCallback, _p_p_iOffscreenCanvasCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDynamicsMoveCallback, _p_p_iDynamicsMoveCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDynamicsCollisionCallback, _p_p_iDynamicsCollisionCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDynamicsColliderCollisionCallback, _p_p_iDynamicsColliderCollisionCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEFrameUpdateCallback, _p_p_iODEFrameUpdateCallbackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iVisibilityObject, _p_p_iVisibilityObjectTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iObject, _p_p_iObjectTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iCamera, _p_p_iCameraTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iCommandLineParser, _p_p_iCommandLineParserTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshFactoryList, _p_p_iMeshFactoryListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGraphics3D, _p_p_iGraphics3DTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iVirtualClock, _p_p_iVirtualClockTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshObjectType, _p_p_iMeshObjectTypeTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMovieRecorder, _p_p_iMovieRecorderTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSprite2DState, _p_p_iSprite2DStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEmitterSphere, _p_p_iParticleBuiltinEmitterSphereTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iThingEnvironment, _p_p_iThingEnvironmentTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMovable, _p_p_iMovableTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAws, _p_p_iAwsTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSceneNodeArray, _p_p_iSceneNodeArrayTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iShaderVariableContext, _p_p_iShaderVariableContextTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSectorList, _p_p_iSectorListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleSystem, _p_p_iParticleSystemTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iCollideSystem, _p_p_iCollideSystemTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDynamicSystem, _p_p_iDynamicSystemTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysSoftwareFilter3D, _p_p_iSndSysSoftwareFilter3DTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iShaderCompiler, _p_p_iShaderCompilerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLightingProcessData, _p_p_iLightingProcessDataTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iCameraPosition, _p_p_iCameraPositionTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iBinaryLoaderPlugin, _p_p_iBinaryLoaderPluginTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLoaderPlugin, _p_p_iLoaderPluginTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonSocket, _p_p_iSkeletonSocketTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSpriteCal3DSocket, _p_p_iSpriteCal3DSocketTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysStream, _p_p_iSndSysStreamTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iVisibilityCuller, _p_p_iVisibilityCullerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGeneralMeshCommonState, _p_p_iGeneralMeshCommonStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iConfigFile, _p_p_iConfigFileTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEventQueue, _p_p_iEventQueueTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iVFS, _p_p_iVFSTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iRigidBody, _p_p_iRigidBodyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsComponentNode, _p_p_iAwsComponentNodeTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEventOutlet, _p_p_iEventOutletTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDocumentNode, _p_p_iDocumentNodeTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iArrayChangeAllTcsSprite2DVertex_t, _p_p_iArrayChangeAllTcsSprite2DVertex_tTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iArrayChangeElementsTcsSprite2DVertex_t, _p_p_iArrayChangeElementsTcsSprite2DVertex_tTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iArrayReadOnlyTcsSprite2DVertex_t, _p_p_iArrayReadOnlyTcsSprite2DVertex_tTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iFont, _p_p_iFontTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSpriteCal3DState, _p_p_iSpriteCal3DStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSprite3DState, _p_p_iSprite3DStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iKeyboardDriver, _p_p_iKeyboardDriverTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iBodyGroup, _p_p_iBodyGroupTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iFrustumView, _p_p_iFrustumViewTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAnimTimeUpdateHandler, _p_p_iAnimTimeUpdateHandlerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEventHandler, _p_p_iEventHandlerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iPortal, _p_p_iPortalTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEngineSequenceParameters, _p_p_iEngineSequenceParametersTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsKey, _p_p_iAwsKeyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iView, _p_p_iViewTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGenMeshAnimationControlType, _p_p_iGenMeshAnimationControlTypeTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iKeyComposer, _p_p_iKeyComposerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iArrayReadOnlyTiSceneNode_p_t, _p_p_iArrayReadOnlyTiSceneNode_p_tTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMaterialList, _p_p_iMaterialListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsRectKey, _p_p_iAwsRectKeyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEffectorVelocityField, _p_p_iParticleBuiltinEffectorVelocityFieldTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLightingProcessInfo, _p_p_iLightingProcessInfoTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iJoint, _p_p_iJointTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSpriteSocket, _p_p_iSpriteSocketTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEmitterBase, _p_p_iParticleBuiltinEmitterBaseTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEmitterCone, _p_p_iParticleBuiltinEmitterConeTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysRenderer, _p_p_iSndSysRendererTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsComponent, _p_p_iAwsComponentTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iComponent, _p_p_iComponentTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLight, _p_p_iLightTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsStringKey, _p_p_iAwsStringKeyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGenMeshSkeletonControlState, _p_p_iGenMeshSkeletonControlStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsSource, _p_p_iAwsSourceTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysSource, _p_p_iSndSysSourceTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEffectorForce, _p_p_iParticleBuiltinEffectorForceTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEffectorFactory, _p_p_iParticleBuiltinEffectorFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEmitterFactory, _p_p_iParticleBuiltinEmitterFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleSystemFactory, _p_p_iParticleSystemFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMeshObjectFactory, _p_p_iMeshObjectFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonFactory, _p_p_iSkeletonFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonSocketFactory, _p_p_iSkeletonSocketFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonBoneFactory, _p_p_iSkeletonBoneFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGenMeshAnimationControlFactory, _p_p_iGenMeshAnimationControlFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsConnectionNodeFactory, _p_p_iAwsConnectionNodeFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsKeyFactory, _p_p_iAwsKeyFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsComponentFactory, _p_p_iAwsComponentFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iFactory, _p_p_iFactoryTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysSoftwareDriver, _p_p_iSndSysSoftwareDriverTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMouseDriver, _p_p_iMouseDriverTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iJoystickDriver, _p_p_iJoystickDriverTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysLoader, _p_p_iSndSysLoaderTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iLoader, _p_p_iLoaderTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iFrustumViewUserdata, _p_p_iFrustumViewUserdataTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsSink, _p_p_iAwsSinkTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iShader, _p_p_iShaderTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTextureList, _p_p_iTextureListTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iNativeWindow, _p_p_iNativeWindowTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleSystemBase, _p_p_iParticleSystemBaseTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSpriteFrame, _p_p_iSpriteFrameTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonScript, _p_p_iSkeletonScriptTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iFontDeleteNotify, _p_p_iFontDeleteNotifyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iThingState, _p_p_iThingStateTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsFloatKey, _p_p_iAwsFloatKeyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iShaderVariableAccessor, _p_p_iShaderVariableAccessorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTerraSampler, _p_p_iTerraSamplerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEvent, _p_p_iEventTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonBone, _p_p_iSkeletonBoneTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsSlot, _p_p_iAwsSlotTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSceneNode, _p_p_iSceneNodeTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonScriptKeyFrame, _p_p_iSkeletonScriptKeyFrameTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iParticleBuiltinEffectorLinColor, _p_p_iParticleBuiltinEffectorLinColorTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iShaderVarStack, _p_p_iShaderVarStackTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iGeneralMeshSubMesh, _p_p_iGeneralMeshSubMeshTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iImage, _p_p_iImageTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iCollider, _p_p_iColliderTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iDynamicsSystemCollider, _p_p_iDynamicsSystemColliderTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iODEUniversalJoint, _p_p_iODEUniversalJointTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iPolygonHandle, _p_p_iPolygonHandleTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iObjectModel, _p_p_iObjectModelTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsConnectionKey, _p_p_iAwsConnectionKeyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSkeletonBoneRagdollInfo, _p_p_iSkeletonBoneRagdollInfoTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iMissingLoaderData, _p_p_iMissingLoaderDataTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iRegion, _p_p_iRegionTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iStringSet, _p_p_iStringSetTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iColoredVertices, _p_p_iColoredVerticesTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsLayoutManager, _p_p_iAwsLayoutManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsSinkManager, _p_p_iAwsSinkManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsPrefManager, _p_p_iAwsPrefManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysManager, _p_p_iSndSysManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iCacheManager, _p_p_iCacheManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iPluginManager, _p_p_iPluginManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iConfigManager, _p_p_iConfigManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iNativeWindowManager, _p_p_iNativeWindowManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iShaderManager, _p_p_iShaderManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iTextureManager, _p_p_iTextureManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEngineSequenceManager, _p_p_iEngineSequenceManagerTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iAwsPointKey, _p_p_iAwsPointKeyTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iScript, _p_p_iScriptTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSaver, _p_p_iSaverTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iSndSysData, _p_p_iSndSysDataTo_p_p_iBase, 0, 0},  {&_swigt__p_p_iEventCord, _p_p_iEventCordTo_p_p_iBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iCollider[] = {  {&_swigt__p_p_iCollider, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iLight[] = {  {&_swigt__p_p_iLight, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMaterialWrapper[] = {  {&_swigt__p_p_iMaterialWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iMeshWrapper[] = {  {&_swigt__p_p_iMeshWrapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iPortal[] = {  {&_swigt__p_p_iPortal, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iRenderBuffer[] = {  {&_swigt__p_p_iRenderBuffer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSceneNode[] = {  {&_swigt__p_p_iSceneNode, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iSector[] = {  {&_swigt__p_p_iSector, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iString[] = {  {&_swigt__p_p_iString, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTextureHandle[] = {  {&_swigt__p_p_iTextureHandle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_iTextureWrapper[] = {  {&_swigt__p_p_iTextureWrapper, 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_scfImplementation1TcsPath_iPath_t[] = {  {&_swigt__p_scfImplementation1TcsPath_iPath_t, 0, 0, 0},  {&_swigt__p_csPath, _p_csPathTo_p_scfImplementation1TcsPath_iPath_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_size_t[] = {  {&_swigt__p_size_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_uint16_t[] = {  {&_swigt__p_uint16_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_uint32_t[] = {  {&_swigt__p_uint32_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_uint64_t[] = {  {&_swigt__p_uint64_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_uint8_t[] = {  {&_swigt__p_uint8_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_uint_least64_t[] = {  {&_swigt__p_uint_least64_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_unsigned_char[] = {  {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_utf32_char[] = {  {&_swigt__p_utf32_char, 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 *swig_cast_initial[] = {
  _swigc__p_AllocatorType,
  _swigc__p_CS__Memory__AllocatorMalloc,
  _swigc__p_CS__TriangleTTint_t,
  _swigc__p_CalAnimationCallback,
  _swigc__p_CalCoreModel,
  _swigc__p_CalModel,
  _swigc__p_CapacityHandlerType,
  _swigc__p_ContainedType,
  _swigc__p_ElementHandlerType,
  _swigc__p_FILE,
  _swigc__p_FileFormatDescription,
  _swigc__p_HashType,
  _swigc__p_SndSysFilterLocation,
  _swigc__p_ThisType,
  _swigc__p_ValueType,
  _swigc__p__csKeyCharType,
  _swigc__p__csKeyEventType,
  _swigc__p__csKeyModifierNumType,
  _swigc__p__csKeyModifierType,
  _swigc__p__csKeyModifiers,
  _swigc__p__csMouseCursorID,
  _swigc__p__csMouseEventType,
  _swigc__p_awsConnectionNode,
  _swigc__p_bool,
  _swigc__p_char,
  _swigc__p_csAlphaMode,
  _swigc__p_csArrayCapacityDefault,
  _swigc__p_csArrayCapacityLinearTcsArrayThresholdVariable_t,
  _swigc__p_csArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTcsIntersectingTriangle_csArrayElementHandlerTcsIntersectingTriangle_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTcsShaderVariable_p_csArrayElementHandlerTcsShaderVariable_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTcsVector2_csArrayElementHandlerTcsVector2_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTcsVector3_csArrayElementHandlerTcsVector3_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayThresholdVariable,
  _swigc__p_csArrayTiImage_p_csArrayElementHandlerTiImage_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTiLight_p_csArrayElementHandlerTiLight_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csArrayTiMaterialWrapper_p_csArrayElementHandlerTiMaterialWrapper_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t,
  _swigc__p_csBSpline,
  _swigc__p_csBitmapMetrics,
  _swigc__p_csBox2,
  _swigc__p_csBox3,
  _swigc__p_csCatmullRomSpline,
  _swigc__p_csColliderActor,
  _swigc__p_csColliderHelper,
  _swigc__p_csColliderWrapper,
  _swigc__p_csCollisionPair,
  _swigc__p_csColor,
  _swigc__p_csColor4,
  _swigc__p_csCommandEventData,
  _swigc__p_csCommandEventHelper,
  _swigc__p_csCommandLineHelper,
  _swigc__p_csCompressVertex,
  _swigc__p_csCoreRenderMesh,
  _swigc__p_csCubicSpline,
  _swigc__p_csDVector3,
  _swigc__p_csEllipsoid,
  _swigc__p_csEvent,
  _swigc__p_csEventNameRegistry,
  _swigc__p_csFileTime,
  _swigc__p_csFlags,
  _swigc__p_csFog,
  _swigc__p_csFrustum,
  _swigc__p_csFrustumContext,
  _swigc__p_csGeomDebugHelper,
  _swigc__p_csGlyphMetrics,
  _swigc__p_csGraphics3DCaps,
  _swigc__p_csHandlerID,
  _swigc__p_csHashTcsRefTiShader_t_unsigned_long_CS__Memory__AllocatorMalloc_t,
  _swigc__p_csHitBeamResult,
  _swigc__p_csImageArea,
  _swigc__p_csImageIOFileFormatDescription,
  _swigc__p_csInitializer,
  _swigc__p_csInputEventHelper,
  _swigc__p_csIntersect2,
  _swigc__p_csIntersect3,
  _swigc__p_csIntersectingTriangle,
  _swigc__p_csJoystickEventData,
  _swigc__p_csJoystickEventHelper,
  _swigc__p_csKeyEventData,
  _swigc__p_csKeyEventHelper,
  _swigc__p_csListenerProperties,
  _swigc__p_csMath2,
  _swigc__p_csMath3,
  _swigc__p_csMatrix2,
  _swigc__p_csMatrix3,
  _swigc__p_csMeshedPolygon,
  _swigc__p_csMouseEventData,
  _swigc__p_csMouseEventHelper,
  _swigc__p_csOBB,
  _swigc__p_csObject,
  _swigc__p_csOrthoTransform,
  _swigc__p_csParticle,
  _swigc__p_csParticleAux,
  _swigc__p_csParticleBuffer,
  _swigc__p_csPath,
  _swigc__p_csPixelCoord,
  _swigc__p_csPixelFormat,
  _swigc__p_csPixmap,
  _swigc__p_csPlane2,
  _swigc__p_csPlane3,
  _swigc__p_csPluginRequest,
  _swigc__p_csPoly2D,
  _swigc__p_csPoly2DFactory,
  _swigc__p_csPoly3D,
  _swigc__p_csPolygonMesh,
  _swigc__p_csPolygonMeshBox,
  _swigc__p_csPolygonRange,
  _swigc__p_csPtrTcsFrustum_t,
  _swigc__p_csPtrTiBase_t,
  _swigc__p_csPtrTiEngineSequenceParameters_t,
  _swigc__p_csPtrTiEventOutlet_t,
  _swigc__p_csPtrTiGenMeshAnimationControlFactory_t,
  _swigc__p_csPtrTiGenMeshAnimationControl_t,
  _swigc__p_csPtrTiKeyComposer_t,
  _swigc__p_csPtrTiLightIterator_t,
  _swigc__p_csPtrTiLightingProcessData_t,
  _swigc__p_csPtrTiLoaderContext_t,
  _swigc__p_csPtrTiLoaderStatus_t,
  _swigc__p_csPtrTiODEHinge2Joint_t,
  _swigc__p_csPtrTiObjectIterator_t,
  _swigc__p_csPtrTiObjectRegistryIterator_t,
  _swigc__p_csPtrTiObjectWatcher_t,
  _swigc__p_csPtrTiParameterESM_t,
  _swigc__p_csPtrTiParticleBuiltinEffectorVelocityField_t,
  _swigc__p_csPtrTiPluginIterator_t,
  _swigc__p_csPtrTiPolygonHandle_t,
  _swigc__p_csPtrTiRendererLightmap_t,
  _swigc__p_csPtrTiRigidBody_t,
  _swigc__p_csPtrTiSectorIterator_t,
  _swigc__p_csPtrTiSequenceTrigger_t,
  _swigc__p_csPtrTiSequenceWrapper_t,
  _swigc__p_csPtrTiShaderPriorityList_t,
  _swigc__p_csPtrTiShader_t,
  _swigc__p_csPtrTiShadowBlockList_t,
  _swigc__p_csPtrTiSuperLightmap_t,
  _swigc__p_csPtrTiVisibilityObjectIterator_t,
  _swigc__p_csQuaternion,
  _swigc__p_csRGBcolor,
  _swigc__p_csRGBpixel,
  _swigc__p_csRandomGen,
  _swigc__p_csRect,
  _swigc__p_csRectRegion,
  _swigc__p_csRefArrayTcsShaderVariable_t,
  _swigc__p_csRefArrayTiAwsKey_t,
  _swigc__p_csRefArrayTiObject_t,
  _swigc__p_csRefArrayTiSceneNode_t,
  _swigc__p_csRefArrayTiShader_t,
  _swigc__p_csRefCount,
  _swigc__p_csRefTiBase_t,
  _swigc__p_csRefTiDocumentAttributeIterator_t,
  _swigc__p_csRefTiDocumentAttribute_t,
  _swigc__p_csRefTiDocumentNodeIterator_t,
  _swigc__p_csRefTiDocumentNode_t,
  _swigc__p_csRefTiDynamicsSystemCollider_t,
  _swigc__p_csRefTiEventAttributeIterator_t,
  _swigc__p_csRefTiEventHandlerRegistry_t,
  _swigc__p_csRefTiEventHandler_t,
  _swigc__p_csRefTiEventNameRegistry_t,
  _swigc__p_csRefTiEvent_t,
  _swigc__p_csRefTiGeneralFactoryState_t,
  _swigc__p_csRefTiImage_t,
  _swigc__p_csRefTiRenderBuffer_t,
  _swigc__p_csRefTiRigidBody_t,
  _swigc__p_csRefTiScriptObject_t,
  _swigc__p_csRefTiString_t,
  _swigc__p_csRenderBufferHolder,
  _swigc__p_csRenderBufferName,
  _swigc__p_csRenderMesh,
  _swigc__p_csRenderMeshList,
  _swigc__p_csRenderMeshModes,
  _swigc__p_csReporterHelper,
  _swigc__p_csReversibleTransform,
  _swigc__p_csScreenBoxResult,
  _swigc__p_csSectorHitBeamResult,
  _swigc__p_csSegment2,
  _swigc__p_csSegment3,
  _swigc__p_csSetTcsPtrKeyTiMeshWrapper_t_CS__Memory__AllocatorMalloc_t,
  _swigc__p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t,
  _swigc__p_csShaderMetadata,
  _swigc__p_csShaderTagPresence,
  _swigc__p_csShaderVariable,
  _swigc__p_csSimplePixmap,
  _swigc__p_csSimpleRenderMesh,
  _swigc__p_csSndSysRendererSoftware,
  _swigc__p_csSndSysSoundFormat,
  _swigc__p_csSourceParameters3D,
  _swigc__p_csSphere,
  _swigc__p_csSpline,
  _swigc__p_csSprite2DVertex,
  _swigc__p_csSpriteCal3DActiveAnim,
  _swigc__p_csSquaredDist,
  _swigc__p_csStrKey,
  _swigc__p_csString,
  _swigc__p_csStringArray,
  _swigc__p_csStringBase,
  _swigc__p_csStringFastT36_t,
  _swigc__p_csStringSet,
  _swigc__p_csTinyDocumentSystem,
  _swigc__p_csTraceBeamResult,
  _swigc__p_csTransform,
  _swigc__p_csTriangle,
  _swigc__p_csVector2,
  _swigc__p_csVector3,
  _swigc__p_csVector3Array,
  _swigc__p_csVector4,
  _swigc__p_csVertexAttrib,
  _swigc__p_csVertexStatus,
  _swigc__p_csView,
  _swigc__p_csWrapPtr,
  _swigc__p_csXRotMatrix3,
  _swigc__p_csXScaleMatrix3,
  _swigc__p_csYRotMatrix3,
  _swigc__p_csYScaleMatrix3,
  _swigc__p_csZRotMatrix3,
  _swigc__p_csZScaleMatrix3,
  _swigc__p_double,
  _swigc__p_f_p_iBase__p_csPath,
  _swigc__p_f_p_iBase__p_iAnimTimeUpdateHandler,
  _swigc__p_f_p_iBase__p_iArrayChangeAllTcsShaderVariable_p_t,
  _swigc__p_f_p_iBase__p_iArrayChangeAllTcsSprite2DVertex_t,
  _swigc__p_f_p_iBase__p_iArrayChangeElementsTcsShaderVariable_p_t,
  _swigc__p_f_p_iBase__p_iArrayChangeElementsTcsSprite2DVertex_t,
  _swigc__p_f_p_iBase__p_iArrayReadOnlyTcsShaderVariable_p_t,
  _swigc__p_f_p_iBase__p_iArrayReadOnlyTcsSprite2DVertex_t,
  _swigc__p_f_p_iBase__p_iArrayReadOnlyTiSceneNode_p_t,
  _swigc__p_f_p_iBase__p_iAws,
  _swigc__p_f_p_iBase__p_iAwsComponent,
  _swigc__p_f_p_iBase__p_iAwsComponentFactory,
  _swigc__p_f_p_iBase__p_iAwsComponentNode,
  _swigc__p_f_p_iBase__p_iAwsConnectionKey,
  _swigc__p_f_p_iBase__p_iAwsConnectionNodeFactory,
  _swigc__p_f_p_iBase__p_iAwsFloatKey,
  _swigc__p_f_p_iBase__p_iAwsIntKey,
  _swigc__p_f_p_iBase__p_iAwsKey,
  _swigc__p_f_p_iBase__p_iAwsKeyContainer,
  _swigc__p_f_p_iBase__p_iAwsKeyFactory,
  _swigc__p_f_p_iBase__p_iAwsLayoutManager,
  _swigc__p_f_p_iBase__p_iAwsPointKey,
  _swigc__p_f_p_iBase__p_iAwsPrefManager,
  _swigc__p_f_p_iBase__p_iAwsRGBKey,
  _swigc__p_f_p_iBase__p_iAwsRectKey,
  _swigc__p_f_p_iBase__p_iAwsSink,
  _swigc__p_f_p_iBase__p_iAwsSinkManager,
  _swigc__p_f_p_iBase__p_iAwsSlot,
  _swigc__p_f_p_iBase__p_iAwsSource,
  _swigc__p_f_p_iBase__p_iAwsStringKey,
  _swigc__p_f_p_iBase__p_iBase,
  _swigc__p_f_p_iBase__p_iBinaryLoaderPlugin,
  _swigc__p_f_p_iBase__p_iBodyGroup,
  _swigc__p_f_p_iBase__p_iCacheManager,
  _swigc__p_f_p_iBase__p_iCamera,
  _swigc__p_f_p_iBase__p_iCameraPosition,
  _swigc__p_f_p_iBase__p_iCameraPositionList,
  _swigc__p_f_p_iBase__p_iCameraSectorListener,
  _swigc__p_f_p_iBase__p_iClipper2D,
  _swigc__p_f_p_iBase__p_iCollideSystem,
  _swigc__p_f_p_iBase__p_iCollider,
  _swigc__p_f_p_iBase__p_iColoredVertices,
  _swigc__p_f_p_iBase__p_iCommandLineParser,
  _swigc__p_f_p_iBase__p_iComponent,
  _swigc__p_f_p_iBase__p_iConfigFile,
  _swigc__p_f_p_iBase__p_iConfigIterator,
  _swigc__p_f_p_iBase__p_iConfigManager,
  _swigc__p_f_p_iBase__p_iConsoleOutput,
  _swigc__p_f_p_iBase__p_iConsoleWatcher,
  _swigc__p_f_p_iBase__p_iDataBuffer,
  _swigc__p_f_p_iBase__p_iDebugHelper,
  _swigc__p_f_p_iBase__p_iDocument,
  _swigc__p_f_p_iBase__p_iDocumentAttribute,
  _swigc__p_f_p_iBase__p_iDocumentAttributeIterator,
  _swigc__p_f_p_iBase__p_iDocumentNode,
  _swigc__p_f_p_iBase__p_iDocumentNodeIterator,
  _swigc__p_f_p_iBase__p_iDocumentSystem,
  _swigc__p_f_p_iBase__p_iDynamicSystem,
  _swigc__p_f_p_iBase__p_iDynamics,
  _swigc__p_f_p_iBase__p_iDynamicsColliderCollisionCallback,
  _swigc__p_f_p_iBase__p_iDynamicsCollisionCallback,
  _swigc__p_f_p_iBase__p_iDynamicsMoveCallback,
  _swigc__p_f_p_iBase__p_iDynamicsSystemCollider,
  _swigc__p_f_p_iBase__p_iEngine,
  _swigc__p_f_p_iBase__p_iEngineFrameCallback,
  _swigc__p_f_p_iBase__p_iEngineSectorCallback,
  _swigc__p_f_p_iBase__p_iEngineSequenceManager,
  _swigc__p_f_p_iBase__p_iEngineSequenceParameters,
  _swigc__p_f_p_iBase__p_iEvent,
  _swigc__p_f_p_iBase__p_iEventAttributeIterator,
  _swigc__p_f_p_iBase__p_iEventCord,
  _swigc__p_f_p_iBase__p_iEventHandler,
  _swigc__p_f_p_iBase__p_iEventNameRegistry,
  _swigc__p_f_p_iBase__p_iEventOutlet,
  _swigc__p_f_p_iBase__p_iEventPlug,
  _swigc__p_f_p_iBase__p_iEventQueue,
  _swigc__p_f_p_iBase__p_iFactory,
  _swigc__p_f_p_iBase__p_iFile,
  _swigc__p_f_p_iBase__p_iFont,
  _swigc__p_f_p_iBase__p_iFontDeleteNotify,
  _swigc__p_f_p_iBase__p_iFontServer,
  _swigc__p_f_p_iBase__p_iFrustumView,
  _swigc__p_f_p_iBase__p_iFrustumViewUserdata,
  _swigc__p_f_p_iBase__p_iGenMeshAnimationControl,
  _swigc__p_f_p_iBase__p_iGenMeshAnimationControlFactory,
  _swigc__p_f_p_iBase__p_iGenMeshAnimationControlType,
  _swigc__p_f_p_iBase__p_iGenMeshSkeletonControlState,
  _swigc__p_f_p_iBase__p_iGeneralFactoryState,
  _swigc__p_f_p_iBase__p_iGeneralMeshCommonState,
  _swigc__p_f_p_iBase__p_iGeneralMeshState,
  _swigc__p_f_p_iBase__p_iGeneralMeshSubMesh,
  _swigc__p_f_p_iBase__p_iGraphics2D,
  _swigc__p_f_p_iBase__p_iGraphics3D,
  _swigc__p_f_p_iBase__p_iHalo,
  _swigc__p_f_p_iBase__p_iImage,
  _swigc__p_f_p_iBase__p_iImageIO,
  _swigc__p_f_p_iBase__p_iJoint,
  _swigc__p_f_p_iBase__p_iJoystickDriver,
  _swigc__p_f_p_iBase__p_iKeyComposer,
  _swigc__p_f_p_iBase__p_iKeyboardDriver,
  _swigc__p_f_p_iBase__p_iLight,
  _swigc__p_f_p_iBase__p_iLightCallback,
  _swigc__p_f_p_iBase__p_iLightIterator,
  _swigc__p_f_p_iBase__p_iLightList,
  _swigc__p_f_p_iBase__p_iLightVisibleCallback,
  _swigc__p_f_p_iBase__p_iLightingProcessData,
  _swigc__p_f_p_iBase__p_iLightingProcessInfo,
  _swigc__p_f_p_iBase__p_iLoader,
  _swigc__p_f_p_iBase__p_iLoaderPlugin,
  _swigc__p_f_p_iBase__p_iLoaderStatus,
  _swigc__p_f_p_iBase__p_iMapNode,
  _swigc__p_f_p_iBase__p_iMaterial,
  _swigc__p_f_p_iBase__p_iMaterialEngine,
  _swigc__p_f_p_iBase__p_iMaterialList,
  _swigc__p_f_p_iBase__p_iMaterialWrapper,
  _swigc__p_f_p_iBase__p_iMeshDrawCallback,
  _swigc__p_f_p_iBase__p_iMeshFactoryList,
  _swigc__p_f_p_iBase__p_iMeshFactoryWrapper,
  _swigc__p_f_p_iBase__p_iMeshList,
  _swigc__p_f_p_iBase__p_iMeshObject,
  _swigc__p_f_p_iBase__p_iMeshObjectDrawCallback,
  _swigc__p_f_p_iBase__p_iMeshObjectFactory,
  _swigc__p_f_p_iBase__p_iMeshObjectType,
  _swigc__p_f_p_iBase__p_iMeshWrapper,
  _swigc__p_f_p_iBase__p_iMeshWrapperIterator,
  _swigc__p_f_p_iBase__p_iMissingLoaderData,
  _swigc__p_f_p_iBase__p_iMouseDriver,
  _swigc__p_f_p_iBase__p_iMovable,
  _swigc__p_f_p_iBase__p_iMovableListener,
  _swigc__p_f_p_iBase__p_iMovieRecorder,
  _swigc__p_f_p_iBase__p_iNativeWindow,
  _swigc__p_f_p_iBase__p_iNativeWindowManager,
  _swigc__p_f_p_iBase__p_iODEAMotorJoint,
  _swigc__p_f_p_iBase__p_iODEBallJoint,
  _swigc__p_f_p_iBase__p_iODEDynamicState,
  _swigc__p_f_p_iBase__p_iODEDynamicSystemState,
  _swigc__p_f_p_iBase__p_iODEFrameUpdateCallback,
  _swigc__p_f_p_iBase__p_iODEGeneralJointState,
  _swigc__p_f_p_iBase__p_iODEHinge2Joint,
  _swigc__p_f_p_iBase__p_iODEHingeJoint,
  _swigc__p_f_p_iBase__p_iODEJointState,
  _swigc__p_f_p_iBase__p_iODESliderJoint,
  _swigc__p_f_p_iBase__p_iODEUniversalJoint,
  _swigc__p_f_p_iBase__p_iObject,
  _swigc__p_f_p_iBase__p_iObjectIterator,
  _swigc__p_f_p_iBase__p_iObjectModel,
  _swigc__p_f_p_iBase__p_iObjectModelListener,
  _swigc__p_f_p_iBase__p_iObjectNameChangeListener,
  _swigc__p_f_p_iBase__p_iObjectRegistry,
  _swigc__p_f_p_iBase__p_iObjectRegistryIterator,
  _swigc__p_f_p_iBase__p_iOffscreenCanvasCallback,
  _swigc__p_f_p_iBase__p_iParameterESM,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEffectorFactory,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEffectorForce,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEffectorLinColor,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEffectorVelocityField,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterBase,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterBox,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterCone,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterCylinder,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterFactory,
  _swigc__p_f_p_iBase__p_iParticleBuiltinEmitterSphere,
  _swigc__p_f_p_iBase__p_iParticleEffector,
  _swigc__p_f_p_iBase__p_iParticleEmitter,
  _swigc__p_f_p_iBase__p_iParticleSystem,
  _swigc__p_f_p_iBase__p_iParticleSystemBase,
  _swigc__p_f_p_iBase__p_iParticleSystemFactory,
  _swigc__p_f_p_iBase__p_iPath,
  _swigc__p_f_p_iBase__p_iPluginIterator,
  _swigc__p_f_p_iBase__p_iPluginManager,
  _swigc__p_f_p_iBase__p_iPolygonHandle,
  _swigc__p_f_p_iBase__p_iPolygonMesh,
  _swigc__p_f_p_iBase__p_iPortal,
  _swigc__p_f_p_iBase__p_iPortalCallback,
  _swigc__p_f_p_iBase__p_iPortalContainer,
  _swigc__p_f_p_iBase__p_iRegion,
  _swigc__p_f_p_iBase__p_iRegionList,
  _swigc__p_f_p_iBase__p_iRendererLightmap,
  _swigc__p_f_p_iBase__p_iReporter,
  _swigc__p_f_p_iBase__p_iReporterIterator,
  _swigc__p_f_p_iBase__p_iReporterListener,
  _swigc__p_f_p_iBase__p_iRigidBody,
  _swigc__p_f_p_iBase__p_iSCF,
  _swigc__p_f_p_iBase__p_iSaver,
  _swigc__p_f_p_iBase__p_iSceneNode,
  _swigc__p_f_p_iBase__p_iSceneNodeArray,
  _swigc__p_f_p_iBase__p_iScript,
  _swigc__p_f_p_iBase__p_iScriptObject,
  _swigc__p_f_p_iBase__p_iSector,
  _swigc__p_f_p_iBase__p_iSectorCallback,
  _swigc__p_f_p_iBase__p_iSectorIterator,
  _swigc__p_f_p_iBase__p_iSectorList,
  _swigc__p_f_p_iBase__p_iSectorMeshCallback,
  _swigc__p_f_p_iBase__p_iSequenceTimedOperation,
  _swigc__p_f_p_iBase__p_iSequenceTrigger,
  _swigc__p_f_p_iBase__p_iSequenceWrapper,
  _swigc__p_f_p_iBase__p_iShader,
  _swigc__p_f_p_iBase__p_iShaderCompiler,
  _swigc__p_f_p_iBase__p_iShaderManager,
  _swigc__p_f_p_iBase__p_iShaderPriorityList,
  _swigc__p_f_p_iBase__p_iShaderVarStack,
  _swigc__p_f_p_iBase__p_iShaderVariableAccessor,
  _swigc__p_f_p_iBase__p_iShaderVariableContext,
  _swigc__p_f_p_iBase__p_iSimpleFormerState,
  _swigc__p_f_p_iBase__p_iSkeleton,
  _swigc__p_f_p_iBase__p_iSkeletonBone,
  _swigc__p_f_p_iBase__p_iSkeletonBoneFactory,
  _swigc__p_f_p_iBase__p_iSkeletonBoneRagdollInfo,
  _swigc__p_f_p_iBase__p_iSkeletonBoneUpdateCallback,
  _swigc__p_f_p_iBase__p_iSkeletonFactory,
  _swigc__p_f_p_iBase__p_iSkeletonGraveyard,
  _swigc__p_f_p_iBase__p_iSkeletonScript,
  _swigc__p_f_p_iBase__p_iSkeletonScriptCallback,
  _swigc__p_f_p_iBase__p_iSkeletonScriptKeyFrame,
  _swigc__p_f_p_iBase__p_iSkeletonSocket,
  _swigc__p_f_p_iBase__p_iSkeletonSocketFactory,
  _swigc__p_f_p_iBase__p_iSkeletonUpdateCallback,
  _swigc__p_f_p_iBase__p_iSndSysData,
  _swigc__p_f_p_iBase__p_iSndSysListener,
  _swigc__p_f_p_iBase__p_iSndSysLoader,
  _swigc__p_f_p_iBase__p_iSndSysManager,
  _swigc__p_f_p_iBase__p_iSndSysRenderer,
  _swigc__p_f_p_iBase__p_iSndSysRendererCallback,
  _swigc__p_f_p_iBase__p_iSndSysRendererSoftware,
  _swigc__p_f_p_iBase__p_iSndSysSoftwareDriver,
  _swigc__p_f_p_iBase__p_iSndSysSoftwareFilter3D,
  _swigc__p_f_p_iBase__p_iSndSysSoftwareOutputFilter,
  _swigc__p_f_p_iBase__p_iSndSysSource,
  _swigc__p_f_p_iBase__p_iSndSysSourceSoftware,
  _swigc__p_f_p_iBase__p_iSndSysSourceSoftware3D,
  _swigc__p_f_p_iBase__p_iSndSysStream,
  _swigc__p_f_p_iBase__p_iSndSysStreamCallback,
  _swigc__p_f_p_iBase__p_iSndSysWrapper,
  _swigc__p_f_p_iBase__p_iSprite2DFactoryState,
  _swigc__p_f_p_iBase__p_iSprite2DState,
  _swigc__p_f_p_iBase__p_iSprite2DUVAnimation,
  _swigc__p_f_p_iBase__p_iSprite2DUVAnimationFrame,
  _swigc__p_f_p_iBase__p_iSprite3DFactoryState,
  _swigc__p_f_p_iBase__p_iSprite3DState,
  _swigc__p_f_p_iBase__p_iSpriteAction,
  _swigc__p_f_p_iBase__p_iSpriteCal3DFactoryState,
  _swigc__p_f_p_iBase__p_iSpriteCal3DSocket,
  _swigc__p_f_p_iBase__p_iSpriteCal3DState,
  _swigc__p_f_p_iBase__p_iSpriteFrame,
  _swigc__p_f_p_iBase__p_iSpriteSocket,
  _swigc__p_f_p_iBase__p_iStandardReporterListener,
  _swigc__p_f_p_iBase__p_iString,
  _swigc__p_f_p_iBase__p_iStringArray,
  _swigc__p_f_p_iBase__p_iStringSet,
  _swigc__p_f_p_iBase__p_iSuperLightmap,
  _swigc__p_f_p_iBase__p_iTerraFormer,
  _swigc__p_f_p_iBase__p_iTerraSampler,
  _swigc__p_f_p_iBase__p_iTerrainFactoryState,
  _swigc__p_f_p_iBase__p_iTerrainObjectState,
  _swigc__p_f_p_iBase__p_iTextureCallback,
  _swigc__p_f_p_iBase__p_iTextureHandle,
  _swigc__p_f_p_iBase__p_iTextureList,
  _swigc__p_f_p_iBase__p_iTextureManager,
  _swigc__p_f_p_iBase__p_iTextureWrapper,
  _swigc__p_f_p_iBase__p_iThingEnvironment,
  _swigc__p_f_p_iBase__p_iThingFactoryState,
  _swigc__p_f_p_iBase__p_iThingState,
  _swigc__p_f_p_iBase__p_iVFS,
  _swigc__p_f_p_iBase__p_iView,
  _swigc__p_f_p_iBase__p_iVirtualClock,
  _swigc__p_f_p_iBase__p_iVisibilityCuller,
  _swigc__p_f_p_iBase__p_iVisibilityCullerListener,
  _swigc__p_f_p_iBase__p_iVisibilityObject,
  _swigc__p_f_p_iBase__p_iVisibilityObjectIterator,
  _swigc__p_f_p_iBase__p_scfImplementation1TcsPath_iPath_t,
  _swigc__p_f_p_iMeshWrapper_p_iFrustumView_bool__void,
  _swigc__p_f_unsigned_long_int_p_iAwsSource__void,
  _swigc__p_f_unsigned_long_p_void_p_iAwsSource__void,
  _swigc__p_float,
  _swigc__p_iAnimTimeUpdateHandler,
  _swigc__p_iArrayChangeAllTcsShaderVariable_p_t,
  _swigc__p_iArrayChangeAllTcsSprite2DVertex_t,
  _swigc__p_iArrayChangeElementsTcsShaderVariable_p_t,
  _swigc__p_iArrayChangeElementsTcsSprite2DVertex_t,
  _swigc__p_iArrayReadOnlyTcsShaderVariable_p_t,
  _swigc__p_iArrayReadOnlyTcsSprite2DVertex_t,
  _swigc__p_iArrayReadOnlyTiSceneNode_p_t,
  _swigc__p_iAws,
  _swigc__p_iAwsCanvas,
  _swigc__p_iAwsComponent,
  _swigc__p_iAwsComponentFactory,
  _swigc__p_iAwsComponentNode,
  _swigc__p_iAwsConnectionKey,
  _swigc__p_iAwsConnectionNodeFactory,
  _swigc__p_iAwsFloatKey,
  _swigc__p_iAwsIntKey,
  _swigc__p_iAwsKey,
  _swigc__p_iAwsKeyContainer,
  _swigc__p_iAwsKeyFactory,
  _swigc__p_iAwsLayoutManager,
  _swigc__p_iAwsParmList,
  _swigc__p_iAwsPointKey,
  _swigc__p_iAwsPrefManager,
  _swigc__p_iAwsRGBKey,
  _swigc__p_iAwsRGBKey__RGB,
  _swigc__p_iAwsRectKey,
  _swigc__p_iAwsSink,
  _swigc__p_iAwsSinkManager,
  _swigc__p_iAwsSlot,
  _swigc__p_iAwsSource,
  _swigc__p_iAwsStringKey,
  _swigc__p_iBase,
  _swigc__p_iBaseHalo,
  _swigc__p_iBinaryLoaderPlugin,
  _swigc__p_iBodyGroup,
  _swigc__p_iCacheManager,
  _swigc__p_iCamera,
  _swigc__p_iCameraPosition,
  _swigc__p_iCameraPositionList,
  _swigc__p_iCameraSectorListener,
  _swigc__p_iClipper2D,
  _swigc__p_iCollection,
  _swigc__p_iCollectionList,
  _swigc__p_iCollideSystem,
  _swigc__p_iCollider,
  _swigc__p_iColoredVertices,
  _swigc__p_iCommandLineParser,
  _swigc__p_iComponent,
  _swigc__p_iConfigFile,
  _swigc__p_iConfigIterator,
  _swigc__p_iConfigManager,
  _swigc__p_iConsoleOutput,
  _swigc__p_iConsoleWatcher,
  _swigc__p_iCrossHalo,
  _swigc__p_iDataBuffer,
  _swigc__p_iDebugHelper,
  _swigc__p_iDocument,
  _swigc__p_iDocumentAttribute,
  _swigc__p_iDocumentAttributeIterator,
  _swigc__p_iDocumentNode,
  _swigc__p_iDocumentNodeIterator,
  _swigc__p_iDocumentSystem,
  _swigc__p_iDynamicSystem,
  _swigc__p_iDynamics,
  _swigc__p_iDynamicsColliderCollisionCallback,
  _swigc__p_iDynamicsCollisionCallback,
  _swigc__p_iDynamicsMoveCallback,
  _swigc__p_iDynamicsSystemCollider,
  _swigc__p_iEngine,
  _swigc__p_iEngineFrameCallback,
  _swigc__p_iEngineSectorCallback,
  _swigc__p_iEngineSequenceManager,
  _swigc__p_iEngineSequenceParameters,
  _swigc__p_iEvent,
  _swigc__p_iEventAttributeIterator,
  _swigc__p_iEventCord,
  _swigc__p_iEventHandler,
  _swigc__p_iEventNameRegistry,
  _swigc__p_iEventOutlet,
  _swigc__p_iEventPlug,
  _swigc__p_iEventQueue,
  _swigc__p_iFactory,
  _swigc__p_iFile,
  _swigc__p_iFlareHalo,
  _swigc__p_iFont,
  _swigc__p_iFontDeleteNotify,
  _swigc__p_iFontServer,
  _swigc__p_iFrustumView,
  _swigc__p_iFrustumViewUserdata,
  _swigc__p_iGenMeshAnimationControl,
  _swigc__p_iGenMeshAnimationControlFactory,
  _swigc__p_iGenMeshAnimationControlType,
  _swigc__p_iGenMeshSkeletonControlState,
  _swigc__p_iGeneralFactoryState,
  _swigc__p_iGeneralMeshCommonState,
  _swigc__p_iGeneralMeshState,
  _swigc__p_iGeneralMeshSubMesh,
  _swigc__p_iGraphics2D,
  _swigc__p_iGraphics3D,
  _swigc__p_iHalo,
  _swigc__p_iImage,
  _swigc__p_iImageIO,
  _swigc__p_iJoint,
  _swigc__p_iJoystickDriver,
  _swigc__p_iKeyComposer,
  _swigc__p_iKeyboardDriver,
  _swigc__p_iLODControl,
  _swigc__p_iLight,
  _swigc__p_iLightCallback,
  _swigc__p_iLightIterator,
  _swigc__p_iLightList,
  _swigc__p_iLightVisibleCallback,
  _swigc__p_iLightingInfo,
  _swigc__p_iLightingProcessData,
  _swigc__p_iLightingProcessInfo,
  _swigc__p_iLoader,
  _swigc__p_iLoaderContext,
  _swigc__p_iLoaderPlugin,
  _swigc__p_iLoaderStatus,
  _swigc__p_iMapNode,
  _swigc__p_iMaterial,
  _swigc__p_iMaterialEngine,
  _swigc__p_iMaterialList,
  _swigc__p_iMaterialWrapper,
  _swigc__p_iMeshDrawCallback,
  _swigc__p_iMeshFactoryList,
  _swigc__p_iMeshFactoryWrapper,
  _swigc__p_iMeshGenerator,
  _swigc__p_iMeshList,
  _swigc__p_iMeshObject,
  _swigc__p_iMeshObjectDrawCallback,
  _swigc__p_iMeshObjectFactory,
  _swigc__p_iMeshObjectType,
  _swigc__p_iMeshWrapper,
  _swigc__p_iMeshWrapperIterator,
  _swigc__p_iMissingLoaderData,
  _swigc__p_iMouseDriver,
  _swigc__p_iMovable,
  _swigc__p_iMovableListener,
  _swigc__p_iMovieRecorder,
  _swigc__p_iNativeWindow,
  _swigc__p_iNativeWindowManager,
  _swigc__p_iNovaHalo,
  _swigc__p_iODEAMotorJoint,
  _swigc__p_iODEBallJoint,
  _swigc__p_iODEDynamicState,
  _swigc__p_iODEDynamicSystemState,
  _swigc__p_iODEFrameUpdateCallback,
  _swigc__p_iODEGeneralJointState,
  _swigc__p_iODEHinge2Joint,
  _swigc__p_iODEHingeJoint,
  _swigc__p_iODEJointState,
  _swigc__p_iODESliderJoint,
  _swigc__p_iODEUniversalJoint,
  _swigc__p_iObject,
  _swigc__p_iObjectIterator,
  _swigc__p_iObjectModel,
  _swigc__p_iObjectModelListener,
  _swigc__p_iObjectNameChangeListener,
  _swigc__p_iObjectRegistry,
  _swigc__p_iObjectRegistryIterator,
  _swigc__p_iOffscreenCanvasCallback,
  _swigc__p_iParameterESM,
  _swigc__p_iParticleBuiltinEffectorFactory,
  _swigc__p_iParticleBuiltinEffectorForce,
  _swigc__p_iParticleBuiltinEffectorLinColor,
  _swigc__p_iParticleBuiltinEffectorVelocityField,
  _swigc__p_iParticleBuiltinEmitterBase,
  _swigc__p_iParticleBuiltinEmitterBox,
  _swigc__p_iParticleBuiltinEmitterCone,
  _swigc__p_iParticleBuiltinEmitterCylinder,
  _swigc__p_iParticleBuiltinEmitterFactory,
  _swigc__p_iParticleBuiltinEmitterSphere,
  _swigc__p_iParticleEffector,
  _swigc__p_iParticleEmitter,
  _swigc__p_iParticleSystem,
  _swigc__p_iParticleSystemBase,
  _swigc__p_iParticleSystemFactory,
  _swigc__p_iPath,
  _swigc__p_iPluginIterator,
  _swigc__p_iPluginManager,
  _swigc__p_iPolygonHandle,
  _swigc__p_iPolygonMesh,
  _swigc__p_iPortal,
  _swigc__p_iPortalCallback,
  _swigc__p_iPortalContainer,
  _swigc__p_iProgressMeter,
  _swigc__p_iRegion,
  _swigc__p_iRegionList,
  _swigc__p_iRenderBuffer,
  _swigc__p_iRenderLoop,
  _swigc__p_iRenderLoopManager,
  _swigc__p_iRenderView,
  _swigc__p_iRendererLightmap,
  _swigc__p_iReporter,
  _swigc__p_iReporterIterator,
  _swigc__p_iReporterListener,
  _swigc__p_iRigidBody,
  _swigc__p_iSCF,
  _swigc__p_iSaver,
  _swigc__p_iSceneNode,
  _swigc__p_iSceneNodeArray,
  _swigc__p_iScript,
  _swigc__p_iScriptObject,
  _swigc__p_iSector,
  _swigc__p_iSectorCallback,
  _swigc__p_iSectorIterator,
  _swigc__p_iSectorList,
  _swigc__p_iSectorMeshCallback,
  _swigc__p_iSequence,
  _swigc__p_iSequenceManager,
  _swigc__p_iSequenceTimedOperation,
  _swigc__p_iSequenceTrigger,
  _swigc__p_iSequenceWrapper,
  _swigc__p_iShader,
  _swigc__p_iShaderCompiler,
  _swigc__p_iShaderManager,
  _swigc__p_iShaderPriorityList,
  _swigc__p_iShaderVarStack,
  _swigc__p_iShaderVariableAccessor,
  _swigc__p_iShaderVariableContext,
  _swigc__p_iShadowBlockList,
  _swigc__p_iShadowCaster,
  _swigc__p_iShadowReceiver,
  _swigc__p_iSharedVariable,
  _swigc__p_iSharedVariableList,
  _swigc__p_iSimpleFormerState,
  _swigc__p_iSkeleton,
  _swigc__p_iSkeletonBone,
  _swigc__p_iSkeletonBoneFactory,
  _swigc__p_iSkeletonBoneRagdollInfo,
  _swigc__p_iSkeletonBoneUpdateCallback,
  _swigc__p_iSkeletonFactory,
  _swigc__p_iSkeletonGraveyard,
  _swigc__p_iSkeletonScript,
  _swigc__p_iSkeletonScriptCallback,
  _swigc__p_iSkeletonScriptKeyFrame,
  _swigc__p_iSkeletonSocket,
  _swigc__p_iSkeletonSocketFactory,
  _swigc__p_iSkeletonUpdateCallback,
  _swigc__p_iSndSysData,
  _swigc__p_iSndSysListener,
  _swigc__p_iSndSysLoader,
  _swigc__p_iSndSysManager,
  _swigc__p_iSndSysRenderer,
  _swigc__p_iSndSysRendererCallback,
  _swigc__p_iSndSysRendererSoftware,
  _swigc__p_iSndSysSoftwareDriver,
  _swigc__p_iSndSysSoftwareFilter3D,
  _swigc__p_iSndSysSoftwareFilter3DProperties,
  _swigc__p_iSndSysSoftwareOutputFilter,
  _swigc__p_iSndSysSource,
  _swigc__p_iSndSysSourceSoftware,
  _swigc__p_iSndSysSourceSoftware3D,
  _swigc__p_iSndSysStream,
  _swigc__p_iSndSysStreamCallback,
  _swigc__p_iSndSysWrapper,
  _swigc__p_iSprite2DFactoryState,
  _swigc__p_iSprite2DState,
  _swigc__p_iSprite2DUVAnimation,
  _swigc__p_iSprite2DUVAnimationFrame,
  _swigc__p_iSprite3DFactoryState,
  _swigc__p_iSprite3DState,
  _swigc__p_iSpriteAction,
  _swigc__p_iSpriteCal3DFactoryState,
  _swigc__p_iSpriteCal3DSocket,
  _swigc__p_iSpriteCal3DState,
  _swigc__p_iSpriteFrame,
  _swigc__p_iSpriteSocket,
  _swigc__p_iStandardReporterListener,
  _swigc__p_iStreamSource,
  _swigc__p_iString,
  _swigc__p_iStringArray,
  _swigc__p_iStringSet,
  _swigc__p_iSuperLightmap,
  _swigc__p_iTerraFormer,
  _swigc__p_iTerraSampler,
  _swigc__p_iTerrainFactoryState,
  _swigc__p_iTerrainObjectState,
  _swigc__p_iTextureCallback,
  _swigc__p_iTextureHandle,
  _swigc__p_iTextureList,
  _swigc__p_iTextureManager,
  _swigc__p_iTextureWrapper,
  _swigc__p_iThingEnvironment,
  _swigc__p_iThingFactoryState,
  _swigc__p_iThingState,
  _swigc__p_iVFS,
  _swigc__p_iVerbosityManager,
  _swigc__p_iView,
  _swigc__p_iVirtualClock,
  _swigc__p_iVisibilityCuller,
  _swigc__p_iVisibilityCullerListener,
  _swigc__p_iVisibilityObject,
  _swigc__p_iVisibilityObjectIterator,
  _swigc__p_int,
  _swigc__p_int16_t,
  _swigc__p_int32_t,
  _swigc__p_int64_t,
  _swigc__p_int8_t,
  _swigc__p_int_least64_t,
  _swigc__p_p_char,
  _swigc__p_p_csImageIOFileFormatDescription,
  _swigc__p_p_csOrthoTransform,
  _swigc__p_p_csPath,
  _swigc__p_p_csRenderMesh,
  _swigc__p_p_csReversibleTransform,
  _swigc__p_p_csShaderVariable,
  _swigc__p_p_csVector3,
  _swigc__p_p_iAnimTimeUpdateHandler,
  _swigc__p_p_iArrayChangeAllTcsShaderVariable_p_t,
  _swigc__p_p_iArrayChangeAllTcsSprite2DVertex_t,
  _swigc__p_p_iArrayChangeElementsTcsShaderVariable_p_t,
  _swigc__p_p_iArrayChangeElementsTcsSprite2DVertex_t,
  _swigc__p_p_iArrayReadOnlyTcsShaderVariable_p_t,
  _swigc__p_p_iArrayReadOnlyTcsSprite2DVertex_t,
  _swigc__p_p_iArrayReadOnlyTiSceneNode_p_t,
  _swigc__p_p_iAws,
  _swigc__p_p_iAwsComponent,
  _swigc__p_p_iAwsComponentFactory,
  _swigc__p_p_iAwsComponentNode,
  _swigc__p_p_iAwsConnectionKey,
  _swigc__p_p_iAwsConnectionNodeFactory,
  _swigc__p_p_iAwsFloatKey,
  _swigc__p_p_iAwsIntKey,
  _swigc__p_p_iAwsKey,
  _swigc__p_p_iAwsKeyContainer,
  _swigc__p_p_iAwsKeyFactory,
  _swigc__p_p_iAwsLayoutManager,
  _swigc__p_p_iAwsPointKey,
  _swigc__p_p_iAwsPrefManager,
  _swigc__p_p_iAwsRGBKey,
  _swigc__p_p_iAwsRectKey,
  _swigc__p_p_iAwsSink,
  _swigc__p_p_iAwsSinkManager,
  _swigc__p_p_iAwsSlot,
  _swigc__p_p_iAwsSource,
  _swigc__p_p_iAwsStringKey,
  _swigc__p_p_iBase,
  _swigc__p_p_iBinaryLoaderPlugin,
  _swigc__p_p_iBodyGroup,
  _swigc__p_p_iCacheManager,
  _swigc__p_p_iCamera,
  _swigc__p_p_iCameraPosition,
  _swigc__p_p_iCameraPositionList,
  _swigc__p_p_iCameraSectorListener,
  _swigc__p_p_iClipper2D,
  _swigc__p_p_iCollideSystem,
  _swigc__p_p_iCollider,
  _swigc__p_p_iColoredVertices,
  _swigc__p_p_iCommandLineParser,
  _swigc__p_p_iComponent,
  _swigc__p_p_iConfigFile,
  _swigc__p_p_iConfigIterator,
  _swigc__p_p_iConfigManager,
  _swigc__p_p_iConsoleOutput,
  _swigc__p_p_iConsoleWatcher,
  _swigc__p_p_iDataBuffer,
  _swigc__p_p_iDebugHelper,
  _swigc__p_p_iDocument,
  _swigc__p_p_iDocumentAttribute,
  _swigc__p_p_iDocumentAttributeIterator,
  _swigc__p_p_iDocumentNode,
  _swigc__p_p_iDocumentNodeIterator,
  _swigc__p_p_iDocumentSystem,
  _swigc__p_p_iDynamicSystem,
  _swigc__p_p_iDynamics,
  _swigc__p_p_iDynamicsColliderCollisionCallback,
  _swigc__p_p_iDynamicsCollisionCallback,
  _swigc__p_p_iDynamicsMoveCallback,
  _swigc__p_p_iDynamicsSystemCollider,
  _swigc__p_p_iEngine,
  _swigc__p_p_iEngineFrameCallback,
  _swigc__p_p_iEngineSectorCallback,
  _swigc__p_p_iEngineSequenceManager,
  _swigc__p_p_iEngineSequenceParameters,
  _swigc__p_p_iEvent,
  _swigc__p_p_iEventAttributeIterator,
  _swigc__p_p_iEventCord,
  _swigc__p_p_iEventHandler,
  _swigc__p_p_iEventNameRegistry,
  _swigc__p_p_iEventOutlet,
  _swigc__p_p_iEventPlug,
  _swigc__p_p_iEventQueue,
  _swigc__p_p_iFactory,
  _swigc__p_p_iFile,
  _swigc__p_p_iFont,
  _swigc__p_p_iFontDeleteNotify,
  _swigc__p_p_iFontServer,
  _swigc__p_p_iFrustumView,
  _swigc__p_p_iFrustumViewUserdata,
  _swigc__p_p_iGenMeshAnimationControl,
  _swigc__p_p_iGenMeshAnimationControlFactory,
  _swigc__p_p_iGenMeshAnimationControlType,
  _swigc__p_p_iGenMeshSkeletonControlState,
  _swigc__p_p_iGeneralFactoryState,
  _swigc__p_p_iGeneralMeshCommonState,
  _swigc__p_p_iGeneralMeshState,
  _swigc__p_p_iGeneralMeshSubMesh,
  _swigc__p_p_iGraphics2D,
  _swigc__p_p_iGraphics3D,
  _swigc__p_p_iHalo,
  _swigc__p_p_iImage,
  _swigc__p_p_iImageIO,
  _swigc__p_p_iJoint,
  _swigc__p_p_iJoystickDriver,
  _swigc__p_p_iKeyComposer,
  _swigc__p_p_iKeyboardDriver,
  _swigc__p_p_iLight,
  _swigc__p_p_iLightCallback,
  _swigc__p_p_iLightIterator,
  _swigc__p_p_iLightList,
  _swigc__p_p_iLightVisibleCallback,
  _swigc__p_p_iLightingProcessData,
  _swigc__p_p_iLightingProcessInfo,
  _swigc__p_p_iLoader,
  _swigc__p_p_iLoaderPlugin,
  _swigc__p_p_iLoaderStatus,
  _swigc__p_p_iMapNode,
  _swigc__p_p_iMaterial,
  _swigc__p_p_iMaterialEngine,
  _swigc__p_p_iMaterialList,
  _swigc__p_p_iMaterialWrapper,
  _swigc__p_p_iMeshDrawCallback,
  _swigc__p_p_iMeshFactoryList,
  _swigc__p_p_iMeshFactoryWrapper,
  _swigc__p_p_iMeshList,
  _swigc__p_p_iMeshObject,
  _swigc__p_p_iMeshObjectDrawCallback,
  _swigc__p_p_iMeshObjectFactory,
  _swigc__p_p_iMeshObjectType,
  _swigc__p_p_iMeshWrapper,
  _swigc__p_p_iMeshWrapperIterator,
  _swigc__p_p_iMissingLoaderData,
  _swigc__p_p_iMouseDriver,
  _swigc__p_p_iMovable,
  _swigc__p_p_iMovableListener,
  _swigc__p_p_iMovieRecorder,
  _swigc__p_p_iNativeWindow,
  _swigc__p_p_iNativeWindowManager,
  _swigc__p_p_iODEAMotorJoint,
  _swigc__p_p_iODEBallJoint,
  _swigc__p_p_iODEDynamicState,
  _swigc__p_p_iODEDynamicSystemState,
  _swigc__p_p_iODEFrameUpdateCallback,
  _swigc__p_p_iODEGeneralJointState,
  _swigc__p_p_iODEHinge2Joint,
  _swigc__p_p_iODEHingeJoint,
  _swigc__p_p_iODEJointState,
  _swigc__p_p_iODESliderJoint,
  _swigc__p_p_iODEUniversalJoint,
  _swigc__p_p_iObject,
  _swigc__p_p_iObjectIterator,
  _swigc__p_p_iObjectModel,
  _swigc__p_p_iObjectModelListener,
  _swigc__p_p_iObjectNameChangeListener,
  _swigc__p_p_iObjectRegistry,
  _swigc__p_p_iObjectRegistryIterator,
  _swigc__p_p_iOffscreenCanvasCallback,
  _swigc__p_p_iParameterESM,
  _swigc__p_p_iParticleBuiltinEffectorFactory,
  _swigc__p_p_iParticleBuiltinEffectorForce,
  _swigc__p_p_iParticleBuiltinEffectorLinColor,
  _swigc__p_p_iParticleBuiltinEffectorVelocityField,
  _swigc__p_p_iParticleBuiltinEmitterBase,
  _swigc__p_p_iParticleBuiltinEmitterBox,
  _swigc__p_p_iParticleBuiltinEmitterCone,
  _swigc__p_p_iParticleBuiltinEmitterCylinder,
  _swigc__p_p_iParticleBuiltinEmitterFactory,
  _swigc__p_p_iParticleBuiltinEmitterSphere,
  _swigc__p_p_iParticleEffector,
  _swigc__p_p_iParticleEmitter,
  _swigc__p_p_iParticleSystem,
  _swigc__p_p_iParticleSystemBase,
  _swigc__p_p_iParticleSystemFactory,
  _swigc__p_p_iPath,
  _swigc__p_p_iPluginIterator,
  _swigc__p_p_iPluginManager,
  _swigc__p_p_iPolygonHandle,
  _swigc__p_p_iPolygonMesh,
  _swigc__p_p_iPortal,
  _swigc__p_p_iPortalCallback,
  _swigc__p_p_iPortalContainer,
  _swigc__p_p_iRegion,
  _swigc__p_p_iRegionList,
  _swigc__p_p_iRenderBuffer,
  _swigc__p_p_iRendererLightmap,
  _swigc__p_p_iReporter,
  _swigc__p_p_iReporterIterator,
  _swigc__p_p_iReporterListener,
  _swigc__p_p_iRigidBody,
  _swigc__p_p_iSCF,
  _swigc__p_p_iSaver,
  _swigc__p_p_iSceneNode,
  _swigc__p_p_iSceneNodeArray,
  _swigc__p_p_iScript,
  _swigc__p_p_iScriptObject,
  _swigc__p_p_iSector,
  _swigc__p_p_iSectorCallback,
  _swigc__p_p_iSectorIterator,
  _swigc__p_p_iSectorList,
  _swigc__p_p_iSectorMeshCallback,
  _swigc__p_p_iSequenceTimedOperation,
  _swigc__p_p_iSequenceTrigger,
  _swigc__p_p_iSequenceWrapper,
  _swigc__p_p_iShader,
  _swigc__p_p_iShaderCompiler,
  _swigc__p_p_iShaderManager,
  _swigc__p_p_iShaderPriorityList,
  _swigc__p_p_iShaderVarStack,
  _swigc__p_p_iShaderVariableAccessor,
  _swigc__p_p_iShaderVariableContext,
  _swigc__p_p_iSimpleFormerState,
  _swigc__p_p_iSkeleton,
  _swigc__p_p_iSkeletonBone,
  _swigc__p_p_iSkeletonBoneFactory,
  _swigc__p_p_iSkeletonBoneRagdollInfo,
  _swigc__p_p_iSkeletonBoneUpdateCallback,
  _swigc__p_p_iSkeletonFactory,
  _swigc__p_p_iSkeletonGraveyard,
  _swigc__p_p_iSkeletonScript,
  _swigc__p_p_iSkeletonScriptCallback,
  _swigc__p_p_iSkeletonScriptKeyFrame,
  _swigc__p_p_iSkeletonSocket,
  _swigc__p_p_iSkeletonSocketFactory,
  _swigc__p_p_iSkeletonUpdateCallback,
  _swigc__p_p_iSndSysData,
  _swigc__p_p_iSndSysListener,
  _swigc__p_p_iSndSysLoader,
  _swigc__p_p_iSndSysManager,
  _swigc__p_p_iSndSysRenderer,
  _swigc__p_p_iSndSysRendererCallback,
  _swigc__p_p_iSndSysRendererSoftware,
  _swigc__p_p_iSndSysSoftwareDriver,
  _swigc__p_p_iSndSysSoftwareFilter3D,
  _swigc__p_p_iSndSysSoftwareOutputFilter,
  _swigc__p_p_iSndSysSource,
  _swigc__p_p_iSndSysSourceSoftware,
  _swigc__p_p_iSndSysSourceSoftware3D,
  _swigc__p_p_iSndSysStream,
  _swigc__p_p_iSndSysStreamCallback,
  _swigc__p_p_iSndSysWrapper,
  _swigc__p_p_iSprite2DFactoryState,
  _swigc__p_p_iSprite2DState,
  _swigc__p_p_iSprite2DUVAnimation,
  _swigc__p_p_iSprite2DUVAnimationFrame,
  _swigc__p_p_iSprite3DFactoryState,
  _swigc__p_p_iSprite3DState,
  _swigc__p_p_iSpriteAction,
  _swigc__p_p_iSpriteCal3DFactoryState,
  _swigc__p_p_iSpriteCal3DSocket,
  _swigc__p_p_iSpriteCal3DState,
  _swigc__p_p_iSpriteFrame,
  _swigc__p_p_iSpriteSocket,
  _swigc__p_p_iStandardReporterListener,
  _swigc__p_p_iString,
  _swigc__p_p_iStringArray,
  _swigc__p_p_iStringSet,
  _swigc__p_p_iSuperLightmap,
  _swigc__p_p_iTerraFormer,
  _swigc__p_p_iTerraSampler,
  _swigc__p_p_iTerrainFactoryState,
  _swigc__p_p_iTerrainObjectState,
  _swigc__p_p_iTextureCallback,
  _swigc__p_p_iTextureHandle,
  _swigc__p_p_iTextureList,
  _swigc__p_p_iTextureManager,
  _swigc__p_p_iTextureWrapper,
  _swigc__p_p_iThingEnvironment,
  _swigc__p_p_iThingFactoryState,
  _swigc__p_p_iThingState,
  _swigc__p_p_iVFS,
  _swigc__p_p_iView,
  _swigc__p_p_iVirtualClock,
  _swigc__p_p_iVisibilityCuller,
  _swigc__p_p_iVisibilityCullerListener,
  _swigc__p_p_iVisibilityObject,
  _swigc__p_p_iVisibilityObjectIterator,
  _swigc__p_p_scfImplementation1TcsPath_iPath_t,
  _swigc__p_p_void,
  _swigc__p_scfImplementation1TcsPath_iPath_t,
  _swigc__p_size_t,
  _swigc__p_uint16_t,
  _swigc__p_uint32_t,
  _swigc__p_uint64_t,
  _swigc__p_uint8_t,
  _swigc__p_uint_least64_t,
  _swigc__p_unsigned_char,
  _swigc__p_unsigned_int,
  _swigc__p_unsigned_long,
  _swigc__p_utf32_char,
  _swigc__p_void,
  _swigc__p_wchar_t,
};


/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */

static swig_constant_info swig_constants[] = {
{0,0,0,0,0,0}
};
#ifdef __cplusplus
}
#endif
static swig_variable_info swig_variables[] = {
    { "cspacec::csArrayItemNotFound", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_csArrayItemNotFound_get,0 },
    { "cspacec::iSCF_SCF", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_iSCF_SCF_get,&SWIGTYPE_p_iSCF },
    { "cspacec::aws_debug", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_aws_debug_get,0 },
    { "cspacec::AWSF_AlwaysEraseWindows", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_AWSF_AlwaysEraseWindows_get,0 },
    { "cspacec::AWSF_AlwaysRedrawWindows", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_AWSF_AlwaysRedrawWindows_get,0 },
    { "cspacec::AWSF_RaiseOnMouseOver", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_AWSF_RaiseOnMouseOver_get,0 },
    { "cspacec::AWSF_KeyboardControl", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_AWSF_KeyboardControl_get,0 },
    { "cspacec::CS_SNDSYS_STREAM_UNKNOWN_LENGTH", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_CS_SNDSYS_STREAM_UNKNOWN_LENGTH_get,0 },
    { "cspacec::csInvalidStringID", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_csInvalidStringID_get,0 },
{0,0,0,0}
};
static swig_command_info swig_commands[] = {
{"cspacec::csWrapPtr_Ref_set", _wrap_csWrapPtr_Ref_set},
{"cspacec::csWrapPtr_Ref_get", _wrap_csWrapPtr_Ref_get},
{"cspacec::csWrapPtr_Type_get", _wrap_csWrapPtr_Type_get},
{"cspacec::csWrapPtr_Version_set", _wrap_csWrapPtr_Version_set},
{"cspacec::csWrapPtr_Version_get", _wrap_csWrapPtr_Version_get},
{"cspacec::new_csWrapPtr", _wrap_new_csWrapPtr},
{"cspacec::delete_csWrapPtr", _wrap_delete_csWrapPtr},
{"cspacec::new_csArrayThresholdVariable", _wrap_new_csArrayThresholdVariable},
{"cspacec::csArrayThresholdVariable_GetThreshold", _wrap_csArrayThresholdVariable_GetThreshold},
{"cspacec::delete_csArrayThresholdVariable", _wrap_delete_csArrayThresholdVariable},
{"cspacec::new_csArrayThresholdVariableCapacityLinear", _wrap_new_csArrayThresholdVariableCapacityLinear},
{"cspacec::csArrayThresholdVariableCapacityLinear_IsCapacityExcessive", _wrap_csArrayThresholdVariableCapacityLinear_IsCapacityExcessive},
{"cspacec::csArrayThresholdVariableCapacityLinear_GetCapacity", _wrap_csArrayThresholdVariableCapacityLinear_GetCapacity},
{"cspacec::delete_csArrayThresholdVariableCapacityLinear", _wrap_delete_csArrayThresholdVariableCapacityLinear},
{"cspacec::new_csArrayCapacityDefault", _wrap_new_csArrayCapacityDefault},
{"cspacec::delete_csArrayCapacityDefault", _wrap_delete_csArrayCapacityDefault},
{"cspacec::scfCompatibleVersion", _wrap_scfCompatibleVersion},
{"cspacec::iBase_IncRef", _wrap_iBase_IncRef},
{"cspacec::iBase_DecRef", _wrap_iBase_DecRef},
{"cspacec::iBase_GetRefCount", _wrap_iBase_GetRefCount},
{"cspacec::iBase_QueryInterface", _wrap_iBase_QueryInterface},
{"cspacec::iBase_AddRefOwner", _wrap_iBase_AddRefOwner},
{"cspacec::iBase_RemoveRefOwner", _wrap_iBase_RemoveRefOwner},
{"cspacec::iBase_scfGetVersion", _wrap_iBase_scfGetVersion},
{"cspacec::iSCF_RegisterClasses", _wrap_iSCF_RegisterClasses},
{"cspacec::iSCF_ClassRegistered", _wrap_iSCF_ClassRegistered},
{"cspacec::iSCF_CreateInstance", _wrap_iSCF_CreateInstance},
{"cspacec::iSCF_GetClassDescription", _wrap_iSCF_GetClassDescription},
{"cspacec::iSCF_GetClassDependencies", _wrap_iSCF_GetClassDependencies},
{"cspacec::iSCF_GetPluginMetadata", _wrap_iSCF_GetPluginMetadata},
{"cspacec::iSCF_UnloadUnusedModules", _wrap_iSCF_UnloadUnusedModules},
{"cspacec::iSCF_RegisterClass", _wrap_iSCF_RegisterClass},
{"cspacec::iSCF_RegisterFactoryFunc", _wrap_iSCF_RegisterFactoryFunc},
{"cspacec::iSCF_UnregisterClass", _wrap_iSCF_UnregisterClass},
{"cspacec::iSCF_GetInterfaceName", _wrap_iSCF_GetInterfaceName},
{"cspacec::iSCF_GetInterfaceID", _wrap_iSCF_GetInterfaceID},
{"cspacec::iSCF_Finish", _wrap_iSCF_Finish},
{"cspacec::iSCF_QueryClassList", _wrap_iSCF_QueryClassList},
{"cspacec::iSCF_ScanPluginsPath", _wrap_iSCF_ScanPluginsPath},
{"cspacec::iSCF_RegisterPlugin", _wrap_iSCF_RegisterPlugin},
{"cspacec::delete_iSCF", _wrap_delete_iSCF},
{"cspacec::iSCF_scfGetVersion", _wrap_iSCF_scfGetVersion},
{"cspacec::iFactory_CreateInstance", _wrap_iFactory_CreateInstance},
{"cspacec::iFactory_TryUnload", _wrap_iFactory_TryUnload},
{"cspacec::iFactory_QueryDescription", _wrap_iFactory_QueryDescription},
{"cspacec::iFactory_QueryDependencies", _wrap_iFactory_QueryDependencies},
{"cspacec::iFactory_QueryClassID", _wrap_iFactory_QueryClassID},
{"cspacec::iFactory_QueryModuleName", _wrap_iFactory_QueryModuleName},
{"cspacec::delete_iFactory", _wrap_delete_iFactory},
{"cspacec::iFactory_scfGetVersion", _wrap_iFactory_scfGetVersion},
{"cspacec::scfRegisterStaticClass", _wrap_scfRegisterStaticClass},
{"cspacec::scfRegisterStaticClasses", _wrap_scfRegisterStaticClasses},
{"cspacec::scfRegisterStaticFactoryFunc", _wrap_scfRegisterStaticFactoryFunc},
{"cspacec::iDebugHelper_GetSupportedTests", _wrap_iDebugHelper_GetSupportedTests},
{"cspacec::iDebugHelper_UnitTest", _wrap_iDebugHelper_UnitTest},
{"cspacec::iDebugHelper_StateTest", _wrap_iDebugHelper_StateTest},
{"cspacec::iDebugHelper_Benchmark", _wrap_iDebugHelper_Benchmark},
{"cspacec::iDebugHelper_Dump", _wrap_iDebugHelper_Dump},
{"cspacec::iDebugHelper_DebugCommand", _wrap_iDebugHelper_DebugCommand},
{"cspacec::delete_iDebugHelper", _wrap_delete_iDebugHelper},
{"cspacec::iDebugHelper_scfGetVersion", _wrap_iDebugHelper_scfGetVersion},
{"cspacec::iCommandLineParser_Initialize", _wrap_iCommandLineParser_Initialize},
{"cspacec::iCommandLineParser_Reset", _wrap_iCommandLineParser_Reset},
{"cspacec::iCommandLineParser_GetOption", _wrap_iCommandLineParser_GetOption},
{"cspacec::iCommandLineParser_GetName", _wrap_iCommandLineParser_GetName},
{"cspacec::iCommandLineParser_AddOption", _wrap_iCommandLineParser_AddOption},
{"cspacec::iCommandLineParser_AddName", _wrap_iCommandLineParser_AddName},
{"cspacec::iCommandLineParser_ReplaceOption", _wrap_iCommandLineParser_ReplaceOption},
{"cspacec::iCommandLineParser_ReplaceName", _wrap_iCommandLineParser_ReplaceName},
{"cspacec::iCommandLineParser_GetBoolOption", _wrap_iCommandLineParser_GetBoolOption},
{"cspacec::iCommandLineParser_GetResourceDir", _wrap_iCommandLineParser_GetResourceDir},
{"cspacec::iCommandLineParser_GetAppDir", _wrap_iCommandLineParser_GetAppDir},
{"cspacec::iCommandLineParser_GetAppPath", _wrap_iCommandLineParser_GetAppPath},
{"cspacec::iCommandLineParser_GetOptionName", _wrap_iCommandLineParser_GetOptionName},
{"cspacec::delete_iCommandLineParser", _wrap_delete_iCommandLineParser},
{"cspacec::iCommandLineParser_scfGetVersion", _wrap_iCommandLineParser_scfGetVersion},
{"cspacec::csColor_red_set", _wrap_csColor_red_set},
{"cspacec::csColor_red_get", _wrap_csColor_red_get},
{"cspacec::csColor_green_set", _wrap_csColor_green_set},
{"cspacec::csColor_green_get", _wrap_csColor_green_get},
{"cspacec::csColor_blue_set", _wrap_csColor_blue_set},
{"cspacec::csColor_blue_get", _wrap_csColor_blue_get},
{"cspacec::new_csColor", _wrap_new_csColor},
{"cspacec::csColor_Set", _wrap_csColor_Set},
{"cspacec::csColor_Clamp", _wrap_csColor_Clamp},
{"cspacec::csColor_ClampDown", _wrap_csColor_ClampDown},
{"cspacec::csColor___copy__", _wrap_csColor___copy__},
{"cspacec::csColor___add_ass__", _wrap_csColor___add_ass__},
{"cspacec::csColor___subtr_ass__", _wrap_csColor___subtr_ass__},
{"cspacec::csColor___mult_ass__", _wrap_csColor___mult_ass__},
{"cspacec::csColor___mul__", _wrap_csColor___mul__},
{"cspacec::csColor___eq__", _wrap_csColor___eq__},
{"cspacec::csColor___ne__", _wrap_csColor___ne__},
{"cspacec::csColor_Add", _wrap_csColor_Add},
{"cspacec::csColor_Subtract", _wrap_csColor_Subtract},
{"cspacec::csColor___add__", _wrap_csColor___add__},
{"cspacec::csColor___sub__", _wrap_csColor___sub__},
{"cspacec::delete_csColor", _wrap_delete_csColor},
{"cspacec::csColor4_alpha_set", _wrap_csColor4_alpha_set},
{"cspacec::csColor4_alpha_get", _wrap_csColor4_alpha_get},
{"cspacec::new_csColor4", _wrap_new_csColor4},
{"cspacec::csColor4_Set", _wrap_csColor4_Set},
{"cspacec::csColor4___copy__", _wrap_csColor4___copy__},
{"cspacec::csColor4___mult_ass__", _wrap_csColor4___mult_ass__},
{"cspacec::csColor4___add_ass__", _wrap_csColor4___add_ass__},
{"cspacec::csColor4___subtr_ass__", _wrap_csColor4___subtr_ass__},
{"cspacec::csColor4___eq__", _wrap_csColor4___eq__},
{"cspacec::csColor4___ne__", _wrap_csColor4___ne__},
{"cspacec::delete_csColor4", _wrap_delete_csColor4},
{"cspacec::csCommandLineHelper_Help", _wrap_csCommandLineHelper_Help},
{"cspacec::csCommandLineHelper_CheckHelp", _wrap_csCommandLineHelper_CheckHelp},
{"cspacec::new_csCommandLineHelper", _wrap_new_csCommandLineHelper},
{"cspacec::delete_csCommandLineHelper", _wrap_delete_csCommandLineHelper},
{"cspacec::new_csStringSet", _wrap_new_csStringSet},
{"cspacec::delete_csStringSet", _wrap_delete_csStringSet},
{"cspacec::csStringSet___copy__", _wrap_csStringSet___copy__},
{"cspacec::csStringSet_Request", _wrap_csStringSet_Request},
{"cspacec::csStringSet_Contains", _wrap_csStringSet_Contains},
{"cspacec::csStringSet_Delete", _wrap_csStringSet_Delete},
{"cspacec::csStringSet_Empty", _wrap_csStringSet_Empty},
{"cspacec::csStringSet_Clear", _wrap_csStringSet_Clear},
{"cspacec::csStringSet_GetSize", _wrap_csStringSet_GetSize},
{"cspacec::csStringSet_IsEmpty", _wrap_csStringSet_IsEmpty},
{"cspacec::new_csStringIDSet", _wrap_new_csStringIDSet},
{"cspacec::csStringIDSet_Add", _wrap_csStringIDSet_Add},
{"cspacec::csStringIDSet_AddNoTest", _wrap_csStringIDSet_AddNoTest},
{"cspacec::csStringIDSet_Contains", _wrap_csStringIDSet_Contains},
{"cspacec::csStringIDSet_In", _wrap_csStringIDSet_In},
{"cspacec::csStringIDSet_DeleteAll", _wrap_csStringIDSet_DeleteAll},
{"cspacec::csStringIDSet_Empty", _wrap_csStringIDSet_Empty},
{"cspacec::csStringIDSet_Delete", _wrap_csStringIDSet_Delete},
{"cspacec::csStringIDSet_GetSize", _wrap_csStringIDSet_GetSize},
{"cspacec::csStringIDSet_IsEmpty", _wrap_csStringIDSet_IsEmpty},
{"cspacec::delete_csStringIDSet", _wrap_delete_csStringIDSet},
{"cspacec::iString_GetData", _wrap_iString_GetData},
{"cspacec::iString___ne__", _wrap_iString___ne__},
{"cspacec::delete_iString", _wrap_delete_iString},
{"cspacec::iString_scfGetVersion", _wrap_iString_scfGetVersion},
{"cspacec::iString___seq__", _wrap_iString___seq__},
{"cspacec::iString___string__", _wrap_iString___string__},
{"cspacec::iString___sv__", _wrap_iString___sv__},
{"cspacec::iString___av__", _wrap_iString___av__},
{"cspacec::iString_length", _wrap_iString_length},
{"cspacec::iString___add__", _wrap_iString___add__},
{"cspacec::iString___concat__", _wrap_iString___concat__},
{"cspacec::iString___concat_ass__", _wrap_iString___concat_ass__},
{"cspacec::new_csString", _wrap_new_csString},
{"cspacec::csString___eq__", _wrap_csString___eq__},
{"cspacec::csString___seq__", _wrap_csString___seq__},
{"cspacec::csString___string__", _wrap_csString___string__},
{"cspacec::csString___sv__", _wrap_csString___sv__},
{"cspacec::csString___av__", _wrap_csString___av__},
{"cspacec::csString_length", _wrap_csString_length},
{"cspacec::csString___add__", _wrap_csString___add__},
{"cspacec::csString___concat__", _wrap_csString___concat__},
{"cspacec::csString___concat_ass__", _wrap_csString___concat_ass__},
{"cspacec::delete_csString", _wrap_delete_csString},
{"cspacec::new_csRefCount", _wrap_new_csRefCount},
{"cspacec::csRefCount_IncRef", _wrap_csRefCount_IncRef},
{"cspacec::csRefCount_DecRef", _wrap_csRefCount_DecRef},
{"cspacec::csRefCount_GetRefCount", _wrap_csRefCount_GetRefCount},
{"cspacec::csVector2_x_set", _wrap_csVector2_x_set},
{"cspacec::csVector2_x_get", _wrap_csVector2_x_get},
{"cspacec::csVector2_y_set", _wrap_csVector2_y_set},
{"cspacec::csVector2_y_get", _wrap_csVector2_y_get},
{"cspacec::new_csVector2", _wrap_new_csVector2},
{"cspacec::csVector2_Description", _wrap_csVector2_Description},
{"cspacec::csVector2_Set", _wrap_csVector2_Set},
{"cspacec::csVector2_Get", _wrap_csVector2_Get},
{"cspacec::csVector2_Norm", _wrap_csVector2_Norm},
{"cspacec::csVector2_SquaredNorm", _wrap_csVector2_SquaredNorm},
{"cspacec::csVector2_Rotate", _wrap_csVector2_Rotate},
{"cspacec::csVector2_IsLeft", _wrap_csVector2_IsLeft},
{"cspacec::csVector2___add_ass__", _wrap_csVector2___add_ass__},
{"cspacec::csVector2___subtr_ass__", _wrap_csVector2___subtr_ass__},
{"cspacec::csVector2___mult_ass__", _wrap_csVector2___mult_ass__},
{"cspacec::csVector2___divide_ass__", _wrap_csVector2___divide_ass__},
{"cspacec::csVector2___neg__", _wrap_csVector2___neg__},
{"cspacec::csVector2___add__", _wrap_csVector2___add__},
{"cspacec::csVector2___sub__", _wrap_csVector2___sub__},
{"cspacec::csVector2___mul__", _wrap_csVector2___mul__},
{"cspacec::csVector2___div__", _wrap_csVector2___div__},
{"cspacec::csVector2___eq__", _wrap_csVector2___eq__},
{"cspacec::csVector2___ne__", _wrap_csVector2___ne__},
{"cspacec::csVector2___lt__", _wrap_csVector2___lt__},
{"cspacec::csVector2___gt__", _wrap_csVector2___gt__},
{"cspacec::csVector2___abs__", _wrap_csVector2___abs__},
{"cspacec::csVector2___av__", _wrap_csVector2___av__},
{"cspacec::delete_csVector2", _wrap_delete_csVector2},
{"cspacec::csVector3_x_set", _wrap_csVector3_x_set},
{"cspacec::csVector3_x_get", _wrap_csVector3_x_get},
{"cspacec::csVector3_y_set", _wrap_csVector3_y_set},
{"cspacec::csVector3_y_get", _wrap_csVector3_y_get},
{"cspacec::csVector3_z_set", _wrap_csVector3_z_set},
{"cspacec::csVector3_z_get", _wrap_csVector3_z_get},
{"cspacec::new_csVector3", _wrap_new_csVector3},
{"cspacec::csVector3_Description", _wrap_csVector3_Description},
{"cspacec::__modulo__", _wrap___modulo__},
{"cspacec::csVector3_Cross", _wrap_csVector3_Cross},
{"cspacec::__rshift__", _wrap___rshift__},
{"cspacec::csVector3___add_ass__", _wrap_csVector3___add_ass__},
{"cspacec::csVector3___subtr_ass__", _wrap_csVector3___subtr_ass__},
{"cspacec::csVector3___neg__", _wrap_csVector3___neg__},
{"cspacec::csVector3_Set", _wrap_csVector3_Set},
{"cspacec::csVector3_Get", _wrap_csVector3_Get},
{"cspacec::csVector3_Norm", _wrap_csVector3_Norm},
{"cspacec::csVector3_SquaredNorm", _wrap_csVector3_SquaredNorm},
{"cspacec::csVector3_Unit", _wrap_csVector3_Unit},
{"cspacec::csVector3_Normalize", _wrap_csVector3_Normalize},
{"cspacec::csVector3_IsZero", _wrap_csVector3_IsZero},
{"cspacec::csVector3_UnitAxisClamped", _wrap_csVector3_UnitAxisClamped},
{"cspacec::csVector3_DominantAxis", _wrap_csVector3_DominantAxis},
{"cspacec::csVector3___add__", _wrap_csVector3___add__},
{"cspacec::csVector3___sub__", _wrap_csVector3___sub__},
{"cspacec::csVector3___mul__", _wrap_csVector3___mul__},
{"cspacec::csVector3___eq__", _wrap_csVector3___eq__},
{"cspacec::csVector3___ne__", _wrap_csVector3___ne__},
{"cspacec::csVector3___lt__", _wrap_csVector3___lt__},
{"cspacec::csVector3___gt__", _wrap_csVector3___gt__},
{"cspacec::csVector3___mult_ass__", _wrap_csVector3___mult_ass__},
{"cspacec::csVector3___divide_ass__", _wrap_csVector3___divide_ass__},
{"cspacec::csVector3___div__", _wrap_csVector3___div__},
{"cspacec::csVector3_project", _wrap_csVector3_project},
{"cspacec::csVector3___abs__", _wrap_csVector3___abs__},
{"cspacec::csVector3___av__", _wrap_csVector3___av__},
{"cspacec::csVector3___bool__", _wrap_csVector3___bool__},
{"cspacec::delete_csVector3", _wrap_delete_csVector3},
{"cspacec::csMatrix2_m11_set", _wrap_csMatrix2_m11_set},
{"cspacec::csMatrix2_m11_get", _wrap_csMatrix2_m11_get},
{"cspacec::csMatrix2_m12_set", _wrap_csMatrix2_m12_set},
{"cspacec::csMatrix2_m12_get", _wrap_csMatrix2_m12_get},
{"cspacec::csMatrix2_m21_set", _wrap_csMatrix2_m21_set},
{"cspacec::csMatrix2_m21_get", _wrap_csMatrix2_m21_get},
{"cspacec::csMatrix2_m22_set", _wrap_csMatrix2_m22_set},
{"cspacec::csMatrix2_m22_get", _wrap_csMatrix2_m22_get},
{"cspacec::new_csMatrix2", _wrap_new_csMatrix2},
{"cspacec::csMatrix2_Row1", _wrap_csMatrix2_Row1},
{"cspacec::csMatrix2_Row2", _wrap_csMatrix2_Row2},
{"cspacec::csMatrix2_Col1", _wrap_csMatrix2_Col1},
{"cspacec::csMatrix2_Col2", _wrap_csMatrix2_Col2},
{"cspacec::csMatrix2_Set", _wrap_csMatrix2_Set},
{"cspacec::csMatrix2___add_ass__", _wrap_csMatrix2___add_ass__},
{"cspacec::csMatrix2___subtr_ass__", _wrap_csMatrix2___subtr_ass__},
{"cspacec::csMatrix2___mult_ass__", _wrap_csMatrix2___mult_ass__},
{"cspacec::csMatrix2___divide_ass__", _wrap_csMatrix2___divide_ass__},
{"cspacec::csMatrix2___add__", _wrap_csMatrix2___add__},
{"cspacec::csMatrix2___neg__", _wrap_csMatrix2___neg__},
{"cspacec::csMatrix2_Transpose", _wrap_csMatrix2_Transpose},
{"cspacec::csMatrix2_GetTranspose", _wrap_csMatrix2_GetTranspose},
{"cspacec::csMatrix2_GetInverse", _wrap_csMatrix2_GetInverse},
{"cspacec::csMatrix2_Invert", _wrap_csMatrix2_Invert},
{"cspacec::csMatrix2_Determinant", _wrap_csMatrix2_Determinant},
{"cspacec::csMatrix2_Identity", _wrap_csMatrix2_Identity},
{"cspacec::delete_csMatrix2", _wrap_delete_csMatrix2},
{"cspacec::csMatrix3_m11_set", _wrap_csMatrix3_m11_set},
{"cspacec::csMatrix3_m11_get", _wrap_csMatrix3_m11_get},
{"cspacec::csMatrix3_m12_set", _wrap_csMatrix3_m12_set},
{"cspacec::csMatrix3_m12_get", _wrap_csMatrix3_m12_get},
{"cspacec::csMatrix3_m13_set", _wrap_csMatrix3_m13_set},
{"cspacec::csMatrix3_m13_get", _wrap_csMatrix3_m13_get},
{"cspacec::csMatrix3_m21_set", _wrap_csMatrix3_m21_set},
{"cspacec::csMatrix3_m21_get", _wrap_csMatrix3_m21_get},
{"cspacec::csMatrix3_m22_set", _wrap_csMatrix3_m22_set},
{"cspacec::csMatrix3_m22_get", _wrap_csMatrix3_m22_get},
{"cspacec::csMatrix3_m23_set", _wrap_csMatrix3_m23_set},
{"cspacec::csMatrix3_m23_get", _wrap_csMatrix3_m23_get},
{"cspacec::csMatrix3_m31_set", _wrap_csMatrix3_m31_set},
{"cspacec::csMatrix3_m31_get", _wrap_csMatrix3_m31_get},
{"cspacec::csMatrix3_m32_set", _wrap_csMatrix3_m32_set},
{"cspacec::csMatrix3_m32_get", _wrap_csMatrix3_m32_get},
{"cspacec::csMatrix3_m33_set", _wrap_csMatrix3_m33_set},
{"cspacec::csMatrix3_m33_get", _wrap_csMatrix3_m33_get},
{"cspacec::new_csMatrix3", _wrap_new_csMatrix3},
{"cspacec::csMatrix3_Row1", _wrap_csMatrix3_Row1},
{"cspacec::csMatrix3_Row2", _wrap_csMatrix3_Row2},
{"cspacec::csMatrix3_Row3", _wrap_csMatrix3_Row3},
{"cspacec::csMatrix3_Col1", _wrap_csMatrix3_Col1},
{"cspacec::csMatrix3_Col2", _wrap_csMatrix3_Col2},
{"cspacec::csMatrix3_Col3", _wrap_csMatrix3_Col3},
{"cspacec::csMatrix3_Set", _wrap_csMatrix3_Set},
{"cspacec::csMatrix3___copy__", _wrap_csMatrix3___copy__},
{"cspacec::csMatrix3___add_ass__", _wrap_csMatrix3___add_ass__},
{"cspacec::csMatrix3___subtr_ass__", _wrap_csMatrix3___subtr_ass__},
{"cspacec::csMatrix3___divide_ass__", _wrap_csMatrix3___divide_ass__},
{"cspacec::csMatrix3___neg__", _wrap_csMatrix3___neg__},
{"cspacec::csMatrix3_Transpose", _wrap_csMatrix3_Transpose},
{"cspacec::csMatrix3_GetTranspose", _wrap_csMatrix3_GetTranspose},
{"cspacec::csMatrix3_GetInverse", _wrap_csMatrix3_GetInverse},
{"cspacec::csMatrix3_Invert", _wrap_csMatrix3_Invert},
{"cspacec::csMatrix3_Determinant", _wrap_csMatrix3_Determinant},
{"cspacec::csMatrix3_Identity", _wrap_csMatrix3_Identity},
{"cspacec::csMatrix3_IsIdentity", _wrap_csMatrix3_IsIdentity},
{"cspacec::csMatrix3___add__", _wrap_csMatrix3___add__},
{"cspacec::csMatrix3___sub__", _wrap_csMatrix3___sub__},
{"cspacec::csMatrix3___div__", _wrap_csMatrix3___div__},
{"cspacec::csMatrix3___eq__", _wrap_csMatrix3___eq__},
{"cspacec::csMatrix3___ne__", _wrap_csMatrix3___ne__},
{"cspacec::csMatrix3___lt__", _wrap_csMatrix3___lt__},
{"cspacec::csMatrix3___mul__", _wrap_csMatrix3___mul__},
{"cspacec::csMatrix3___mult_ass__", _wrap_csMatrix3___mult_ass__},
{"cspacec::delete_csMatrix3", _wrap_delete_csMatrix3},
{"cspacec::new_csXRotMatrix3", _wrap_new_csXRotMatrix3},
{"cspacec::delete_csXRotMatrix3", _wrap_delete_csXRotMatrix3},
{"cspacec::new_csYRotMatrix3", _wrap_new_csYRotMatrix3},
{"cspacec::delete_csYRotMatrix3", _wrap_delete_csYRotMatrix3},
{"cspacec::new_csZRotMatrix3", _wrap_new_csZRotMatrix3},
{"cspacec::delete_csZRotMatrix3", _wrap_delete_csZRotMatrix3},
{"cspacec::new_csXScaleMatrix3", _wrap_new_csXScaleMatrix3},
{"cspacec::delete_csXScaleMatrix3", _wrap_delete_csXScaleMatrix3},
{"cspacec::new_csYScaleMatrix3", _wrap_new_csYScaleMatrix3},
{"cspacec::delete_csYScaleMatrix3", _wrap_delete_csYScaleMatrix3},
{"cspacec::new_csZScaleMatrix3", _wrap_new_csZScaleMatrix3},
{"cspacec::delete_csZScaleMatrix3", _wrap_delete_csZScaleMatrix3},
{"cspacec::delete_csTransform", _wrap_delete_csTransform},
{"cspacec::new_csTransform", _wrap_new_csTransform},
{"cspacec::csTransform_Identity", _wrap_csTransform_Identity},
{"cspacec::csTransform_IsIdentity", _wrap_csTransform_IsIdentity},
{"cspacec::csTransform_GetO2T", _wrap_csTransform_GetO2T},
{"cspacec::csTransform_GetO2TTranslation", _wrap_csTransform_GetO2TTranslation},
{"cspacec::csTransform_GetOrigin", _wrap_csTransform_GetOrigin},
{"cspacec::csTransform_SetO2T", _wrap_csTransform_SetO2T},
{"cspacec::csTransform_SetO2TTranslation", _wrap_csTransform_SetO2TTranslation},
{"cspacec::csTransform_SetOrigin", _wrap_csTransform_SetOrigin},
{"cspacec::csTransform_Translate", _wrap_csTransform_Translate},
{"cspacec::csTransform_Other2ThisRelative", _wrap_csTransform_Other2ThisRelative},
{"cspacec::csTransform_Other2This", _wrap_csTransform_Other2This},
{"cspacec::csTransform_GetReflect", _wrap_csTransform_GetReflect},
{"cspacec::csTransform_GetFront", _wrap_csTransform_GetFront},
{"cspacec::csTransform_GetUp", _wrap_csTransform_GetUp},
{"cspacec::csTransform_GetRight", _wrap_csTransform_GetRight},
{"cspacec::csTransform___mul__", _wrap_csTransform___mul__},
{"cspacec::new_csReversibleTransform", _wrap_new_csReversibleTransform},
{"cspacec::csReversibleTransform_GetT2O", _wrap_csReversibleTransform_GetT2O},
{"cspacec::csReversibleTransform_GetT2OTranslation", _wrap_csReversibleTransform_GetT2OTranslation},
{"cspacec::csReversibleTransform_GetInverse", _wrap_csReversibleTransform_GetInverse},
{"cspacec::csReversibleTransform_SetO2T", _wrap_csReversibleTransform_SetO2T},
{"cspacec::csReversibleTransform_SetT2O", _wrap_csReversibleTransform_SetT2O},
{"cspacec::csReversibleTransform_This2OtherRelative", _wrap_csReversibleTransform_This2OtherRelative},
{"cspacec::csReversibleTransform_This2Other", _wrap_csReversibleTransform_This2Other},
{"cspacec::csReversibleTransform_RotateOther", _wrap_csReversibleTransform_RotateOther},
{"cspacec::csReversibleTransform_RotateThis", _wrap_csReversibleTransform_RotateThis},
{"cspacec::csReversibleTransform_LookAt", _wrap_csReversibleTransform_LookAt},
{"cspacec::__mult_ass__", _wrap___mult_ass__},
{"cspacec::__divide_ass__", _wrap___divide_ass__},
{"cspacec::csReversibleTransform___mult_ass__", _wrap_csReversibleTransform___mult_ass__},
{"cspacec::csReversibleTransform___mul__", _wrap_csReversibleTransform___mul__},
{"cspacec::csReversibleTransform___divide_ass__", _wrap_csReversibleTransform___divide_ass__},
{"cspacec::csReversibleTransform___div__", _wrap_csReversibleTransform___div__},
{"cspacec::delete_csReversibleTransform", _wrap_delete_csReversibleTransform},
{"cspacec::new_csOrthoTransform", _wrap_new_csOrthoTransform},
{"cspacec::csOrthoTransform_SetO2T", _wrap_csOrthoTransform_SetO2T},
{"cspacec::csOrthoTransform_SetT2O", _wrap_csOrthoTransform_SetT2O},
{"cspacec::delete_csOrthoTransform", _wrap_delete_csOrthoTransform},
{"cspacec::new_csSphere", _wrap_new_csSphere},
{"cspacec::csSphere_GetCenter", _wrap_csSphere_GetCenter},
{"cspacec::csSphere_SetCenter", _wrap_csSphere_SetCenter},
{"cspacec::csSphere_GetRadius", _wrap_csSphere_GetRadius},
{"cspacec::csSphere_SetRadius", _wrap_csSphere_SetRadius},
{"cspacec::csSphere_Union", _wrap_csSphere_Union},
{"cspacec::csSphere___add_ass__", _wrap_csSphere___add_ass__},
{"cspacec::csSphere___mult_ass__", _wrap_csSphere___mult_ass__},
{"cspacec::csSphere___div__", _wrap_csSphere___div__},
{"cspacec::delete_csSphere", _wrap_delete_csSphere},
{"cspacec::new_csEllipsoid", _wrap_new_csEllipsoid},
{"cspacec::csEllipsoid_GetCenter", _wrap_csEllipsoid_GetCenter},
{"cspacec::csEllipsoid_SetCenter", _wrap_csEllipsoid_SetCenter},
{"cspacec::csEllipsoid_GetRadius", _wrap_csEllipsoid_GetRadius},
{"cspacec::csEllipsoid_SetRadius", _wrap_csEllipsoid_SetRadius},
{"cspacec::delete_csEllipsoid", _wrap_delete_csEllipsoid},
{"cspacec::csPlane2_norm_set", _wrap_csPlane2_norm_set},
{"cspacec::csPlane2_norm_get", _wrap_csPlane2_norm_get},
{"cspacec::csPlane2_CC_set", _wrap_csPlane2_CC_set},
{"cspacec::csPlane2_CC_get", _wrap_csPlane2_CC_get},
{"cspacec::new_csPlane2", _wrap_new_csPlane2},
{"cspacec::csPlane2_Normal", _wrap_csPlane2_Normal},
{"cspacec::csPlane2_GetNormal", _wrap_csPlane2_GetNormal},
{"cspacec::csPlane2_A", _wrap_csPlane2_A},
{"cspacec::csPlane2_B", _wrap_csPlane2_B},
{"cspacec::csPlane2_C", _wrap_csPlane2_C},
{"cspacec::csPlane2_Set", _wrap_csPlane2_Set},
{"cspacec::csPlane2_Classify", _wrap_csPlane2_Classify},
{"cspacec::csPlane2_Distance", _wrap_csPlane2_Distance},
{"cspacec::csPlane2_SquaredDistance", _wrap_csPlane2_SquaredDistance},
{"cspacec::csPlane2_Invert", _wrap_csPlane2_Invert},
{"cspacec::csPlane2_Normalize", _wrap_csPlane2_Normalize},
{"cspacec::delete_csPlane2", _wrap_delete_csPlane2},
{"cspacec::csPlane3_norm_set", _wrap_csPlane3_norm_set},
{"cspacec::csPlane3_norm_get", _wrap_csPlane3_norm_get},
{"cspacec::csPlane3_DD_set", _wrap_csPlane3_DD_set},
{"cspacec::csPlane3_DD_get", _wrap_csPlane3_DD_get},
{"cspacec::new_csPlane3", _wrap_new_csPlane3},
{"cspacec::csPlane3_Normal", _wrap_csPlane3_Normal},
{"cspacec::csPlane3_A", _wrap_csPlane3_A},
{"cspacec::csPlane3_B", _wrap_csPlane3_B},
{"cspacec::csPlane3_C", _wrap_csPlane3_C},
{"cspacec::csPlane3_D", _wrap_csPlane3_D},
{"cspacec::csPlane3_GetNormal", _wrap_csPlane3_GetNormal},
{"cspacec::csPlane3_Set", _wrap_csPlane3_Set},
{"cspacec::csPlane3_SetOrigin", _wrap_csPlane3_SetOrigin},
{"cspacec::csPlane3_Classify", _wrap_csPlane3_Classify},
{"cspacec::csPlane3_Distance", _wrap_csPlane3_Distance},
{"cspacec::csPlane3_Invert", _wrap_csPlane3_Invert},
{"cspacec::csPlane3_Normalize", _wrap_csPlane3_Normalize},
{"cspacec::csPlane3_FindPoint", _wrap_csPlane3_FindPoint},
{"cspacec::csPlane3_ClipPolygon", _wrap_csPlane3_ClipPolygon},
{"cspacec::csPlane3_Description", _wrap_csPlane3_Description},
{"cspacec::csPlane3___mult_ass__", _wrap_csPlane3___mult_ass__},
{"cspacec::csPlane3___divide_ass__", _wrap_csPlane3___divide_ass__},
{"cspacec::csPlane3___div__", _wrap_csPlane3___div__},
{"cspacec::delete_csPlane3", _wrap_delete_csPlane3},
{"cspacec::csMath2_WhichSide2D", _wrap_csMath2_WhichSide2D},
{"cspacec::csMath2_InPoly2D", _wrap_csMath2_InPoly2D},
{"cspacec::csMath2_Area2", _wrap_csMath2_Area2},
{"cspacec::csMath2_Right", _wrap_csMath2_Right},
{"cspacec::csMath2_Left", _wrap_csMath2_Left},
{"cspacec::csMath2_Visible", _wrap_csMath2_Visible},
{"cspacec::csMath2_PlanesEqual", _wrap_csMath2_PlanesEqual},
{"cspacec::csMath2_PlanesClose", _wrap_csMath2_PlanesClose},
{"cspacec::new_csMath2", _wrap_new_csMath2},
{"cspacec::delete_csMath2", _wrap_delete_csMath2},
{"cspacec::csIntersect2_PlanePolygon", _wrap_csIntersect2_PlanePolygon},
{"cspacec::csIntersect2_SegmentSegment", _wrap_csIntersect2_SegmentSegment},
{"cspacec::csIntersect2_SegmentLine", _wrap_csIntersect2_SegmentLine},
{"cspacec::csIntersect2_LineLine", _wrap_csIntersect2_LineLine},
{"cspacec::csIntersect2_SegmentPlane", _wrap_csIntersect2_SegmentPlane},
{"cspacec::csIntersect2_SegmentPlaneNoTest", _wrap_csIntersect2_SegmentPlaneNoTest},
{"cspacec::csIntersect2_PlanePlane", _wrap_csIntersect2_PlanePlane},
{"cspacec::new_csIntersect2", _wrap_new_csIntersect2},
{"cspacec::delete_csIntersect2", _wrap_delete_csIntersect2},
{"cspacec::new_csPoly2D", _wrap_new_csPoly2D},
{"cspacec::delete_csPoly2D", _wrap_delete_csPoly2D},
{"cspacec::csPoly2D___copy__", _wrap_csPoly2D___copy__},
{"cspacec::csPoly2D_MakeEmpty", _wrap_csPoly2D_MakeEmpty},
{"cspacec::csPoly2D_GetVertexCount", _wrap_csPoly2D_GetVertexCount},
{"cspacec::csPoly2D_GetVertices", _wrap_csPoly2D_GetVertices},
{"cspacec::csPoly2D_GetVertex", _wrap_csPoly2D_GetVertex},
{"cspacec::csPoly2D_GetFirst", _wrap_csPoly2D_GetFirst},
{"cspacec::csPoly2D_GetLast", _wrap_csPoly2D_GetLast},
{"cspacec::csPoly2D_In", _wrap_csPoly2D_In},
{"cspacec::csPoly2D_MakeRoom", _wrap_csPoly2D_MakeRoom},
{"cspacec::csPoly2D_SetVertexCount", _wrap_csPoly2D_SetVertexCount},
{"cspacec::csPoly2D_AddVertex", _wrap_csPoly2D_AddVertex},
{"cspacec::csPoly2D_SetVertices", _wrap_csPoly2D_SetVertices},
{"cspacec::csPoly2D_ClipAgainst", _wrap_csPoly2D_ClipAgainst},
{"cspacec::csPoly2D_Intersect", _wrap_csPoly2D_Intersect},
{"cspacec::csPoly2D_ClipPlane", _wrap_csPoly2D_ClipPlane},
{"cspacec::csPoly2D_ExtendConvex", _wrap_csPoly2D_ExtendConvex},
{"cspacec::csPoly2D_GetSignedArea", _wrap_csPoly2D_GetSignedArea},
{"cspacec::csPoly2D_Random", _wrap_csPoly2D_Random},
{"cspacec::delete_csPoly2DFactory", _wrap_delete_csPoly2DFactory},
{"cspacec::csPoly2DFactory_Create", _wrap_csPoly2DFactory_Create},
{"cspacec::new_csPoly2DFactory", _wrap_new_csPoly2DFactory},
{"cspacec::csMath3_WhichSide3D", _wrap_csMath3_WhichSide3D},
{"cspacec::csMath3_Visible", _wrap_csMath3_Visible},
{"cspacec::csMath3_Between", _wrap_csMath3_Between},
{"cspacec::csMath3_SetMinMax", _wrap_csMath3_SetMinMax},
{"cspacec::csMath3_DoubleArea3", _wrap_csMath3_DoubleArea3},
{"cspacec::csMath3_Direction3", _wrap_csMath3_Direction3},
{"cspacec::csMath3_CalcNormal", _wrap_csMath3_CalcNormal},
{"cspacec::csMath3_CalcPlane", _wrap_csMath3_CalcPlane},
{"cspacec::csMath3_PlanesEqual", _wrap_csMath3_PlanesEqual},
{"cspacec::csMath3_PlanesClose", _wrap_csMath3_PlanesClose},
{"cspacec::csMath3_OuterPlanes", _wrap_csMath3_OuterPlanes},
{"cspacec::csMath3_FindObserverSides", _wrap_csMath3_FindObserverSides},
{"cspacec::csMath3_SpherePosition", _wrap_csMath3_SpherePosition},
{"cspacec::new_csMath3", _wrap_new_csMath3},
{"cspacec::delete_csMath3", _wrap_delete_csMath3},
{"cspacec::csSquaredDist_PointPoint", _wrap_csSquaredDist_PointPoint},
{"cspacec::csSquaredDist_PointLine", _wrap_csSquaredDist_PointLine},
{"cspacec::csSquaredDist_PointPlane", _wrap_csSquaredDist_PointPlane},
{"cspacec::csSquaredDist_PointPoly", _wrap_csSquaredDist_PointPoly},
{"cspacec::new_csSquaredDist", _wrap_new_csSquaredDist},
{"cspacec::delete_csSquaredDist", _wrap_delete_csSquaredDist},
{"cspacec::csIntersect3_PlanePolygon", _wrap_csIntersect3_PlanePolygon},
{"cspacec::csIntersect3_SegmentFrustum", _wrap_csIntersect3_SegmentFrustum},
{"cspacec::csIntersect3_SegmentTriangle", _wrap_csIntersect3_SegmentTriangle},
{"cspacec::csIntersect3_SegmentPolygon", _wrap_csIntersect3_SegmentPolygon},
{"cspacec::csIntersect3_SegmentPlanes", _wrap_csIntersect3_SegmentPlanes},
{"cspacec::csIntersect3_SegmentPlane", _wrap_csIntersect3_SegmentPlane},
{"cspacec::csIntersect3_ThreePlanes", _wrap_csIntersect3_ThreePlanes},
{"cspacec::csIntersect3_PlaneXPlane", _wrap_csIntersect3_PlaneXPlane},
{"cspacec::csIntersect3_PlaneYPlane", _wrap_csIntersect3_PlaneYPlane},
{"cspacec::csIntersect3_PlaneZPlane", _wrap_csIntersect3_PlaneZPlane},
{"cspacec::csIntersect3_PlaneAxisPlane", _wrap_csIntersect3_PlaneAxisPlane},
{"cspacec::csIntersect3_SegmentZ0Plane", _wrap_csIntersect3_SegmentZ0Plane},
{"cspacec::csIntersect3_SegmentXPlane", _wrap_csIntersect3_SegmentXPlane},
{"cspacec::csIntersect3_SegmentYPlane", _wrap_csIntersect3_SegmentYPlane},
{"cspacec::csIntersect3_SegmentZPlane", _wrap_csIntersect3_SegmentZPlane},
{"cspacec::csIntersect3_SegmentAxisPlane", _wrap_csIntersect3_SegmentAxisPlane},
{"cspacec::csIntersect3_SegmentXFrustum", _wrap_csIntersect3_SegmentXFrustum},
{"cspacec::csIntersect3_SegmentYFrustum", _wrap_csIntersect3_SegmentYFrustum},
{"cspacec::csIntersect3_BoxSegment", _wrap_csIntersect3_BoxSegment},
{"cspacec::csIntersect3_BoxFrustum", _wrap_csIntersect3_BoxFrustum},
{"cspacec::csIntersect3_BoxSphere", _wrap_csIntersect3_BoxSphere},
{"cspacec::csIntersect3_BoxPlane", _wrap_csIntersect3_BoxPlane},
{"cspacec::csIntersect3_BoxTriangle", _wrap_csIntersect3_BoxTriangle},
{"cspacec::csIntersect3_BoxBox", _wrap_csIntersect3_BoxBox},
{"cspacec::csIntersect3_FrustumFrustum", _wrap_csIntersect3_FrustumFrustum},
{"cspacec::csIntersect3_TriangleTriangle", _wrap_csIntersect3_TriangleTriangle},
{"cspacec::new_csIntersect3", _wrap_new_csIntersect3},
{"cspacec::delete_csIntersect3", _wrap_delete_csIntersect3},
{"cspacec::new_csGeomDebugHelper", _wrap_new_csGeomDebugHelper},
{"cspacec::delete_csGeomDebugHelper", _wrap_delete_csGeomDebugHelper},
{"cspacec::csGeomDebugHelper_GetSupportedTests", _wrap_csGeomDebugHelper_GetSupportedTests},
{"cspacec::csGeomDebugHelper_UnitTest", _wrap_csGeomDebugHelper_UnitTest},
{"cspacec::csGeomDebugHelper_StateTest", _wrap_csGeomDebugHelper_StateTest},
{"cspacec::csGeomDebugHelper_Benchmark", _wrap_csGeomDebugHelper_Benchmark},
{"cspacec::csGeomDebugHelper_Dump", _wrap_csGeomDebugHelper_Dump},
{"cspacec::csGeomDebugHelper_DebugCommand", _wrap_csGeomDebugHelper_DebugCommand},
{"cspacec::new_csPoly3D", _wrap_new_csPoly3D},
{"cspacec::delete_csPoly3D", _wrap_delete_csPoly3D},
{"cspacec::csPoly3D_MakeEmpty", _wrap_csPoly3D_MakeEmpty},
{"cspacec::csPoly3D_GetVertexCount", _wrap_csPoly3D_GetVertexCount},
{"cspacec::csPoly3D_GetVertices", _wrap_csPoly3D_GetVertices},
{"cspacec::csPoly3D_GetVertex", _wrap_csPoly3D_GetVertex},
{"cspacec::csPoly3D_GetFirst", _wrap_csPoly3D_GetFirst},
{"cspacec::csPoly3D_GetLast", _wrap_csPoly3D_GetLast},
{"cspacec::csPoly3D_In", _wrap_csPoly3D_In},
{"cspacec::csPoly3D_MakeRoom", _wrap_csPoly3D_MakeRoom},
{"cspacec::csPoly3D_SetVertexCount", _wrap_csPoly3D_SetVertexCount},
{"cspacec::csPoly3D_AddVertex", _wrap_csPoly3D_AddVertex},
{"cspacec::csPoly3D_SetVertices", _wrap_csPoly3D_SetVertices},
{"cspacec::csPoly3D_ProjectXPlane", _wrap_csPoly3D_ProjectXPlane},
{"cspacec::csPoly3D_ProjectYPlane", _wrap_csPoly3D_ProjectYPlane},
{"cspacec::csPoly3D_ProjectZPlane", _wrap_csPoly3D_ProjectZPlane},
{"cspacec::csPoly3D_ProjectAxisPlane", _wrap_csPoly3D_ProjectAxisPlane},
{"cspacec::csPoly3D_Classify", _wrap_csPoly3D_Classify},
{"cspacec::csPoly3D_ClassifyX", _wrap_csPoly3D_ClassifyX},
{"cspacec::csPoly3D_ClassifyY", _wrap_csPoly3D_ClassifyY},
{"cspacec::csPoly3D_ClassifyZ", _wrap_csPoly3D_ClassifyZ},
{"cspacec::csPoly3D_ClassifyAxis", _wrap_csPoly3D_ClassifyAxis},
{"cspacec::csPoly3D_IsAxisAligned", _wrap_csPoly3D_IsAxisAligned},
{"cspacec::csPoly3D_ComputeMainNormalAxis", _wrap_csPoly3D_ComputeMainNormalAxis},
{"cspacec::csPoly3D_CutToPlane", _wrap_csPoly3D_CutToPlane},
{"cspacec::csPoly3D_SplitWithPlane", _wrap_csPoly3D_SplitWithPlane},
{"cspacec::csPoly3D_SplitWithPlaneX", _wrap_csPoly3D_SplitWithPlaneX},
{"cspacec::csPoly3D_SplitWithPlaneY", _wrap_csPoly3D_SplitWithPlaneY},
{"cspacec::csPoly3D_SplitWithPlaneZ", _wrap_csPoly3D_SplitWithPlaneZ},
{"cspacec::csPoly3D_ComputeNormal", _wrap_csPoly3D_ComputeNormal},
{"cspacec::csPoly3D_ComputePlane", _wrap_csPoly3D_ComputePlane},
{"cspacec::csPoly3D_GetArea", _wrap_csPoly3D_GetArea},
{"cspacec::csPoly3D_GetCenter", _wrap_csPoly3D_GetCenter},
{"cspacec::csCompressVertex_orig_idx_set", _wrap_csCompressVertex_orig_idx_set},
{"cspacec::csCompressVertex_orig_idx_get", _wrap_csCompressVertex_orig_idx_get},
{"cspacec::csCompressVertex_x_set", _wrap_csCompressVertex_x_set},
{"cspacec::csCompressVertex_x_get", _wrap_csCompressVertex_x_get},
{"cspacec::csCompressVertex_y_set", _wrap_csCompressVertex_y_set},
{"cspacec::csCompressVertex_y_get", _wrap_csCompressVertex_y_get},
{"cspacec::csCompressVertex_z_set", _wrap_csCompressVertex_z_set},
{"cspacec::csCompressVertex_z_get", _wrap_csCompressVertex_z_get},
{"cspacec::csCompressVertex_new_idx_set", _wrap_csCompressVertex_new_idx_set},
{"cspacec::csCompressVertex_new_idx_get", _wrap_csCompressVertex_new_idx_get},
{"cspacec::csCompressVertex_used_set", _wrap_csCompressVertex_used_set},
{"cspacec::csCompressVertex_used_get", _wrap_csCompressVertex_used_get},
{"cspacec::new_csCompressVertex", _wrap_new_csCompressVertex},
{"cspacec::delete_csCompressVertex", _wrap_delete_csCompressVertex},
{"cspacec::new_csVector3Array", _wrap_new_csVector3Array},
{"cspacec::csVector3Array_AddVertexSmart", _wrap_csVector3Array_AddVertexSmart},
{"cspacec::csVector3Array_CompressVertices", _wrap_csVector3Array_CompressVertices},
{"cspacec::delete_csVector3Array", _wrap_delete_csVector3Array},
{"cspacec::new_csTriangle", _wrap_new_csTriangle},
{"cspacec::delete_csTriangle", _wrap_delete_csTriangle},
{"cspacec::csRect_xmin_set", _wrap_csRect_xmin_set},
{"cspacec::csRect_xmin_get", _wrap_csRect_xmin_get},
{"cspacec::csRect_ymin_set", _wrap_csRect_ymin_set},
{"cspacec::csRect_ymin_get", _wrap_csRect_ymin_get},
{"cspacec::csRect_xmax_set", _wrap_csRect_xmax_set},
{"cspacec::csRect_xmax_get", _wrap_csRect_xmax_get},
{"cspacec::csRect_ymax_set", _wrap_csRect_ymax_set},
{"cspacec::csRect_ymax_get", _wrap_csRect_ymax_get},
{"cspacec::new_csRect", _wrap_new_csRect},
{"cspacec::delete_csRect", _wrap_delete_csRect},
{"cspacec::csRect_Intersect", _wrap_csRect_Intersect},
{"cspacec::csRect_Intersects", _wrap_csRect_Intersects},
{"cspacec::csRect_Union", _wrap_csRect_Union},
{"cspacec::csRect_Exclude", _wrap_csRect_Exclude},
{"cspacec::csRect_Subtract", _wrap_csRect_Subtract},
{"cspacec::csRect_IsEmpty", _wrap_csRect_IsEmpty},
{"cspacec::csRect_MakeEmpty", _wrap_csRect_MakeEmpty},
{"cspacec::csRect_Set", _wrap_csRect_Set},
{"cspacec::csRect_SetPos", _wrap_csRect_SetPos},
{"cspacec::csRect_SetSize", _wrap_csRect_SetSize},
{"cspacec::csRect_Move", _wrap_csRect_Move},
{"cspacec::csRect_Width", _wrap_csRect_Width},
{"cspacec::csRect_Height", _wrap_csRect_Height},
{"cspacec::csRect_Contains", _wrap_csRect_Contains},
{"cspacec::csRect_ContainsRel", _wrap_csRect_ContainsRel},
{"cspacec::csRect_Equal", _wrap_csRect_Equal},
{"cspacec::csRect_Normalize", _wrap_csRect_Normalize},
{"cspacec::csRect_Area", _wrap_csRect_Area},
{"cspacec::csRect_AddAdjacent", _wrap_csRect_AddAdjacent},
{"cspacec::csRect___eq__", _wrap_csRect___eq__},
{"cspacec::csRect___ne__", _wrap_csRect___ne__},
{"cspacec::csRect_Extend", _wrap_csRect_Extend},
{"cspacec::csRect_Join", _wrap_csRect_Join},
{"cspacec::csRect_Outset", _wrap_csRect_Outset},
{"cspacec::csRect_Inset", _wrap_csRect_Inset},
{"cspacec::csRect_ClipLineGeneral", _wrap_csRect_ClipLineGeneral},
{"cspacec::csRect_ClipLine", _wrap_csRect_ClipLine},
{"cspacec::csRect_ClipLineSafe", _wrap_csRect_ClipLineSafe},
{"cspacec::new_csRectRegion", _wrap_new_csRectRegion},
{"cspacec::delete_csRectRegion", _wrap_delete_csRectRegion},
{"cspacec::csRectRegion_Include", _wrap_csRectRegion_Include},
{"cspacec::csRectRegion_Exclude", _wrap_csRectRegion_Exclude},
{"cspacec::csRectRegion_ClipTo", _wrap_csRectRegion_ClipTo},
{"cspacec::csRectRegion_Count", _wrap_csRectRegion_Count},
{"cspacec::csRectRegion_RectAt", _wrap_csRectRegion_RectAt},
{"cspacec::csRectRegion_MakeEmpty", _wrap_csRectRegion_MakeEmpty},
{"cspacec::new_csQuaternion", _wrap_new_csQuaternion},
{"cspacec::csQuaternion_SetIdentity", _wrap_csQuaternion_SetIdentity},
{"cspacec::csQuaternion___add_ass__", _wrap_csQuaternion___add_ass__},
{"cspacec::csQuaternion___subtr_ass__", _wrap_csQuaternion___subtr_ass__},
{"cspacec::__subtr__", _wrap___subtr__},
{"cspacec::csQuaternion___mult_ass__", _wrap_csQuaternion___mult_ass__},
{"cspacec::__div__", _wrap___div__},
{"cspacec::csQuaternion_GetConjugate", _wrap_csQuaternion_GetConjugate},
{"cspacec::csQuaternion_Conjugate", _wrap_csQuaternion_Conjugate},
{"cspacec::csQuaternion_Dot", _wrap_csQuaternion_Dot},
{"cspacec::csQuaternion_SquaredNorm", _wrap_csQuaternion_SquaredNorm},
{"cspacec::csQuaternion_Norm", _wrap_csQuaternion_Norm},
{"cspacec::csQuaternion_Unit", _wrap_csQuaternion_Unit},
{"cspacec::csQuaternion_Rotate", _wrap_csQuaternion_Rotate},
{"cspacec::csQuaternion_SetAxisAngle", _wrap_csQuaternion_SetAxisAngle},
{"cspacec::csQuaternion_GetAxisAngle", _wrap_csQuaternion_GetAxisAngle},
{"cspacec::csQuaternion_SetEulerAngles", _wrap_csQuaternion_SetEulerAngles},
{"cspacec::csQuaternion_GetEulerAngles", _wrap_csQuaternion_GetEulerAngles},
{"cspacec::csQuaternion_SetMatrix", _wrap_csQuaternion_SetMatrix},
{"cspacec::csQuaternion_GetMatrix", _wrap_csQuaternion_GetMatrix},
{"cspacec::csQuaternion_NLerp", _wrap_csQuaternion_NLerp},
{"cspacec::csQuaternion_SLerp", _wrap_csQuaternion_SLerp},
{"cspacec::csQuaternion_Log", _wrap_csQuaternion_Log},
{"cspacec::csQuaternion_Exp", _wrap_csQuaternion_Exp},
{"cspacec::csQuaternion_Squad", _wrap_csQuaternion_Squad},
{"cspacec::csQuaternion_v_set", _wrap_csQuaternion_v_set},
{"cspacec::csQuaternion_v_get", _wrap_csQuaternion_v_get},
{"cspacec::csQuaternion_w_set", _wrap_csQuaternion_w_set},
{"cspacec::csQuaternion_w_get", _wrap_csQuaternion_w_get},
{"cspacec::csQuaternion___add__", _wrap_csQuaternion___add__},
{"cspacec::csQuaternion___sub__", _wrap_csQuaternion___sub__},
{"cspacec::csQuaternion___mul__", _wrap_csQuaternion___mul__},
{"cspacec::delete_csQuaternion", _wrap_delete_csQuaternion},
{"cspacec::delete_csSpline", _wrap_delete_csSpline},
{"cspacec::csSpline_GetDimensionCount", _wrap_csSpline_GetDimensionCount},
{"cspacec::csSpline_GetPointCount", _wrap_csSpline_GetPointCount},
{"cspacec::csSpline_InsertPoint", _wrap_csSpline_InsertPoint},
{"cspacec::csSpline_RemovePoint", _wrap_csSpline_RemovePoint},
{"cspacec::csSpline_SetTimeValues", _wrap_csSpline_SetTimeValues},
{"cspacec::csSpline_SetTimeValue", _wrap_csSpline_SetTimeValue},
{"cspacec::csSpline_GetTimeValues", _wrap_csSpline_GetTimeValues},
{"cspacec::csSpline_GetTimeValue", _wrap_csSpline_GetTimeValue},
{"cspacec::csSpline_SetDimensionValues", _wrap_csSpline_SetDimensionValues},
{"cspacec::csSpline_SetDimensionValue", _wrap_csSpline_SetDimensionValue},
{"cspacec::csSpline_GetDimensionValues", _wrap_csSpline_GetDimensionValues},
{"cspacec::csSpline_GetDimensionValue", _wrap_csSpline_GetDimensionValue},
{"cspacec::csSpline_SetIndexValues", _wrap_csSpline_SetIndexValues},
{"cspacec::csSpline_GetIndexValues", _wrap_csSpline_GetIndexValues},
{"cspacec::csSpline_Calculate", _wrap_csSpline_Calculate},
{"cspacec::csSpline_GetCurrentIndex", _wrap_csSpline_GetCurrentIndex},
{"cspacec::csSpline_GetInterpolatedDimension", _wrap_csSpline_GetInterpolatedDimension},
{"cspacec::new_csCubicSpline", _wrap_new_csCubicSpline},
{"cspacec::delete_csCubicSpline", _wrap_delete_csCubicSpline},
{"cspacec::csCubicSpline_Calculate", _wrap_csCubicSpline_Calculate},
{"cspacec::csCubicSpline_GetInterpolatedDimension", _wrap_csCubicSpline_GetInterpolatedDimension},
{"cspacec::new_csBSpline", _wrap_new_csBSpline},
{"cspacec::delete_csBSpline", _wrap_delete_csBSpline},
{"cspacec::csBSpline_Calculate", _wrap_csBSpline_Calculate},
{"cspacec::csBSpline_GetInterpolatedDimension", _wrap_csBSpline_GetInterpolatedDimension},
{"cspacec::new_csCatmullRomSpline", _wrap_new_csCatmullRomSpline},
{"cspacec::delete_csCatmullRomSpline", _wrap_delete_csCatmullRomSpline},
{"cspacec::csCatmullRomSpline_Clone", _wrap_csCatmullRomSpline_Clone},
{"cspacec::csBox2_MinX", _wrap_csBox2_MinX},
{"cspacec::csBox2_MinY", _wrap_csBox2_MinY},
{"cspacec::csBox2_MaxX", _wrap_csBox2_MaxX},
{"cspacec::csBox2_MaxY", _wrap_csBox2_MaxY},
{"cspacec::csBox2_Min", _wrap_csBox2_Min},
{"cspacec::csBox2_Max", _wrap_csBox2_Max},
{"cspacec::csBox2_Area", _wrap_csBox2_Area},
{"cspacec::csBox2_GetCorner", _wrap_csBox2_GetCorner},
{"cspacec::csBox2_GetCenter", _wrap_csBox2_GetCenter},
{"cspacec::csBox2_SetCenter", _wrap_csBox2_SetCenter},
{"cspacec::csBox2_SetSize", _wrap_csBox2_SetSize},
{"cspacec::csBox2_GetEdgeInfo", _wrap_csBox2_GetEdgeInfo},
{"cspacec::csBox2_GetEdge", _wrap_csBox2_GetEdge},
{"cspacec::csBox2_Intersect", _wrap_csBox2_Intersect},
{"cspacec::csBox2_In", _wrap_csBox2_In},
{"cspacec::csBox2_Overlap", _wrap_csBox2_Overlap},
{"cspacec::csBox2_Contains", _wrap_csBox2_Contains},
{"cspacec::csBox2_Empty", _wrap_csBox2_Empty},
{"cspacec::csBox2_SquaredOriginDist", _wrap_csBox2_SquaredOriginDist},
{"cspacec::csBox2_SquaredOriginMaxDist", _wrap_csBox2_SquaredOriginMaxDist},
{"cspacec::csBox2_SquaredPosDist", _wrap_csBox2_SquaredPosDist},
{"cspacec::csBox2_SquaredPosMaxDist", _wrap_csBox2_SquaredPosMaxDist},
{"cspacec::csBox2_StartBoundingBox", _wrap_csBox2_StartBoundingBox},
{"cspacec::csBox2_AddBoundingVertex", _wrap_csBox2_AddBoundingVertex},
{"cspacec::csBox2_AddBoundingVertexSmart", _wrap_csBox2_AddBoundingVertexSmart},
{"cspacec::csBox2_AddBoundingVertexTest", _wrap_csBox2_AddBoundingVertexTest},
{"cspacec::csBox2_AddBoundingVertexSmartTest", _wrap_csBox2_AddBoundingVertexSmartTest},
{"cspacec::new_csBox2", _wrap_new_csBox2},
{"cspacec::csBox2_Set", _wrap_csBox2_Set},
{"cspacec::csBox2_SetMin", _wrap_csBox2_SetMin},
{"cspacec::csBox2_SetMax", _wrap_csBox2_SetMax},
{"cspacec::csBox2_Description", _wrap_csBox2_Description},
{"cspacec::csBox2___add_ass__", _wrap_csBox2___add_ass__},
{"cspacec::csBox2___mult_ass__", _wrap_csBox2___mult_ass__},
{"cspacec::csBox2_TestIntersect", _wrap_csBox2_TestIntersect},
{"cspacec::csBox2___mul__", _wrap_csBox2___mul__},
{"cspacec::csBox2___ne__", _wrap_csBox2___ne__},
{"cspacec::csBox2___gt__", _wrap_csBox2___gt__},
{"cspacec::csBox2___add__", _wrap_csBox2___add__},
{"cspacec::csBox2___lt__", _wrap_csBox2___lt__},
{"cspacec::delete_csBox2", _wrap_delete_csBox2},
{"cspacec::csBox3_MinX", _wrap_csBox3_MinX},
{"cspacec::csBox3_MinY", _wrap_csBox3_MinY},
{"cspacec::csBox3_MinZ", _wrap_csBox3_MinZ},
{"cspacec::csBox3_MaxX", _wrap_csBox3_MaxX},
{"cspacec::csBox3_MaxY", _wrap_csBox3_MaxY},
{"cspacec::csBox3_MaxZ", _wrap_csBox3_MaxZ},
{"cspacec::csBox3_Min", _wrap_csBox3_Min},
{"cspacec::csBox3_Max", _wrap_csBox3_Max},
{"cspacec::csBox3_Volume", _wrap_csBox3_Volume},
{"cspacec::csBox3_Area", _wrap_csBox3_Area},
{"cspacec::csBox3_GetCorner", _wrap_csBox3_GetCorner},
{"cspacec::csBox3_GetEdgeInfo", _wrap_csBox3_GetEdgeInfo},
{"cspacec::csBox3_GetFaceEdges", _wrap_csBox3_GetFaceEdges},
{"cspacec::csBox3_GetCenter", _wrap_csBox3_GetCenter},
{"cspacec::csBox3_SetCenter", _wrap_csBox3_SetCenter},
{"cspacec::csBox3_SetSize", _wrap_csBox3_SetSize},
{"cspacec::csBox3_GetSize", _wrap_csBox3_GetSize},
{"cspacec::csBox3_GetSide", _wrap_csBox3_GetSide},
{"cspacec::csBox3_GetAxisPlane", _wrap_csBox3_GetAxisPlane},
{"cspacec::csBox3_GetVisibleSides", _wrap_csBox3_GetVisibleSides},
{"cspacec::csBox3_OtherSide", _wrap_csBox3_OtherSide},
{"cspacec::csBox3_GetEdge", _wrap_csBox3_GetEdge},
{"cspacec::csBox3_In", _wrap_csBox3_In},
{"cspacec::csBox3_Overlap", _wrap_csBox3_Overlap},
{"cspacec::csBox3_Contains", _wrap_csBox3_Contains},
{"cspacec::csBox3_Empty", _wrap_csBox3_Empty},
{"cspacec::csBox3_StartBoundingBox", _wrap_csBox3_StartBoundingBox},
{"cspacec::csBox3_AddBoundingVertex", _wrap_csBox3_AddBoundingVertex},
{"cspacec::csBox3_AddBoundingVertexSmart", _wrap_csBox3_AddBoundingVertexSmart},
{"cspacec::csBox3_AddBoundingVertexTest", _wrap_csBox3_AddBoundingVertexTest},
{"cspacec::csBox3_AddBoundingVertexSmartTest", _wrap_csBox3_AddBoundingVertexSmartTest},
{"cspacec::csBox3_AddBoundingBox", _wrap_csBox3_AddBoundingBox},
{"cspacec::new_csBox3", _wrap_new_csBox3},
{"cspacec::csBox3_Set", _wrap_csBox3_Set},
{"cspacec::csBox3_SetMin", _wrap_csBox3_SetMin},
{"cspacec::csBox3_SetMax", _wrap_csBox3_SetMax},
{"cspacec::csBox3_Description", _wrap_csBox3_Description},
{"cspacec::csBox3_Split", _wrap_csBox3_Split},
{"cspacec::csBox3_TestSplit", _wrap_csBox3_TestSplit},
{"cspacec::csBox3_AdjacentX", _wrap_csBox3_AdjacentX},
{"cspacec::csBox3_AdjacentY", _wrap_csBox3_AdjacentY},
{"cspacec::csBox3_AdjacentZ", _wrap_csBox3_AdjacentZ},
{"cspacec::csBox3_Adjacent", _wrap_csBox3_Adjacent},
{"cspacec::csBox3_CalculatePointSegment", _wrap_csBox3_CalculatePointSegment},
{"cspacec::csBox3_GetConvexOutline", _wrap_csBox3_GetConvexOutline},
{"cspacec::csBox3_Between", _wrap_csBox3_Between},
{"cspacec::csBox3_ManhattanDistance", _wrap_csBox3_ManhattanDistance},
{"cspacec::csBox3_SquaredOriginDist", _wrap_csBox3_SquaredOriginDist},
{"cspacec::csBox3_SquaredOriginMaxDist", _wrap_csBox3_SquaredOriginMaxDist},
{"cspacec::csBox3_SquaredPosDist", _wrap_csBox3_SquaredPosDist},
{"cspacec::csBox3_SquaredPosMaxDist", _wrap_csBox3_SquaredPosMaxDist},
{"cspacec::csBox3_ProjectBox", _wrap_csBox3_ProjectBox},
{"cspacec::csBox3_ProjectOutline", _wrap_csBox3_ProjectOutline},
{"cspacec::csBox3_ProjectBoxAndOutline", _wrap_csBox3_ProjectBoxAndOutline},
{"cspacec::csBox3___add_ass__", _wrap_csBox3___add_ass__},
{"cspacec::csBox3___mult_ass__", _wrap_csBox3___mult_ass__},
{"cspacec::csBox3_TestIntersect", _wrap_csBox3_TestIntersect},
{"cspacec::__add__", _wrap___add__},
{"cspacec::__mult__", _wrap___mult__},
{"cspacec::__eq__", _wrap___eq__},
{"cspacec::__ne__", _wrap___ne__},
{"cspacec::__gt__", _wrap___gt__},
{"cspacec::csBox3___mul__", _wrap_csBox3___mul__},
{"cspacec::csBox3___ne__", _wrap_csBox3___ne__},
{"cspacec::csBox3___gt__", _wrap_csBox3___gt__},
{"cspacec::csBox3___add__", _wrap_csBox3___add__},
{"cspacec::csBox3___lt__", _wrap_csBox3___lt__},
{"cspacec::delete_csBox3", _wrap_delete_csBox3},
{"cspacec::new_csSegment2", _wrap_new_csSegment2},
{"cspacec::delete_csSegment2", _wrap_delete_csSegment2},
{"cspacec::csSegment2_Set", _wrap_csSegment2_Set},
{"cspacec::csSegment2_SetStart", _wrap_csSegment2_SetStart},
{"cspacec::csSegment2_SetEnd", _wrap_csSegment2_SetEnd},
{"cspacec::csSegment2_Start", _wrap_csSegment2_Start},
{"cspacec::csSegment2_End", _wrap_csSegment2_End},
{"cspacec::new_csSegment3", _wrap_new_csSegment3},
{"cspacec::csSegment3_Set", _wrap_csSegment3_Set},
{"cspacec::csSegment3_SetStart", _wrap_csSegment3_SetStart},
{"cspacec::csSegment3_SetEnd", _wrap_csSegment3_SetEnd},
{"cspacec::csSegment3_Start", _wrap_csSegment3_Start},
{"cspacec::csSegment3_End", _wrap_csSegment3_End},
{"cspacec::delete_csSegment3", _wrap_delete_csSegment3},
{"cspacec::csRGBcolor_red_set", _wrap_csRGBcolor_red_set},
{"cspacec::csRGBcolor_red_get", _wrap_csRGBcolor_red_get},
{"cspacec::csRGBcolor_green_set", _wrap_csRGBcolor_green_set},
{"cspacec::csRGBcolor_green_get", _wrap_csRGBcolor_green_get},
{"cspacec::csRGBcolor_blue_set", _wrap_csRGBcolor_blue_set},
{"cspacec::csRGBcolor_blue_get", _wrap_csRGBcolor_blue_get},
{"cspacec::new_csRGBcolor", _wrap_new_csRGBcolor},
{"cspacec::csRGBcolor_Set", _wrap_csRGBcolor_Set},
{"cspacec::csRGBcolor___eq__", _wrap_csRGBcolor___eq__},
{"cspacec::csRGBcolor___ne__", _wrap_csRGBcolor___ne__},
{"cspacec::csRGBcolor___add__", _wrap_csRGBcolor___add__},
{"cspacec::csRGBcolor_UnsafeAdd", _wrap_csRGBcolor_UnsafeAdd},
{"cspacec::csRGBcolor_SafeAdd", _wrap_csRGBcolor_SafeAdd},
{"cspacec::delete_csRGBcolor", _wrap_delete_csRGBcolor},
{"cspacec::csRGBpixel_red_set", _wrap_csRGBpixel_red_set},
{"cspacec::csRGBpixel_red_get", _wrap_csRGBpixel_red_get},
{"cspacec::csRGBpixel_green_set", _wrap_csRGBpixel_green_set},
{"cspacec::csRGBpixel_green_get", _wrap_csRGBpixel_green_get},
{"cspacec::csRGBpixel_blue_set", _wrap_csRGBpixel_blue_set},
{"cspacec::csRGBpixel_blue_get", _wrap_csRGBpixel_blue_get},
{"cspacec::csRGBpixel_alpha_set", _wrap_csRGBpixel_alpha_set},
{"cspacec::csRGBpixel_alpha_get", _wrap_csRGBpixel_alpha_get},
{"cspacec::new_csRGBpixel", _wrap_new_csRGBpixel},
{"cspacec::csRGBpixel___eq__", _wrap_csRGBpixel___eq__},
{"cspacec::csRGBpixel___ne__", _wrap_csRGBpixel___ne__},
{"cspacec::csRGBpixel_asRGBcolor", _wrap_csRGBpixel_asRGBcolor},
{"cspacec::csRGBpixel_eq", _wrap_csRGBpixel_eq},
{"cspacec::csRGBpixel_Intensity", _wrap_csRGBpixel_Intensity},
{"cspacec::csRGBpixel_Luminance", _wrap_csRGBpixel_Luminance},
{"cspacec::csRGBpixel_Set", _wrap_csRGBpixel_Set},
{"cspacec::csRGBpixel___add_ass__", _wrap_csRGBpixel___add_ass__},
{"cspacec::csRGBpixel_UnsafeAdd", _wrap_csRGBpixel_UnsafeAdd},
{"cspacec::csRGBpixel_SafeAdd", _wrap_csRGBpixel_SafeAdd},
{"cspacec::delete_csRGBpixel", _wrap_delete_csRGBpixel},
{"cspacec::iShaderVariableAccessor_PreGetValue", _wrap_iShaderVariableAccessor_PreGetValue},
{"cspacec::delete_iShaderVariableAccessor", _wrap_delete_iShaderVariableAccessor},
{"cspacec::new_csShaderVariable", _wrap_new_csShaderVariable},
{"cspacec::delete_csShaderVariable", _wrap_delete_csShaderVariable},
{"cspacec::csShaderVariable___copy__", _wrap_csShaderVariable___copy__},
{"cspacec::csShaderVariable_GetType", _wrap_csShaderVariable_GetType},
{"cspacec::csShaderVariable_SetType", _wrap_csShaderVariable_SetType},
{"cspacec::csShaderVariable_SetAccessor", _wrap_csShaderVariable_SetAccessor},
{"cspacec::csShaderVariable_SetName", _wrap_csShaderVariable_SetName},
{"cspacec::csShaderVariable_GetName", _wrap_csShaderVariable_GetName},
{"cspacec::csShaderVariable_GetValue", _wrap_csShaderVariable_GetValue},
{"cspacec::csShaderVariable_SetValue", _wrap_csShaderVariable_SetValue},
{"cspacec::csShaderVariable_AddVariableToArray", _wrap_csShaderVariable_AddVariableToArray},
{"cspacec::csShaderVariable_RemoveFromArray", _wrap_csShaderVariable_RemoveFromArray},
{"cspacec::csShaderVariable_SetArraySize", _wrap_csShaderVariable_SetArraySize},
{"cspacec::csShaderVariable_GetArraySize", _wrap_csShaderVariable_GetArraySize},
{"cspacec::csShaderVariable_GetArrayElement", _wrap_csShaderVariable_GetArrayElement},
{"cspacec::csShaderVariable_SetArrayElement", _wrap_csShaderVariable_SetArrayElement},
{"cspacec::csShaderVariableArrayReadOnly_GetSize", _wrap_csShaderVariableArrayReadOnly_GetSize},
{"cspacec::csShaderVariableArrayReadOnly_Get", _wrap_csShaderVariableArrayReadOnly_Get},
{"cspacec::csShaderVariableArrayReadOnly_Top", _wrap_csShaderVariableArrayReadOnly_Top},
{"cspacec::csShaderVariableArrayReadOnly_Find", _wrap_csShaderVariableArrayReadOnly_Find},
{"cspacec::csShaderVariableArrayReadOnly_GetIndex", _wrap_csShaderVariableArrayReadOnly_GetIndex},
{"cspacec::csShaderVariableArrayReadOnly_IsEmpty", _wrap_csShaderVariableArrayReadOnly_IsEmpty},
{"cspacec::csShaderVariableArrayReadOnly_GetAll", _wrap_csShaderVariableArrayReadOnly_GetAll},
{"cspacec::delete_csShaderVariableArrayReadOnly", _wrap_delete_csShaderVariableArrayReadOnly},
{"cspacec::csShaderVariableArrayChangeElements_Get", _wrap_csShaderVariableArrayChangeElements_Get},
{"cspacec::csShaderVariableArrayChangeElements_Top", _wrap_csShaderVariableArrayChangeElements_Top},
{"cspacec::delete_csShaderVariableArrayChangeElements", _wrap_delete_csShaderVariableArrayChangeElements},
{"cspacec::csShaderVariableArray_SetSize", _wrap_csShaderVariableArray_SetSize},
{"cspacec::csShaderVariableArray_GetExtend", _wrap_csShaderVariableArray_GetExtend},
{"cspacec::csShaderVariableArray_Put", _wrap_csShaderVariableArray_Put},
{"cspacec::csShaderVariableArray_Push", _wrap_csShaderVariableArray_Push},
{"cspacec::csShaderVariableArray_PushSmart", _wrap_csShaderVariableArray_PushSmart},
{"cspacec::csShaderVariableArray_Pop", _wrap_csShaderVariableArray_Pop},
{"cspacec::csShaderVariableArray_Insert", _wrap_csShaderVariableArray_Insert},
{"cspacec::csShaderVariableArray_DeleteAll", _wrap_csShaderVariableArray_DeleteAll},
{"cspacec::csShaderVariableArray_Truncate", _wrap_csShaderVariableArray_Truncate},
{"cspacec::csShaderVariableArray_Empty", _wrap_csShaderVariableArray_Empty},
{"cspacec::csShaderVariableArray_DeleteIndex", _wrap_csShaderVariableArray_DeleteIndex},
{"cspacec::csShaderVariableArray_DeleteIndexFast", _wrap_csShaderVariableArray_DeleteIndexFast},
{"cspacec::csShaderVariableArray_Delete", _wrap_csShaderVariableArray_Delete},
{"cspacec::csShaderVariableArray_DeleteFast", _wrap_csShaderVariableArray_DeleteFast},
{"cspacec::delete_csShaderVariableArray", _wrap_delete_csShaderVariableArray},
{"cspacec::csDefaultRunLoop", _wrap_csDefaultRunLoop},
{"cspacec::csPlatformStartup", _wrap_csPlatformStartup},
{"cspacec::csPlatformShutdown", _wrap_csPlatformShutdown},
{"cspacec::csPrintf", _wrap_csPrintf},
{"cspacec::csFPrintf", _wrap_csFPrintf},
{"cspacec::csPrintfErr", _wrap_csPrintfErr},
{"cspacec::csGetTicks", _wrap_csGetTicks},
{"cspacec::csGetMicroTicks", _wrap_csGetMicroTicks},
{"cspacec::csSleep", _wrap_csSleep},
{"cspacec::csGetUsername", _wrap_csGetUsername},
{"cspacec::csGetPlatformConfigPath", _wrap_csGetPlatformConfigPath},
{"cspacec::new_csPluginRequest", _wrap_new_csPluginRequest},
{"cspacec::csPluginRequest___copy__", _wrap_csPluginRequest___copy__},
{"cspacec::csPluginRequest___eq__", _wrap_csPluginRequest___eq__},
{"cspacec::csPluginRequest___ne__", _wrap_csPluginRequest___ne__},
{"cspacec::csPluginRequest_GetClassName", _wrap_csPluginRequest_GetClassName},
{"cspacec::csPluginRequest_GetInterfaceName", _wrap_csPluginRequest_GetInterfaceName},
{"cspacec::csPluginRequest_GetInterfaceID", _wrap_csPluginRequest_GetInterfaceID},
{"cspacec::csPluginRequest_GetInterfaceVersion", _wrap_csPluginRequest_GetInterfaceVersion},
{"cspacec::delete_csPluginRequest", _wrap_delete_csPluginRequest},
{"cspacec::csInitializer_CreateEnvironment", _wrap_csInitializer_CreateEnvironment},
{"cspacec::csInitializer_InitializeSCF", _wrap_csInitializer_InitializeSCF},
{"cspacec::csInitializer_CreateObjectRegistry", _wrap_csInitializer_CreateObjectRegistry},
{"cspacec::csInitializer_CreatePluginManager", _wrap_csInitializer_CreatePluginManager},
{"cspacec::csInitializer_CreateEventQueue", _wrap_csInitializer_CreateEventQueue},
{"cspacec::csInitializer_CreateVirtualClock", _wrap_csInitializer_CreateVirtualClock},
{"cspacec::csInitializer_CreateCommandLineParser", _wrap_csInitializer_CreateCommandLineParser},
{"cspacec::csInitializer_CreateVerbosityManager", _wrap_csInitializer_CreateVerbosityManager},
{"cspacec::csInitializer_CreateConfigManager", _wrap_csInitializer_CreateConfigManager},
{"cspacec::csInitializer_CreateInputDrivers", _wrap_csInitializer_CreateInputDrivers},
{"cspacec::csInitializer_CreateStringSet", _wrap_csInitializer_CreateStringSet},
{"cspacec::csInitializer_SetupConfigManager", _wrap_csInitializer_SetupConfigManager},
{"cspacec::csInitializer_SetupVFS", _wrap_csInitializer_SetupVFS},
{"cspacec::csInitializer__RequestPlugins", _wrap_csInitializer__RequestPlugins},
{"cspacec::csInitializer_OpenApplication", _wrap_csInitializer_OpenApplication},
{"cspacec::csInitializer_CloseApplication", _wrap_csInitializer_CloseApplication},
{"cspacec::csInitializer__SetupEventHandler", _wrap_csInitializer__SetupEventHandler},
{"cspacec::csInitializer_DestroyApplication", _wrap_csInitializer_DestroyApplication},
{"cspacec::csInitializer_GetDefaultAppID", _wrap_csInitializer_GetDefaultAppID},
{"cspacec::new_csInitializer", _wrap_new_csInitializer},
{"cspacec::delete_csInitializer", _wrap_delete_csInitializer},
{"cspacec::delete_csPluginRequestArray", _wrap_delete_csPluginRequestArray},
{"cspacec::new_csPluginRequestArray", _wrap_new_csPluginRequestArray},
{"cspacec::csPluginRequestArray_GetSize", _wrap_csPluginRequestArray_GetSize},
{"cspacec::csPluginRequestArray_Length", _wrap_csPluginRequestArray_Length},
{"cspacec::csPluginRequestArray_Get", _wrap_csPluginRequestArray_Get},
{"cspacec::csPluginRequestArray_Push", _wrap_csPluginRequestArray_Push},
{"cspacec::csPluginRequestArray_Pop", _wrap_csPluginRequestArray_Pop},
{"cspacec::csPluginRequestArray_Top", _wrap_csPluginRequestArray_Top},
{"cspacec::csPluginRequestArray_Insert", _wrap_csPluginRequestArray_Insert},
{"cspacec::csPluginRequestArray_Contains", _wrap_csPluginRequestArray_Contains},
{"cspacec::csPluginRequestArray_Truncate", _wrap_csPluginRequestArray_Truncate},
{"cspacec::csPluginRequestArray_Empty", _wrap_csPluginRequestArray_Empty},
{"cspacec::csPluginRequestArray_IsEmpty", _wrap_csPluginRequestArray_IsEmpty},
{"cspacec::csPluginRequestArray_SetMinimalCapacity", _wrap_csPluginRequestArray_SetMinimalCapacity},
{"cspacec::csPluginRequestArray_DeleteIndex", _wrap_csPluginRequestArray_DeleteIndex},
{"cspacec::csPluginRequestArray_DeleteIndexFast", _wrap_csPluginRequestArray_DeleteIndexFast},
{"cspacec::csPluginRequestArray_DeleteRange", _wrap_csPluginRequestArray_DeleteRange},
{"cspacec::csPluginRequestArray___eq__", _wrap_csPluginRequestArray___eq__},
{"cspacec::csPluginRequestArray___ne__", _wrap_csPluginRequestArray___ne__},
{"cspacec::csPluginRequestArray_GetAllocator", _wrap_csPluginRequestArray_GetAllocator},
{"cspacec::iAwsKey_Type", _wrap_iAwsKey_Type},
{"cspacec::iAwsKey_Name", _wrap_iAwsKey_Name},
{"cspacec::delete_iAwsKey", _wrap_delete_iAwsKey},
{"cspacec::iAwsKey_scfGetVersion", _wrap_iAwsKey_scfGetVersion},
{"cspacec::iAwsIntKey_Value", _wrap_iAwsIntKey_Value},
{"cspacec::delete_iAwsIntKey", _wrap_delete_iAwsIntKey},
{"cspacec::iAwsFloatKey_Value", _wrap_iAwsFloatKey_Value},
{"cspacec::delete_iAwsFloatKey", _wrap_delete_iAwsFloatKey},
{"cspacec::iAwsStringKey_Value", _wrap_iAwsStringKey_Value},
{"cspacec::delete_iAwsStringKey", _wrap_delete_iAwsStringKey},
{"cspacec::iAwsRectKey_Value", _wrap_iAwsRectKey_Value},
{"cspacec::delete_iAwsRectKey", _wrap_delete_iAwsRectKey},
{"cspacec::iAwsRGBKey_Value", _wrap_iAwsRGBKey_Value},
{"cspacec::delete_iAwsRGBKey", _wrap_delete_iAwsRGBKey},
{"cspacec::iAwsPointKey_Value", _wrap_iAwsPointKey_Value},
{"cspacec::delete_iAwsPointKey", _wrap_delete_iAwsPointKey},
{"cspacec::iAwsConnectionKey_Sink", _wrap_iAwsConnectionKey_Sink},
{"cspacec::iAwsConnectionKey_Trigger", _wrap_iAwsConnectionKey_Trigger},
{"cspacec::iAwsConnectionKey_Signal", _wrap_iAwsConnectionKey_Signal},
{"cspacec::delete_iAwsConnectionKey", _wrap_delete_iAwsConnectionKey},
{"cspacec::iAwsKeyContainer_Find", _wrap_iAwsKeyContainer_Find},
{"cspacec::iAwsKeyContainer_Children", _wrap_iAwsKeyContainer_Children},
{"cspacec::iAwsKeyContainer_Add", _wrap_iAwsKeyContainer_Add},
{"cspacec::iAwsKeyContainer_GetAt", _wrap_iAwsKeyContainer_GetAt},
{"cspacec::iAwsKeyContainer_Length", _wrap_iAwsKeyContainer_Length},
{"cspacec::iAwsKeyContainer_Remove", _wrap_iAwsKeyContainer_Remove},
{"cspacec::iAwsKeyContainer_RemoveAll", _wrap_iAwsKeyContainer_RemoveAll},
{"cspacec::iAwsKeyContainer_Consume", _wrap_iAwsKeyContainer_Consume},
{"cspacec::delete_iAwsKeyContainer", _wrap_delete_iAwsKeyContainer},
{"cspacec::iAwsComponentNode_ComponentTypeName", _wrap_iAwsComponentNode_ComponentTypeName},
{"cspacec::delete_iAwsComponentNode", _wrap_delete_iAwsComponentNode},
{"cspacec::iAws_GetPrefMgr", _wrap_iAws_GetPrefMgr},
{"cspacec::iAws_GetSinkMgr", _wrap_iAws_GetSinkMgr},
{"cspacec::iAws_SetPrefMgr", _wrap_iAws_SetPrefMgr},
{"cspacec::iAws_GetStringTable", _wrap_iAws_GetStringTable},
{"cspacec::iAws_RegisterComponentFactory", _wrap_iAws_RegisterComponentFactory},
{"cspacec::iAws_FindComponentFactory", _wrap_iAws_FindComponentFactory},
{"cspacec::iAws_GetTopComponent", _wrap_iAws_GetTopComponent},
{"cspacec::iAws_SetTopComponent", _wrap_iAws_SetTopComponent},
{"cspacec::iAws_GetFocusedComponent", _wrap_iAws_GetFocusedComponent},
{"cspacec::iAws_SetFocusedComponent", _wrap_iAws_SetFocusedComponent},
{"cspacec::iAws_GetKeyboardFocusedComponent", _wrap_iAws_GetKeyboardFocusedComponent},
{"cspacec::iAws_ComponentAt", _wrap_iAws_ComponentAt},
{"cspacec::iAws_MouseInComponent", _wrap_iAws_MouseInComponent},
{"cspacec::iAws_Print", _wrap_iAws_Print},
{"cspacec::iAws_Redraw", _wrap_iAws_Redraw},
{"cspacec::iAws_Mark", _wrap_iAws_Mark},
{"cspacec::iAws_Unmark", _wrap_iAws_Unmark},
{"cspacec::iAws_Erase", _wrap_iAws_Erase},
{"cspacec::iAws_MaskEraser", _wrap_iAws_MaskEraser},
{"cspacec::iAws_InvalidateUpdateStore", _wrap_iAws_InvalidateUpdateStore},
{"cspacec::iAws_CaptureMouse", _wrap_iAws_CaptureMouse},
{"cspacec::iAws_ReleaseMouse", _wrap_iAws_ReleaseMouse},
{"cspacec::iAws_SetModal", _wrap_iAws_SetModal},
{"cspacec::iAws_UnSetModal", _wrap_iAws_UnSetModal},
{"cspacec::iAws_HandleEvent", _wrap_iAws_HandleEvent},
{"cspacec::iAws_GetCanvas", _wrap_iAws_GetCanvas},
{"cspacec::iAws_G2D", _wrap_iAws_G2D},
{"cspacec::iAws_G3D", _wrap_iAws_G3D},
{"cspacec::iAws_CreateWindowFrom", _wrap_iAws_CreateWindowFrom},
{"cspacec::iAws_CreateEmbeddableComponent", _wrap_iAws_CreateEmbeddableComponent},
{"cspacec::iAws_CreateParmList", _wrap_iAws_CreateParmList},
{"cspacec::iAws_CreateTransition", _wrap_iAws_CreateTransition},
{"cspacec::iAws_CreateTransitionEx", _wrap_iAws_CreateTransitionEx},
{"cspacec::iAws_SetFlag", _wrap_iAws_SetFlag},
{"cspacec::iAws_ClearFlag", _wrap_iAws_ClearFlag},
{"cspacec::iAws_GetFlags", _wrap_iAws_GetFlags},
{"cspacec::iAws_GetObjectRegistry", _wrap_iAws_GetObjectRegistry},
{"cspacec::iAws_AllWindowsHidden", _wrap_iAws_AllWindowsHidden},
{"cspacec::iAws_ComponentIsInTransition", _wrap_iAws_ComponentIsInTransition},
{"cspacec::iAws_ComponentDestroyed", _wrap_iAws_ComponentDestroyed},
{"cspacec::iAws_DeleteMarkedComponents", _wrap_iAws_DeleteMarkedComponents},
{"cspacec::iAws_MarkToDeleteRecursively", _wrap_iAws_MarkToDeleteRecursively},
{"cspacec::iAws_PreProcess_set", _wrap_iAws_PreProcess_set},
{"cspacec::iAws_PreProcess_get", _wrap_iAws_PreProcess_get},
{"cspacec::iAws_MouseDown_set", _wrap_iAws_MouseDown_set},
{"cspacec::iAws_MouseDown_get", _wrap_iAws_MouseDown_get},
{"cspacec::iAws_MouseUp_set", _wrap_iAws_MouseUp_set},
{"cspacec::iAws_MouseUp_get", _wrap_iAws_MouseUp_get},
{"cspacec::iAws_MouseClick_set", _wrap_iAws_MouseClick_set},
{"cspacec::iAws_MouseClick_get", _wrap_iAws_MouseClick_get},
{"cspacec::iAws_MouseMove_set", _wrap_iAws_MouseMove_set},
{"cspacec::iAws_MouseMove_get", _wrap_iAws_MouseMove_get},
{"cspacec::iAws_KeyboardDown_set", _wrap_iAws_KeyboardDown_set},
{"cspacec::iAws_KeyboardDown_get", _wrap_iAws_KeyboardDown_get},
{"cspacec::iAws_KeyboardUp_set", _wrap_iAws_KeyboardUp_set},
{"cspacec::iAws_KeyboardUp_get", _wrap_iAws_KeyboardUp_get},
{"cspacec::iAws_MouseEnter_set", _wrap_iAws_MouseEnter_set},
{"cspacec::iAws_MouseEnter_get", _wrap_iAws_MouseEnter_get},
{"cspacec::iAws_MouseExit_set", _wrap_iAws_MouseExit_set},
{"cspacec::iAws_MouseExit_get", _wrap_iAws_MouseExit_get},
{"cspacec::iAws_LoseFocus_set", _wrap_iAws_LoseFocus_set},
{"cspacec::iAws_LoseFocus_get", _wrap_iAws_LoseFocus_get},
{"cspacec::iAws_GainFocus_set", _wrap_iAws_GainFocus_set},
{"cspacec::iAws_GainFocus_get", _wrap_iAws_GainFocus_get},
{"cspacec::iAws_GroupOff_set", _wrap_iAws_GroupOff_set},
{"cspacec::iAws_GroupOff_get", _wrap_iAws_GroupOff_get},
{"cspacec::iAws_FrameStart_set", _wrap_iAws_FrameStart_set},
{"cspacec::iAws_FrameStart_get", _wrap_iAws_FrameStart_get},
{"cspacec::delete_iAws", _wrap_delete_iAws},
{"cspacec::iAws_scfGetVersion", _wrap_iAws_scfGetVersion},
{"cspacec::iAws_SetupCanvas", _wrap_iAws_SetupCanvas},
{"cspacec::iAwsPrefManager_Setup", _wrap_iAwsPrefManager_Setup},
{"cspacec::iAwsPrefManager_Load", _wrap_iAwsPrefManager_Load},
{"cspacec::iAwsPrefManager_NameToId", _wrap_iAwsPrefManager_NameToId},
{"cspacec::iAwsPrefManager_SelectDefaultSkin", _wrap_iAwsPrefManager_SelectDefaultSkin},
{"cspacec::iAwsPrefManager_LookupIntKey", _wrap_iAwsPrefManager_LookupIntKey},
{"cspacec::iAwsPrefManager_LookupStringKey", _wrap_iAwsPrefManager_LookupStringKey},
{"cspacec::iAwsPrefManager_LookupRectKey", _wrap_iAwsPrefManager_LookupRectKey},
{"cspacec::iAwsPrefManager_LookupRGBKey", _wrap_iAwsPrefManager_LookupRGBKey},
{"cspacec::iAwsPrefManager_LookupPointKey", _wrap_iAwsPrefManager_LookupPointKey},
{"cspacec::iAwsPrefManager_GetInt", _wrap_iAwsPrefManager_GetInt},
{"cspacec::iAwsPrefManager_GetFloat", _wrap_iAwsPrefManager_GetFloat},
{"cspacec::iAwsPrefManager_GetRect", _wrap_iAwsPrefManager_GetRect},
{"cspacec::iAwsPrefManager_GetString", _wrap_iAwsPrefManager_GetString},
{"cspacec::iAwsPrefManager_GetRGB", _wrap_iAwsPrefManager_GetRGB},
{"cspacec::iAwsPrefManager_FindWindowDef", _wrap_iAwsPrefManager_FindWindowDef},
{"cspacec::iAwsPrefManager_FindSkinDef", _wrap_iAwsPrefManager_FindSkinDef},
{"cspacec::iAwsPrefManager_RemoveWindowDef", _wrap_iAwsPrefManager_RemoveWindowDef},
{"cspacec::iAwsPrefManager_RemoveAllWindowDefs", _wrap_iAwsPrefManager_RemoveAllWindowDefs},
{"cspacec::iAwsPrefManager_RemoveSkinDef", _wrap_iAwsPrefManager_RemoveSkinDef},
{"cspacec::iAwsPrefManager_RemoveAllSkinDefs", _wrap_iAwsPrefManager_RemoveAllSkinDefs},
{"cspacec::iAwsPrefManager_SetColor", _wrap_iAwsPrefManager_SetColor},
{"cspacec::iAwsPrefManager_GetColor", _wrap_iAwsPrefManager_GetColor},
{"cspacec::iAwsPrefManager_FindColor", _wrap_iAwsPrefManager_FindColor},
{"cspacec::iAwsPrefManager_GetDefaultFont", _wrap_iAwsPrefManager_GetDefaultFont},
{"cspacec::iAwsPrefManager_GetFont", _wrap_iAwsPrefManager_GetFont},
{"cspacec::iAwsPrefManager_GetTexture", _wrap_iAwsPrefManager_GetTexture},
{"cspacec::iAwsPrefManager_SetTextureManager", _wrap_iAwsPrefManager_SetTextureManager},
{"cspacec::iAwsPrefManager_SetFontServer", _wrap_iAwsPrefManager_SetFontServer},
{"cspacec::iAwsPrefManager_SetDefaultFont", _wrap_iAwsPrefManager_SetDefaultFont},
{"cspacec::iAwsPrefManager_SetWindowMgr", _wrap_iAwsPrefManager_SetWindowMgr},
{"cspacec::iAwsPrefManager_SetupPalette", _wrap_iAwsPrefManager_SetupPalette},
{"cspacec::iAwsPrefManager_RegisterConstant", _wrap_iAwsPrefManager_RegisterConstant},
{"cspacec::iAwsPrefManager_ConstantExists", _wrap_iAwsPrefManager_ConstantExists},
{"cspacec::iAwsPrefManager_GetConstantValue", _wrap_iAwsPrefManager_GetConstantValue},
{"cspacec::iAwsPrefManager_CreateKeyFactory", _wrap_iAwsPrefManager_CreateKeyFactory},
{"cspacec::iAwsPrefManager_CreateConnectionNodeFactory", _wrap_iAwsPrefManager_CreateConnectionNodeFactory},
{"cspacec::iAwsPrefManager_AddCustomStringProperty", _wrap_iAwsPrefManager_AddCustomStringProperty},
{"cspacec::iAwsPrefManager_GetCustomStringProperties", _wrap_iAwsPrefManager_GetCustomStringProperties},
{"cspacec::delete_iAwsPrefManager", _wrap_delete_iAwsPrefManager},
{"cspacec::iAwsSinkManager_Setup", _wrap_iAwsSinkManager_Setup},
{"cspacec::iAwsSinkManager_RegisterSink", _wrap_iAwsSinkManager_RegisterSink},
{"cspacec::iAwsSinkManager_RemoveSink", _wrap_iAwsSinkManager_RemoveSink},
{"cspacec::iAwsSinkManager_FindSink", _wrap_iAwsSinkManager_FindSink},
{"cspacec::iAwsSinkManager_CreateSink", _wrap_iAwsSinkManager_CreateSink},
{"cspacec::iAwsSinkManager_CreateSlot", _wrap_iAwsSinkManager_CreateSlot},
{"cspacec::delete_iAwsSinkManager", _wrap_delete_iAwsSinkManager},
{"cspacec::iAwsSink_GetTriggerID", _wrap_iAwsSink_GetTriggerID},
{"cspacec::iAwsSink_HandleTrigger", _wrap_iAwsSink_HandleTrigger},
{"cspacec::iAwsSink_RegisterTrigger", _wrap_iAwsSink_RegisterTrigger},
{"cspacec::iAwsSink_GetError", _wrap_iAwsSink_GetError},
{"cspacec::delete_iAwsSink", _wrap_delete_iAwsSink},
{"cspacec::iAwsSource_WindowManager", _wrap_iAwsSource_WindowManager},
{"cspacec::iAwsSource_GetComponent", _wrap_iAwsSource_GetComponent},
{"cspacec::iAwsSource_RegisterSlot", _wrap_iAwsSource_RegisterSlot},
{"cspacec::iAwsSource_UnregisterSlot", _wrap_iAwsSource_UnregisterSlot},
{"cspacec::iAwsSource_Broadcast", _wrap_iAwsSource_Broadcast},
{"cspacec::delete_iAwsSource", _wrap_delete_iAwsSource},
{"cspacec::iAwsSlot_Connect", _wrap_iAwsSlot_Connect},
{"cspacec::iAwsSlot_Disconnect", _wrap_iAwsSlot_Disconnect},
{"cspacec::iAwsSlot_Emit", _wrap_iAwsSlot_Emit},
{"cspacec::delete_iAwsSlot", _wrap_delete_iAwsSlot},
{"cspacec::iAwsLayoutManager_SetOwner", _wrap_iAwsLayoutManager_SetOwner},
{"cspacec::iAwsLayoutManager_AddComponent", _wrap_iAwsLayoutManager_AddComponent},
{"cspacec::iAwsLayoutManager_RemoveComponent", _wrap_iAwsLayoutManager_RemoveComponent},
{"cspacec::iAwsLayoutManager_LayoutComponents", _wrap_iAwsLayoutManager_LayoutComponents},
{"cspacec::delete_iAwsLayoutManager", _wrap_delete_iAwsLayoutManager},
{"cspacec::iAwsComponent_Create", _wrap_iAwsComponent_Create},
{"cspacec::iAwsComponent_Setup", _wrap_iAwsComponent_Setup},
{"cspacec::iAwsComponent_HandleEvent", _wrap_iAwsComponent_HandleEvent},
{"cspacec::iAwsComponent_GetProperty", _wrap_iAwsComponent_GetProperty},
{"cspacec::iAwsComponent_SetProperty", _wrap_iAwsComponent_SetProperty},
{"cspacec::iAwsComponent_Execute", _wrap_iAwsComponent_Execute},
{"cspacec::iAwsComponent_Invalidate", _wrap_iAwsComponent_Invalidate},
{"cspacec::iAwsComponent_Frame", _wrap_iAwsComponent_Frame},
{"cspacec::iAwsComponent_ClientFrame", _wrap_iAwsComponent_ClientFrame},
{"cspacec::iAwsComponent_Type", _wrap_iAwsComponent_Type},
{"cspacec::iAwsComponent_SetFlag", _wrap_iAwsComponent_SetFlag},
{"cspacec::iAwsComponent_ClearFlag", _wrap_iAwsComponent_ClearFlag},
{"cspacec::iAwsComponent_Flags", _wrap_iAwsComponent_Flags},
{"cspacec::iAwsComponent_WindowManager", _wrap_iAwsComponent_WindowManager},
{"cspacec::iAwsComponent_Parent", _wrap_iAwsComponent_Parent},
{"cspacec::iAwsComponent_Window", _wrap_iAwsComponent_Window},
{"cspacec::iAwsComponent_Layout", _wrap_iAwsComponent_Layout},
{"cspacec::iAwsComponent_SetParent", _wrap_iAwsComponent_SetParent},
{"cspacec::iAwsComponent_SetLayout", _wrap_iAwsComponent_SetLayout},
{"cspacec::iAwsComponent_AddToLayout", _wrap_iAwsComponent_AddToLayout},
{"cspacec::iAwsComponent_getPreferredSize", _wrap_iAwsComponent_getPreferredSize},
{"cspacec::iAwsComponent_setPreferredSize", _wrap_iAwsComponent_setPreferredSize},
{"cspacec::iAwsComponent_clearPreferredSize", _wrap_iAwsComponent_clearPreferredSize},
{"cspacec::iAwsComponent_getMinimumSize", _wrap_iAwsComponent_getMinimumSize},
{"cspacec::iAwsComponent_getInsets", _wrap_iAwsComponent_getInsets},
{"cspacec::iAwsComponent_Overlaps", _wrap_iAwsComponent_Overlaps},
{"cspacec::iAwsComponent_isHidden", _wrap_iAwsComponent_isHidden},
{"cspacec::iAwsComponent_SetFocusable", _wrap_iAwsComponent_SetFocusable},
{"cspacec::iAwsComponent_Focusable", _wrap_iAwsComponent_Focusable},
{"cspacec::iAwsComponent_isFocused", _wrap_iAwsComponent_isFocused},
{"cspacec::iAwsComponent_IsMaximized", _wrap_iAwsComponent_IsMaximized},
{"cspacec::iAwsComponent_Hide", _wrap_iAwsComponent_Hide},
{"cspacec::iAwsComponent_Show", _wrap_iAwsComponent_Show},
{"cspacec::iAwsComponent_SetFocus", _wrap_iAwsComponent_SetFocus},
{"cspacec::iAwsComponent_UnsetFocus", _wrap_iAwsComponent_UnsetFocus},
{"cspacec::iAwsComponent_Move", _wrap_iAwsComponent_Move},
{"cspacec::iAwsComponent_MoveTo", _wrap_iAwsComponent_MoveTo},
{"cspacec::iAwsComponent_Resize", _wrap_iAwsComponent_Resize},
{"cspacec::iAwsComponent_ResizeTo", _wrap_iAwsComponent_ResizeTo},
{"cspacec::iAwsComponent_Maximize", _wrap_iAwsComponent_Maximize},
{"cspacec::iAwsComponent_UnMaximize", _wrap_iAwsComponent_UnMaximize},
{"cspacec::iAwsComponent_LayoutChildren", _wrap_iAwsComponent_LayoutChildren},
{"cspacec::iAwsComponent_isDeaf", _wrap_iAwsComponent_isDeaf},
{"cspacec::iAwsComponent_SetDeaf", _wrap_iAwsComponent_SetDeaf},
{"cspacec::iAwsComponent_GetID", _wrap_iAwsComponent_GetID},
{"cspacec::iAwsComponent_SetID", _wrap_iAwsComponent_SetID},
{"cspacec::iAwsComponent_FindChild", _wrap_iAwsComponent_FindChild},
{"cspacec::iAwsComponent_DoFindChild", _wrap_iAwsComponent_DoFindChild},
{"cspacec::iAwsComponent_ChildAt", _wrap_iAwsComponent_ChildAt},
{"cspacec::iAwsComponent_AddChild", _wrap_iAwsComponent_AddChild},
{"cspacec::iAwsComponent_RemoveChild", _wrap_iAwsComponent_RemoveChild},
{"cspacec::iAwsComponent_GetChildCount", _wrap_iAwsComponent_GetChildCount},
{"cspacec::iAwsComponent_GetTopChild", _wrap_iAwsComponent_GetTopChild},
{"cspacec::iAwsComponent_ComponentAbove", _wrap_iAwsComponent_ComponentAbove},
{"cspacec::iAwsComponent_ComponentBelow", _wrap_iAwsComponent_ComponentBelow},
{"cspacec::iAwsComponent_SetComponentAbove", _wrap_iAwsComponent_SetComponentAbove},
{"cspacec::iAwsComponent_SetComponentBelow", _wrap_iAwsComponent_SetComponentBelow},
{"cspacec::iAwsComponent_AddToTabOrder", _wrap_iAwsComponent_AddToTabOrder},
{"cspacec::iAwsComponent_TabNext", _wrap_iAwsComponent_TabNext},
{"cspacec::iAwsComponent_TabPrev", _wrap_iAwsComponent_TabPrev},
{"cspacec::iAwsComponent_GetTabLength", _wrap_iAwsComponent_GetTabLength},
{"cspacec::iAwsComponent_GetTabComponent", _wrap_iAwsComponent_GetTabComponent},
{"cspacec::iAwsComponent_GetFirstFocusableChild", _wrap_iAwsComponent_GetFirstFocusableChild},
{"cspacec::iAwsComponent_Raise", _wrap_iAwsComponent_Raise},
{"cspacec::iAwsComponent_Lower", _wrap_iAwsComponent_Lower},
{"cspacec::iAwsComponent_HasChildren", _wrap_iAwsComponent_HasChildren},
{"cspacec::iAwsComponent_SetRedrawTag", _wrap_iAwsComponent_SetRedrawTag},
{"cspacec::iAwsComponent_RedrawTag", _wrap_iAwsComponent_RedrawTag},
{"cspacec::iAwsComponent_OnDraw", _wrap_iAwsComponent_OnDraw},
{"cspacec::iAwsComponent_OnMouseDown", _wrap_iAwsComponent_OnMouseDown},
{"cspacec::iAwsComponent_OnMouseUp", _wrap_iAwsComponent_OnMouseUp},
{"cspacec::iAwsComponent_OnMouseMove", _wrap_iAwsComponent_OnMouseMove},
{"cspacec::iAwsComponent_OnMouseClick", _wrap_iAwsComponent_OnMouseClick},
{"cspacec::iAwsComponent_OnMouseDoubleClick", _wrap_iAwsComponent_OnMouseDoubleClick},
{"cspacec::iAwsComponent_OnMouseExit", _wrap_iAwsComponent_OnMouseExit},
{"cspacec::iAwsComponent_OnMouseEnter", _wrap_iAwsComponent_OnMouseEnter},
{"cspacec::iAwsComponent_OnKeyboard", _wrap_iAwsComponent_OnKeyboard},
{"cspacec::iAwsComponent_OnLostFocus", _wrap_iAwsComponent_OnLostFocus},
{"cspacec::iAwsComponent_OnGainFocus", _wrap_iAwsComponent_OnGainFocus},
{"cspacec::iAwsComponent_OnFrame", _wrap_iAwsComponent_OnFrame},
{"cspacec::iAwsComponent_OnAdded", _wrap_iAwsComponent_OnAdded},
{"cspacec::iAwsComponent_OnResized", _wrap_iAwsComponent_OnResized},
{"cspacec::iAwsComponent_OnChildMoved", _wrap_iAwsComponent_OnChildMoved},
{"cspacec::iAwsComponent_OnRaise", _wrap_iAwsComponent_OnRaise},
{"cspacec::iAwsComponent_OnLower", _wrap_iAwsComponent_OnLower},
{"cspacec::iAwsComponent_OnChildHide", _wrap_iAwsComponent_OnChildHide},
{"cspacec::iAwsComponent_OnChildShow", _wrap_iAwsComponent_OnChildShow},
{"cspacec::iAwsComponent_OnSetFocus", _wrap_iAwsComponent_OnSetFocus},
{"cspacec::iAwsComponent_OnUnsetFocus", _wrap_iAwsComponent_OnUnsetFocus},
{"cspacec::iAwsComponent_Unlink", _wrap_iAwsComponent_Unlink},
{"cspacec::iAwsComponent_LinkAbove", _wrap_iAwsComponent_LinkAbove},
{"cspacec::iAwsComponent_LinkBelow", _wrap_iAwsComponent_LinkBelow},
{"cspacec::iAwsComponent_SetTopChild", _wrap_iAwsComponent_SetTopChild},
{"cspacec::iAwsComponent_MarkToDelete", _wrap_iAwsComponent_MarkToDelete},
{"cspacec::iAwsComponent_GetMarkToDelete", _wrap_iAwsComponent_GetMarkToDelete},
{"cspacec::delete_iAwsComponent", _wrap_delete_iAwsComponent},
{"cspacec::iAwsComponentFactory_Create", _wrap_iAwsComponentFactory_Create},
{"cspacec::iAwsComponentFactory_Register", _wrap_iAwsComponentFactory_Register},
{"cspacec::iAwsComponentFactory_RegisterConstant", _wrap_iAwsComponentFactory_RegisterConstant},
{"cspacec::delete_iAwsComponentFactory", _wrap_delete_iAwsComponentFactory},
{"cspacec::iAwsKeyFactory_Initialize", _wrap_iAwsKeyFactory_Initialize},
{"cspacec::iAwsKeyFactory_AddToWindowList", _wrap_iAwsKeyFactory_AddToWindowList},
{"cspacec::iAwsKeyFactory_AddFactory", _wrap_iAwsKeyFactory_AddFactory},
{"cspacec::iAwsKeyFactory_AddIntKey", _wrap_iAwsKeyFactory_AddIntKey},
{"cspacec::iAwsKeyFactory_AddStringKey", _wrap_iAwsKeyFactory_AddStringKey},
{"cspacec::iAwsKeyFactory_AddRectKey", _wrap_iAwsKeyFactory_AddRectKey},
{"cspacec::iAwsKeyFactory_AddRGBKey", _wrap_iAwsKeyFactory_AddRGBKey},
{"cspacec::iAwsKeyFactory_AddPointKey", _wrap_iAwsKeyFactory_AddPointKey},
{"cspacec::iAwsKeyFactory_AddConnectionKey", _wrap_iAwsKeyFactory_AddConnectionKey},
{"cspacec::iAwsKeyFactory_AddConnectionNode", _wrap_iAwsKeyFactory_AddConnectionNode},
{"cspacec::iAwsKeyFactory_GetThisNode", _wrap_iAwsKeyFactory_GetThisNode},
{"cspacec::delete_iAwsKeyFactory", _wrap_delete_iAwsKeyFactory},
{"cspacec::iAwsConnectionNodeFactory_Initialize", _wrap_iAwsConnectionNodeFactory_Initialize},
{"cspacec::iAwsConnectionNodeFactory_AddConnectionKey", _wrap_iAwsConnectionNodeFactory_AddConnectionKey},
{"cspacec::iAwsConnectionNodeFactory_GetThisNode", _wrap_iAwsConnectionNodeFactory_GetThisNode},
{"cspacec::delete_iAwsConnectionNodeFactory", _wrap_delete_iAwsConnectionNodeFactory},
{"cspacec::csVertexStatus_Type_set", _wrap_csVertexStatus_Type_set},
{"cspacec::csVertexStatus_Type_get", _wrap_csVertexStatus_Type_get},
{"cspacec::csVertexStatus_Vertex_set", _wrap_csVertexStatus_Vertex_set},
{"cspacec::csVertexStatus_Vertex_get", _wrap_csVertexStatus_Vertex_get},
{"cspacec::csVertexStatus_Pos_set", _wrap_csVertexStatus_Pos_set},
{"cspacec::csVertexStatus_Pos_get", _wrap_csVertexStatus_Pos_get},
{"cspacec::new_csVertexStatus", _wrap_new_csVertexStatus},
{"cspacec::delete_csVertexStatus", _wrap_delete_csVertexStatus},
{"cspacec::iClipper2D_Clip", _wrap_iClipper2D_Clip},
{"cspacec::iClipper2D_ClipInPlace", _wrap_iClipper2D_ClipInPlace},
{"cspacec::iClipper2D_ClassifyBox", _wrap_iClipper2D_ClassifyBox},
{"cspacec::iClipper2D_IsInside", _wrap_iClipper2D_IsInside},
{"cspacec::iClipper2D_GetVertexCount", _wrap_iClipper2D_GetVertexCount},
{"cspacec::iClipper2D_GetClipPoly", _wrap_iClipper2D_GetClipPoly},
{"cspacec::iClipper2D_GetClipperType", _wrap_iClipper2D_GetClipperType},
{"cspacec::delete_iClipper2D", _wrap_delete_iClipper2D},
{"cspacec::iObjectModelListener_ObjectModelChanged", _wrap_iObjectModelListener_ObjectModelChanged},
{"cspacec::delete_iObjectModelListener", _wrap_delete_iObjectModelListener},
{"cspacec::iObjectModelListener_scfGetVersion", _wrap_iObjectModelListener_scfGetVersion},
{"cspacec::iObjectModel_GetShapeNumber", _wrap_iObjectModel_GetShapeNumber},
{"cspacec::iObjectModel_GetPolygonMeshBase", _wrap_iObjectModel_GetPolygonMeshBase},
{"cspacec::iObjectModel_GetPolygonMeshColldet", _wrap_iObjectModel_GetPolygonMeshColldet},
{"cspacec::iObjectModel_GetTerraFormerColldet", _wrap_iObjectModel_GetTerraFormerColldet},
{"cspacec::iObjectModel_SetPolygonMeshColldet", _wrap_iObjectModel_SetPolygonMeshColldet},
{"cspacec::iObjectModel_GetPolygonMeshViscull", _wrap_iObjectModel_GetPolygonMeshViscull},
{"cspacec::iObjectModel_SetPolygonMeshViscull", _wrap_iObjectModel_SetPolygonMeshViscull},
{"cspacec::iObjectModel_GetPolygonMeshShadows", _wrap_iObjectModel_GetPolygonMeshShadows},
{"cspacec::iObjectModel_SetPolygonMeshShadows", _wrap_iObjectModel_SetPolygonMeshShadows},
{"cspacec::iObjectModel_CreateLowerDetailPolygonMesh", _wrap_iObjectModel_CreateLowerDetailPolygonMesh},
{"cspacec::iObjectModel_GetObjectBoundingBox", _wrap_iObjectModel_GetObjectBoundingBox},
{"cspacec::iObjectModel_SetObjectBoundingBox", _wrap_iObjectModel_SetObjectBoundingBox},
{"cspacec::iObjectModel_GetRadius", _wrap_iObjectModel_GetRadius},
{"cspacec::iObjectModel_AddListener", _wrap_iObjectModel_AddListener},
{"cspacec::iObjectModel_RemoveListener", _wrap_iObjectModel_RemoveListener},
{"cspacec::delete_iObjectModel", _wrap_delete_iObjectModel},
{"cspacec::iObjectModel_scfGetVersion", _wrap_iObjectModel_scfGetVersion},
{"cspacec::iPath_Length", _wrap_iPath_Length},
{"cspacec::iPath_CalculateAtTime", _wrap_iPath_CalculateAtTime},
{"cspacec::iPath_GetCurrentIndex", _wrap_iPath_GetCurrentIndex},
{"cspacec::iPath_SetPositionVectors", _wrap_iPath_SetPositionVectors},
{"cspacec::iPath_SetUpVectors", _wrap_iPath_SetUpVectors},
{"cspacec::iPath_SetForwardVectors", _wrap_iPath_SetForwardVectors},
{"cspacec::iPath_SetPositionVector", _wrap_iPath_SetPositionVector},
{"cspacec::iPath_SetUpVector", _wrap_iPath_SetUpVector},
{"cspacec::iPath_SetForwardVector", _wrap_iPath_SetForwardVector},
{"cspacec::iPath_GetPositionVector", _wrap_iPath_GetPositionVector},
{"cspacec::iPath_GetUpVector", _wrap_iPath_GetUpVector},
{"cspacec::iPath_GetForwardVector", _wrap_iPath_GetForwardVector},
{"cspacec::iPath_GetTime", _wrap_iPath_GetTime},
{"cspacec::iPath_SetTime", _wrap_iPath_SetTime},
{"cspacec::iPath_GetInterpolatedPosition", _wrap_iPath_GetInterpolatedPosition},
{"cspacec::iPath_GetInterpolatedUp", _wrap_iPath_GetInterpolatedUp},
{"cspacec::iPath_GetInterpolatedForward", _wrap_iPath_GetInterpolatedForward},
{"cspacec::delete_iPath", _wrap_delete_iPath},
{"cspacec::iPath_scfGetVersion", _wrap_iPath_scfGetVersion},
{"cspacec::scfPath_IncRef", _wrap_scfPath_IncRef},
{"cspacec::scfPath_DecRef", _wrap_scfPath_DecRef},
{"cspacec::scfPath_GetRefCount", _wrap_scfPath_GetRefCount},
{"cspacec::scfPath_QueryInterface", _wrap_scfPath_QueryInterface},
{"cspacec::scfPath_AddRefOwner", _wrap_scfPath_AddRefOwner},
{"cspacec::scfPath_RemoveRefOwner", _wrap_scfPath_RemoveRefOwner},
{"cspacec::csMeshedPolygon_num_vertices_set", _wrap_csMeshedPolygon_num_vertices_set},
{"cspacec::csMeshedPolygon_num_vertices_get", _wrap_csMeshedPolygon_num_vertices_get},
{"cspacec::csMeshedPolygon_vertices_set", _wrap_csMeshedPolygon_vertices_set},
{"cspacec::csMeshedPolygon_vertices_get", _wrap_csMeshedPolygon_vertices_get},
{"cspacec::new_csMeshedPolygon", _wrap_new_csMeshedPolygon},
{"cspacec::delete_csMeshedPolygon", _wrap_delete_csMeshedPolygon},
{"cspacec::iPolygonMesh_GetVertexCount", _wrap_iPolygonMesh_GetVertexCount},
{"cspacec::iPolygonMesh_GetVertices", _wrap_iPolygonMesh_GetVertices},
{"cspacec::iPolygonMesh_GetPolygonCount", _wrap_iPolygonMesh_GetPolygonCount},
{"cspacec::iPolygonMesh_GetPolygons", _wrap_iPolygonMesh_GetPolygons},
{"cspacec::iPolygonMesh_GetTriangleCount", _wrap_iPolygonMesh_GetTriangleCount},
{"cspacec::iPolygonMesh_GetTriangles", _wrap_iPolygonMesh_GetTriangles},
{"cspacec::iPolygonMesh_Lock", _wrap_iPolygonMesh_Lock},
{"cspacec::iPolygonMesh_Unlock", _wrap_iPolygonMesh_Unlock},
{"cspacec::iPolygonMesh_GetFlags", _wrap_iPolygonMesh_GetFlags},
{"cspacec::iPolygonMesh_GetChangeNumber", _wrap_iPolygonMesh_GetChangeNumber},
{"cspacec::delete_iPolygonMesh", _wrap_delete_iPolygonMesh},
{"cspacec::iPolygonMesh_scfGetVersion", _wrap_iPolygonMesh_scfGetVersion},
{"cspacec::new_csPath", _wrap_new_csPath},
{"cspacec::delete_csPath", _wrap_delete_csPath},
{"cspacec::csPath_Length", _wrap_csPath_Length},
{"cspacec::csPath_CalculateAtTime", _wrap_csPath_CalculateAtTime},
{"cspacec::csPath_Calculate", _wrap_csPath_Calculate},
{"cspacec::csPath_GetCurrentIndex", _wrap_csPath_GetCurrentIndex},
{"cspacec::csPath_GetTime", _wrap_csPath_GetTime},
{"cspacec::csPath_SetTime", _wrap_csPath_SetTime},
{"cspacec::csPath_SetTimeValue", _wrap_csPath_SetTimeValue},
{"cspacec::csPath_SetTimes", _wrap_csPath_SetTimes},
{"cspacec::csPath_GetTimes", _wrap_csPath_GetTimes},
{"cspacec::csPath_SetPositionVectors", _wrap_csPath_SetPositionVectors},
{"cspacec::csPath_SetUpVectors", _wrap_csPath_SetUpVectors},
{"cspacec::csPath_SetForwardVectors", _wrap_csPath_SetForwardVectors},
{"cspacec::csPath_SetPositionVector", _wrap_csPath_SetPositionVector},
{"cspacec::csPath_SetUpVector", _wrap_csPath_SetUpVector},
{"cspacec::csPath_SetForwardVector", _wrap_csPath_SetForwardVector},
{"cspacec::csPath_GetPositionVector", _wrap_csPath_GetPositionVector},
{"cspacec::csPath_GetUpVector", _wrap_csPath_GetUpVector},
{"cspacec::csPath_GetForwardVector", _wrap_csPath_GetForwardVector},
{"cspacec::csPath_GetInterpolatedPosition", _wrap_csPath_GetInterpolatedPosition},
{"cspacec::csPath_GetInterpolatedUp", _wrap_csPath_GetInterpolatedUp},
{"cspacec::csPath_GetInterpolatedForward", _wrap_csPath_GetInterpolatedForward},
{"cspacec::csPath_GetDimensionValues", _wrap_csPath_GetDimensionValues},
{"cspacec::csPath_GetDimensionValue", _wrap_csPath_GetDimensionValue},
{"cspacec::csPath_InsertPoint", _wrap_csPath_InsertPoint},
{"cspacec::csPath_RemovePoint", _wrap_csPath_RemovePoint},
{"cspacec::new_csPolygonMesh", _wrap_new_csPolygonMesh},
{"cspacec::delete_csPolygonMesh", _wrap_delete_csPolygonMesh},
{"cspacec::csPolygonMesh_SetVertices", _wrap_csPolygonMesh_SetVertices},
{"cspacec::csPolygonMesh_SetPolygons", _wrap_csPolygonMesh_SetPolygons},
{"cspacec::csPolygonMesh_SetPolygonIndices", _wrap_csPolygonMesh_SetPolygonIndices},
{"cspacec::csPolygonMesh_SetPolygonIndexCount", _wrap_csPolygonMesh_SetPolygonIndexCount},
{"cspacec::csPolygonMesh_GetPolygonIndices", _wrap_csPolygonMesh_GetPolygonIndices},
{"cspacec::csPolygonMesh_SetVertexCount", _wrap_csPolygonMesh_SetVertexCount},
{"cspacec::csPolygonMesh_SetPolygonCount", _wrap_csPolygonMesh_SetPolygonCount},
{"cspacec::csPolygonMesh_ShapeChanged", _wrap_csPolygonMesh_ShapeChanged},
{"cspacec::csPolygonMesh_GetVertexCount", _wrap_csPolygonMesh_GetVertexCount},
{"cspacec::csPolygonMesh_GetVertices", _wrap_csPolygonMesh_GetVertices},
{"cspacec::csPolygonMesh_GetPolygonCount", _wrap_csPolygonMesh_GetPolygonCount},
{"cspacec::csPolygonMesh_GetPolygons", _wrap_csPolygonMesh_GetPolygons},
{"cspacec::csPolygonMesh_GetTriangleCount", _wrap_csPolygonMesh_GetTriangleCount},
{"cspacec::csPolygonMesh_GetTriangles", _wrap_csPolygonMesh_GetTriangles},
{"cspacec::csPolygonMesh_Lock", _wrap_csPolygonMesh_Lock},
{"cspacec::csPolygonMesh_Unlock", _wrap_csPolygonMesh_Unlock},
{"cspacec::csPolygonMesh_GetFlags", _wrap_csPolygonMesh_GetFlags},
{"cspacec::csPolygonMesh_GetChangeNumber", _wrap_csPolygonMesh_GetChangeNumber},
{"cspacec::new_csPolygonMeshBox", _wrap_new_csPolygonMeshBox},
{"cspacec::delete_csPolygonMeshBox", _wrap_delete_csPolygonMeshBox},
{"cspacec::csPolygonMeshBox_SetBox", _wrap_csPolygonMeshBox_SetBox},
{"cspacec::csPolygonMeshBox_GetVertexCount", _wrap_csPolygonMeshBox_GetVertexCount},
{"cspacec::csPolygonMeshBox_GetVertices", _wrap_csPolygonMeshBox_GetVertices},
{"cspacec::csPolygonMeshBox_GetPolygonCount", _wrap_csPolygonMeshBox_GetPolygonCount},
{"cspacec::csPolygonMeshBox_GetPolygons", _wrap_csPolygonMeshBox_GetPolygons},
{"cspacec::csPolygonMeshBox_GetTriangleCount", _wrap_csPolygonMeshBox_GetTriangleCount},
{"cspacec::csPolygonMeshBox_GetTriangles", _wrap_csPolygonMeshBox_GetTriangles},
{"cspacec::csPolygonMeshBox_Lock", _wrap_csPolygonMeshBox_Lock},
{"cspacec::csPolygonMeshBox_Unlock", _wrap_csPolygonMeshBox_Unlock},
{"cspacec::csPolygonMeshBox_GetFlags", _wrap_csPolygonMeshBox_GetFlags},
{"cspacec::csPolygonMeshBox_GetChangeNumber", _wrap_csPolygonMeshBox_GetChangeNumber},
{"cspacec::delete_iFrustumViewUserdata", _wrap_delete_iFrustumViewUserdata},
{"cspacec::iFrustumViewUserdata_scfGetVersion", _wrap_iFrustumViewUserdata_scfGetVersion},
{"cspacec::new_csFrustumContext", _wrap_new_csFrustumContext},
{"cspacec::csFrustumContext___copy__", _wrap_csFrustumContext___copy__},
{"cspacec::csFrustumContext_GetShadows", _wrap_csFrustumContext_GetShadows},
{"cspacec::csFrustumContext_SetShadows", _wrap_csFrustumContext_SetShadows},
{"cspacec::csFrustumContext_SetNewShadows", _wrap_csFrustumContext_SetNewShadows},
{"cspacec::csFrustumContext_IsShared", _wrap_csFrustumContext_IsShared},
{"cspacec::csFrustumContext_SetLightFrustum", _wrap_csFrustumContext_SetLightFrustum},
{"cspacec::csFrustumContext_SetNewLightFrustum", _wrap_csFrustumContext_SetNewLightFrustum},
{"cspacec::csFrustumContext_GetLightFrustum", _wrap_csFrustumContext_GetLightFrustum},
{"cspacec::csFrustumContext_SetMirrored", _wrap_csFrustumContext_SetMirrored},
{"cspacec::csFrustumContext_IsMirrored", _wrap_csFrustumContext_IsMirrored},
{"cspacec::delete_csFrustumContext", _wrap_delete_csFrustumContext},
{"cspacec::iFrustumView_GetFrustumContext", _wrap_iFrustumView_GetFrustumContext},
{"cspacec::iFrustumView_CreateFrustumContext", _wrap_iFrustumView_CreateFrustumContext},
{"cspacec::iFrustumView_CopyFrustumContext", _wrap_iFrustumView_CopyFrustumContext},
{"cspacec::iFrustumView_SetFrustumContext", _wrap_iFrustumView_SetFrustumContext},
{"cspacec::iFrustumView_RestoreFrustumContext", _wrap_iFrustumView_RestoreFrustumContext},
{"cspacec::iFrustumView_SetObjectFunction", _wrap_iFrustumView_SetObjectFunction},
{"cspacec::iFrustumView_CallObjectFunction", _wrap_iFrustumView_CallObjectFunction},
{"cspacec::iFrustumView_GetRadius", _wrap_iFrustumView_GetRadius},
{"cspacec::iFrustumView_GetSquaredRadius", _wrap_iFrustumView_GetSquaredRadius},
{"cspacec::iFrustumView_CheckShadowMask", _wrap_iFrustumView_CheckShadowMask},
{"cspacec::iFrustumView_CheckProcessMask", _wrap_iFrustumView_CheckProcessMask},
{"cspacec::iFrustumView_StartNewShadowBlock", _wrap_iFrustumView_StartNewShadowBlock},
{"cspacec::iFrustumView_SetUserdata", _wrap_iFrustumView_SetUserdata},
{"cspacec::iFrustumView_GetUserdata", _wrap_iFrustumView_GetUserdata},
{"cspacec::delete_iFrustumView", _wrap_delete_iFrustumView},
{"cspacec::iFrustumView_scfGetVersion", _wrap_iFrustumView_scfGetVersion},
{"cspacec::iLightCallback_OnColorChange", _wrap_iLightCallback_OnColorChange},
{"cspacec::iLightCallback_OnPositionChange", _wrap_iLightCallback_OnPositionChange},
{"cspacec::iLightCallback_OnSectorChange", _wrap_iLightCallback_OnSectorChange},
{"cspacec::iLightCallback_OnRadiusChange", _wrap_iLightCallback_OnRadiusChange},
{"cspacec::iLightCallback_OnDestroy", _wrap_iLightCallback_OnDestroy},
{"cspacec::iLightCallback_OnAttenuationChange", _wrap_iLightCallback_OnAttenuationChange},
{"cspacec::delete_iLightCallback", _wrap_delete_iLightCallback},
{"cspacec::iLight_GetLightID", _wrap_iLight_GetLightID},
{"cspacec::iLight_QueryObject", _wrap_iLight_QueryObject},
{"cspacec::iLight_GetDynamicType", _wrap_iLight_GetDynamicType},
{"cspacec::iLight_GetCenter", _wrap_iLight_GetCenter},
{"cspacec::iLight_GetFullCenter", _wrap_iLight_GetFullCenter},
{"cspacec::iLight_SetCenter", _wrap_iLight_SetCenter},
{"cspacec::iLight_GetSector", _wrap_iLight_GetSector},
{"cspacec::iLight_GetMovable", _wrap_iLight_GetMovable},
{"cspacec::iLight_QuerySceneNode", _wrap_iLight_QuerySceneNode},
{"cspacec::iLight_GetColor", _wrap_iLight_GetColor},
{"cspacec::iLight_SetColor", _wrap_iLight_SetColor},
{"cspacec::iLight_GetSpecularColor", _wrap_iLight_GetSpecularColor},
{"cspacec::iLight_SetSpecularColor", _wrap_iLight_SetSpecularColor},
{"cspacec::iLight_GetType", _wrap_iLight_GetType},
{"cspacec::iLight_SetType", _wrap_iLight_SetType},
{"cspacec::iLight_GetAttenuationMode", _wrap_iLight_GetAttenuationMode},
{"cspacec::iLight_SetAttenuationMode", _wrap_iLight_SetAttenuationMode},
{"cspacec::iLight_SetAttenuationConstants", _wrap_iLight_SetAttenuationConstants},
{"cspacec::iLight_GetAttenuationConstants", _wrap_iLight_GetAttenuationConstants},
{"cspacec::iLight_GetCutoffDistance", _wrap_iLight_GetCutoffDistance},
{"cspacec::iLight_SetCutoffDistance", _wrap_iLight_SetCutoffDistance},
{"cspacec::iLight_GetDirectionalCutoffRadius", _wrap_iLight_GetDirectionalCutoffRadius},
{"cspacec::iLight_SetDirectionalCutoffRadius", _wrap_iLight_SetDirectionalCutoffRadius},
{"cspacec::iLight_SetSpotLightFalloff", _wrap_iLight_SetSpotLightFalloff},
{"cspacec::iLight_GetSpotLightFalloff", _wrap_iLight_GetSpotLightFalloff},
{"cspacec::iLight_CreateCrossHalo", _wrap_iLight_CreateCrossHalo},
{"cspacec::iLight_CreateNovaHalo", _wrap_iLight_CreateNovaHalo},
{"cspacec::iLight_CreateFlareHalo", _wrap_iLight_CreateFlareHalo},
{"cspacec::iLight_GetHalo", _wrap_iLight_GetHalo},
{"cspacec::iLight_GetBrightnessAtDistance", _wrap_iLight_GetBrightnessAtDistance},
{"cspacec::iLight_GetFlags", _wrap_iLight_GetFlags},
{"cspacec::iLight_SetLightCallback", _wrap_iLight_SetLightCallback},
{"cspacec::iLight_RemoveLightCallback", _wrap_iLight_RemoveLightCallback},
{"cspacec::iLight_GetLightCallbackCount", _wrap_iLight_GetLightCallbackCount},
{"cspacec::iLight_GetLightCallback", _wrap_iLight_GetLightCallback},
{"cspacec::iLight_GetLightNumber", _wrap_iLight_GetLightNumber},
{"cspacec::iLight_AddAffectedLightingInfo", _wrap_iLight_AddAffectedLightingInfo},
{"cspacec::iLight_RemoveAffectedLightingInfo", _wrap_iLight_RemoveAffectedLightingInfo},
{"cspacec::iLight_Setup", _wrap_iLight_Setup},
{"cspacec::iLight_GetSVContext", _wrap_iLight_GetSVContext},
{"cspacec::delete_iLight", _wrap_delete_iLight},
{"cspacec::iLight_scfGetVersion", _wrap_iLight_scfGetVersion},
{"cspacec::iLightList_GetCount", _wrap_iLightList_GetCount},
{"cspacec::iLightList_Get", _wrap_iLightList_Get},
{"cspacec::iLightList_Add", _wrap_iLightList_Add},
{"cspacec::iLightList_Remove", _wrap_iLightList_Remove},
{"cspacec::iLightList_RemoveAll", _wrap_iLightList_RemoveAll},
{"cspacec::iLightList_Find", _wrap_iLightList_Find},
{"cspacec::iLightList_FindByName", _wrap_iLightList_FindByName},
{"cspacec::iLightList_FindByID", _wrap_iLightList_FindByID},
{"cspacec::delete_iLightList", _wrap_delete_iLightList},
{"cspacec::iLightList_scfGetVersion", _wrap_iLightList_scfGetVersion},
{"cspacec::iLightingProcessData_FinalizeLighting", _wrap_iLightingProcessData_FinalizeLighting},
{"cspacec::delete_iLightingProcessData", _wrap_delete_iLightingProcessData},
{"cspacec::iLightingProcessInfo_GetLight", _wrap_iLightingProcessInfo_GetLight},
{"cspacec::iLightingProcessInfo_IsDynamic", _wrap_iLightingProcessInfo_IsDynamic},
{"cspacec::iLightingProcessInfo_SetColor", _wrap_iLightingProcessInfo_SetColor},
{"cspacec::iLightingProcessInfo_GetColor", _wrap_iLightingProcessInfo_GetColor},
{"cspacec::iLightingProcessInfo_AttachUserdata", _wrap_iLightingProcessInfo_AttachUserdata},
{"cspacec::iLightingProcessInfo_QueryUserdata", _wrap_iLightingProcessInfo_QueryUserdata},
{"cspacec::iLightingProcessInfo_FinalizeLighting", _wrap_iLightingProcessInfo_FinalizeLighting},
{"cspacec::delete_iLightingProcessInfo", _wrap_delete_iLightingProcessInfo},
{"cspacec::iLightIterator_HasNext", _wrap_iLightIterator_HasNext},
{"cspacec::iLightIterator_Next", _wrap_iLightIterator_Next},
{"cspacec::iLightIterator_GetLastSector", _wrap_iLightIterator_GetLastSector},
{"cspacec::iLightIterator_Reset", _wrap_iLightIterator_Reset},
{"cspacec::delete_iLightIterator", _wrap_delete_iLightIterator},
{"cspacec::csFog_density_set", _wrap_csFog_density_set},
{"cspacec::csFog_density_get", _wrap_csFog_density_get},
{"cspacec::csFog_color_set", _wrap_csFog_color_set},
{"cspacec::csFog_color_get", _wrap_csFog_color_get},
{"cspacec::csFog_start_set", _wrap_csFog_start_set},
{"cspacec::csFog_start_get", _wrap_csFog_start_get},
{"cspacec::csFog_end_set", _wrap_csFog_end_set},
{"cspacec::csFog_end_get", _wrap_csFog_end_get},
{"cspacec::csFog_mode_set", _wrap_csFog_mode_set},
{"cspacec::csFog_mode_get", _wrap_csFog_mode_get},
{"cspacec::new_csFog", _wrap_new_csFog},
{"cspacec::delete_csFog", _wrap_delete_csFog},
{"cspacec::iSectorCallback_Traverse", _wrap_iSectorCallback_Traverse},
{"cspacec::delete_iSectorCallback", _wrap_delete_iSectorCallback},
{"cspacec::iSectorMeshCallback_NewMesh", _wrap_iSectorMeshCallback_NewMesh},
{"cspacec::iSectorMeshCallback_RemoveMesh", _wrap_iSectorMeshCallback_RemoveMesh},
{"cspacec::delete_iSectorMeshCallback", _wrap_delete_iSectorMeshCallback},
{"cspacec::iLightVisibleCallback_LightVisible", _wrap_iLightVisibleCallback_LightVisible},
{"cspacec::delete_iLightVisibleCallback", _wrap_delete_iLightVisibleCallback},
{"cspacec::csSectorHitBeamResult_mesh_set", _wrap_csSectorHitBeamResult_mesh_set},
{"cspacec::csSectorHitBeamResult_mesh_get", _wrap_csSectorHitBeamResult_mesh_get},
{"cspacec::csSectorHitBeamResult_isect_set", _wrap_csSectorHitBeamResult_isect_set},
{"cspacec::csSectorHitBeamResult_isect_get", _wrap_csSectorHitBeamResult_isect_get},
{"cspacec::csSectorHitBeamResult_polygon_idx_set", _wrap_csSectorHitBeamResult_polygon_idx_set},
{"cspacec::csSectorHitBeamResult_polygon_idx_get", _wrap_csSectorHitBeamResult_polygon_idx_get},
{"cspacec::csSectorHitBeamResult_final_sector_set", _wrap_csSectorHitBeamResult_final_sector_set},
{"cspacec::csSectorHitBeamResult_final_sector_get", _wrap_csSectorHitBeamResult_final_sector_get},
{"cspacec::new_csSectorHitBeamResult", _wrap_new_csSectorHitBeamResult},
{"cspacec::delete_csSectorHitBeamResult", _wrap_delete_csSectorHitBeamResult},
{"cspacec::iSector_QueryObject", _wrap_iSector_QueryObject},
{"cspacec::iSector_GetMeshes", _wrap_iSector_GetMeshes},
{"cspacec::iSector_GetVisibleMeshes", _wrap_iSector_GetVisibleMeshes},
{"cspacec::iSector_GetPortalMeshes", _wrap_iSector_GetPortalMeshes},
{"cspacec::iSector_UnlinkObjects", _wrap_iSector_UnlinkObjects},
{"cspacec::iSector_AddSectorMeshCallback", _wrap_iSector_AddSectorMeshCallback},
{"cspacec::iSector_RemoveSectorMeshCallback", _wrap_iSector_RemoveSectorMeshCallback},
{"cspacec::iSector_Draw", _wrap_iSector_Draw},
{"cspacec::iSector_PrepareDraw", _wrap_iSector_PrepareDraw},
{"cspacec::iSector_GetRecLevel", _wrap_iSector_GetRecLevel},
{"cspacec::iSector_IncRecLevel", _wrap_iSector_IncRecLevel},
{"cspacec::iSector_DecRecLevel", _wrap_iSector_DecRecLevel},
{"cspacec::iSector_SetRenderLoop", _wrap_iSector_SetRenderLoop},
{"cspacec::iSector_GetRenderLoop", _wrap_iSector_GetRenderLoop},
{"cspacec::iSector_CreateMeshGenerator", _wrap_iSector_CreateMeshGenerator},
{"cspacec::iSector_GetMeshGeneratorCount", _wrap_iSector_GetMeshGeneratorCount},
{"cspacec::iSector_GetMeshGenerator", _wrap_iSector_GetMeshGenerator},
{"cspacec::iSector_GetMeshGeneratorByName", _wrap_iSector_GetMeshGeneratorByName},
{"cspacec::iSector_RemoveMeshGenerator", _wrap_iSector_RemoveMeshGenerator},
{"cspacec::iSector_RemoveMeshGenerators", _wrap_iSector_RemoveMeshGenerators},
{"cspacec::iSector_HasFog", _wrap_iSector_HasFog},
{"cspacec::iSector_GetFog", _wrap_iSector_GetFog},
{"cspacec::iSector_SetFog", _wrap_iSector_SetFog},
{"cspacec::iSector_DisableFog", _wrap_iSector_DisableFog},
{"cspacec::iSector_GetLights", _wrap_iSector_GetLights},
{"cspacec::iSector_ShineLights", _wrap_iSector_ShineLights},
{"cspacec::iSector_SetDynamicAmbientLight", _wrap_iSector_SetDynamicAmbientLight},
{"cspacec::iSector_GetDynamicAmbientLight", _wrap_iSector_GetDynamicAmbientLight},
{"cspacec::iSector_GetDynamicAmbientVersion", _wrap_iSector_GetDynamicAmbientVersion},
{"cspacec::iSector_CalculateSectorBBox", _wrap_iSector_CalculateSectorBBox},
{"cspacec::iSector_SetVisibilityCullerPlugin", _wrap_iSector_SetVisibilityCullerPlugin},
{"cspacec::iSector_GetVisibilityCuller", _wrap_iSector_GetVisibilityCuller},
{"cspacec::iSector_CheckFrustum", _wrap_iSector_CheckFrustum},
{"cspacec::iSector_HitBeamPortals", _wrap_iSector_HitBeamPortals},
{"cspacec::iSector_HitBeam", _wrap_iSector_HitBeam},
{"cspacec::iSector_FollowSegment", _wrap_iSector_FollowSegment},
{"cspacec::iSector_SetSectorCallback", _wrap_iSector_SetSectorCallback},
{"cspacec::iSector_RemoveSectorCallback", _wrap_iSector_RemoveSectorCallback},
{"cspacec::iSector_GetSectorCallbackCount", _wrap_iSector_GetSectorCallbackCount},
{"cspacec::iSector_GetSectorCallback", _wrap_iSector_GetSectorCallback},
{"cspacec::iSector_SetLightCulling", _wrap_iSector_SetLightCulling},
{"cspacec::iSector_IsLightCullingEnabled", _wrap_iSector_IsLightCullingEnabled},
{"cspacec::iSector_AddLightVisibleCallback", _wrap_iSector_AddLightVisibleCallback},
{"cspacec::iSector_RemoveLightVisibleCallback", _wrap_iSector_RemoveLightVisibleCallback},
{"cspacec::iSector_GetSVContext", _wrap_iSector_GetSVContext},
{"cspacec::iSector_PrecacheDraw", _wrap_iSector_PrecacheDraw},
{"cspacec::delete_iSector", _wrap_delete_iSector},
{"cspacec::iSector_scfGetVersion", _wrap_iSector_scfGetVersion},
{"cspacec::iSectorList_GetCount", _wrap_iSectorList_GetCount},
{"cspacec::iSectorList_Get", _wrap_iSectorList_Get},
{"cspacec::iSectorList_Add", _wrap_iSectorList_Add},
{"cspacec::iSectorList_Remove", _wrap_iSectorList_Remove},
{"cspacec::iSectorList_RemoveAll", _wrap_iSectorList_RemoveAll},
{"cspacec::iSectorList_Find", _wrap_iSectorList_Find},
{"cspacec::iSectorList_FindByName", _wrap_iSectorList_FindByName},
{"cspacec::delete_iSectorList", _wrap_delete_iSectorList},
{"cspacec::iSectorList_scfGetVersion", _wrap_iSectorList_scfGetVersion},
{"cspacec::iSectorIterator_HasNext", _wrap_iSectorIterator_HasNext},
{"cspacec::iSectorIterator_Next", _wrap_iSectorIterator_Next},
{"cspacec::iSectorIterator_GetLastPosition", _wrap_iSectorIterator_GetLastPosition},
{"cspacec::iSectorIterator_Reset", _wrap_iSectorIterator_Reset},
{"cspacec::delete_iSectorIterator", _wrap_delete_iSectorIterator},
{"cspacec::iEngineFrameCallback_StartFrame", _wrap_iEngineFrameCallback_StartFrame},
{"cspacec::delete_iEngineFrameCallback", _wrap_delete_iEngineFrameCallback},
{"cspacec::iEngineSectorCallback_NewSector", _wrap_iEngineSectorCallback_NewSector},
{"cspacec::iEngineSectorCallback_RemoveSector", _wrap_iEngineSectorCallback_RemoveSector},
{"cspacec::delete_iEngineSectorCallback", _wrap_delete_iEngineSectorCallback},
{"cspacec::iEngine_QueryObject", _wrap_iEngine_QueryObject},
{"cspacec::iEngine_Prepare", _wrap_iEngine_Prepare},
{"cspacec::iEngine_PrepareTextures", _wrap_iEngine_PrepareTextures},
{"cspacec::iEngine_PrepareMeshes", _wrap_iEngine_PrepareMeshes},
{"cspacec::iEngine_ForceRelight", _wrap_iEngine_ForceRelight},
{"cspacec::iEngine_ShineLights", _wrap_iEngine_ShineLights},
{"cspacec::iEngine_SetLightingCacheMode", _wrap_iEngine_SetLightingCacheMode},
{"cspacec::iEngine_GetLightingCacheMode", _wrap_iEngine_GetLightingCacheMode},
{"cspacec::iEngine_SetCacheManager", _wrap_iEngine_SetCacheManager},
{"cspacec::iEngine_SetVFSCacheManager", _wrap_iEngine_SetVFSCacheManager},
{"cspacec::iEngine_GetCacheManager", _wrap_iEngine_GetCacheManager},
{"cspacec::iEngine_SetMaxLightmapSize", _wrap_iEngine_SetMaxLightmapSize},
{"cspacec::iEngine_GetMaxLightmapSize", _wrap_iEngine_GetMaxLightmapSize},
{"cspacec::iEngine_GetDefaultMaxLightmapSize", _wrap_iEngine_GetDefaultMaxLightmapSize},
{"cspacec::iEngine_GetMaxLightmapAspectRatio", _wrap_iEngine_GetMaxLightmapAspectRatio},
{"cspacec::iEngine_RegisterRenderPriority", _wrap_iEngine_RegisterRenderPriority},
{"cspacec::iEngine_GetRenderPriority", _wrap_iEngine_GetRenderPriority},
{"cspacec::iEngine_GetRenderPrioritySorting", _wrap_iEngine_GetRenderPrioritySorting},
{"cspacec::iEngine_GetSkyRenderPriority", _wrap_iEngine_GetSkyRenderPriority},
{"cspacec::iEngine_GetPortalRenderPriority", _wrap_iEngine_GetPortalRenderPriority},
{"cspacec::iEngine_GetWallRenderPriority", _wrap_iEngine_GetWallRenderPriority},
{"cspacec::iEngine_GetObjectRenderPriority", _wrap_iEngine_GetObjectRenderPriority},
{"cspacec::iEngine_GetAlphaRenderPriority", _wrap_iEngine_GetAlphaRenderPriority},
{"cspacec::iEngine_ClearRenderPriorities", _wrap_iEngine_ClearRenderPriorities},
{"cspacec::iEngine_GetRenderPriorityCount", _wrap_iEngine_GetRenderPriorityCount},
{"cspacec::iEngine_GetRenderPriorityName", _wrap_iEngine_GetRenderPriorityName},
{"cspacec::iEngine_CreateBaseMaterial", _wrap_iEngine_CreateBaseMaterial},
{"cspacec::iEngine_CreateMaterial", _wrap_iEngine_CreateMaterial},
{"cspacec::iEngine_GetMaterialList", _wrap_iEngine_GetMaterialList},
{"cspacec::iEngine_FindMaterial", _wrap_iEngine_FindMaterial},
{"cspacec::iEngine_CreateTexture", _wrap_iEngine_CreateTexture},
{"cspacec::iEngine_CreateBlackTexture", _wrap_iEngine_CreateBlackTexture},
{"cspacec::iEngine_GetTextureFormat", _wrap_iEngine_GetTextureFormat},
{"cspacec::iEngine_GetTextureList", _wrap_iEngine_GetTextureList},
{"cspacec::iEngine_FindTexture", _wrap_iEngine_FindTexture},
{"cspacec::iEngine_CreateLight", _wrap_iEngine_CreateLight},
{"cspacec::iEngine_FindLight", _wrap_iEngine_FindLight},
{"cspacec::iEngine_FindLightID", _wrap_iEngine_FindLightID},
{"cspacec::iEngine_GetLightIterator", _wrap_iEngine_GetLightIterator},
{"cspacec::iEngine_RemoveLight", _wrap_iEngine_RemoveLight},
{"cspacec::iEngine_SetAmbientLight", _wrap_iEngine_SetAmbientLight},
{"cspacec::iEngine_GetAmbientLight", _wrap_iEngine_GetAmbientLight},
{"cspacec::iEngine_GetDefaultAmbientLight", _wrap_iEngine_GetDefaultAmbientLight},
{"cspacec::iEngine_GetNearbyLights", _wrap_iEngine_GetNearbyLights},
{"cspacec::iEngine_CreateSector", _wrap_iEngine_CreateSector},
{"cspacec::iEngine_GetSectors", _wrap_iEngine_GetSectors},
{"cspacec::iEngine_FindSector", _wrap_iEngine_FindSector},
{"cspacec::iEngine_GetNearbySectors", _wrap_iEngine_GetNearbySectors},
{"cspacec::iEngine_AddEngineFrameCallback", _wrap_iEngine_AddEngineFrameCallback},
{"cspacec::iEngine_RemoveEngineFrameCallback", _wrap_iEngine_RemoveEngineFrameCallback},
{"cspacec::iEngine_AddEngineSectorCallback", _wrap_iEngine_AddEngineSectorCallback},
{"cspacec::iEngine_RemoveEngineSectorCallback", _wrap_iEngine_RemoveEngineSectorCallback},
{"cspacec::iEngine_CreateMeshWrapper", _wrap_iEngine_CreateMeshWrapper},
{"cspacec::iEngine_CreateSectorWallsMesh", _wrap_iEngine_CreateSectorWallsMesh},
{"cspacec::iEngine_CreateThingMesh", _wrap_iEngine_CreateThingMesh},
{"cspacec::iEngine_LoadMeshWrapper", _wrap_iEngine_LoadMeshWrapper},
{"cspacec::iEngine_AddMeshAndChildren", _wrap_iEngine_AddMeshAndChildren},
{"cspacec::iEngine_GetNearbyMeshes", _wrap_iEngine_GetNearbyMeshes},
{"cspacec::iEngine_GetMeshes", _wrap_iEngine_GetMeshes},
{"cspacec::iEngine_FindMeshObject", _wrap_iEngine_FindMeshObject},
{"cspacec::iEngine_WantToDie", _wrap_iEngine_WantToDie},
{"cspacec::iEngine_CreateMeshFactory", _wrap_iEngine_CreateMeshFactory},
{"cspacec::iEngine_LoadMeshFactory", _wrap_iEngine_LoadMeshFactory},
{"cspacec::iEngine_FindMeshFactory", _wrap_iEngine_FindMeshFactory},
{"cspacec::iEngine_GetMeshFactories", _wrap_iEngine_GetMeshFactories},
{"cspacec::iEngine_CreateRegion", _wrap_iEngine_CreateRegion},
{"cspacec::iEngine_GetRegions", _wrap_iEngine_GetRegions},
{"cspacec::iEngine_CreateCamera", _wrap_iEngine_CreateCamera},
{"cspacec::iEngine_FindCameraPosition", _wrap_iEngine_FindCameraPosition},
{"cspacec::iEngine_GetCameraPositions", _wrap_iEngine_GetCameraPositions},
{"cspacec::iEngine_CreatePortal", _wrap_iEngine_CreatePortal},
{"cspacec::iEngine_CreatePortalContainer", _wrap_iEngine_CreatePortalContainer},
{"cspacec::iEngine_SetClearZBuf", _wrap_iEngine_SetClearZBuf},
{"cspacec::iEngine_GetClearZBuf", _wrap_iEngine_GetClearZBuf},
{"cspacec::iEngine_GetDefaultClearZBuf", _wrap_iEngine_GetDefaultClearZBuf},
{"cspacec::iEngine_SetClearScreen", _wrap_iEngine_SetClearScreen},
{"cspacec::iEngine_GetClearScreen", _wrap_iEngine_GetClearScreen},
{"cspacec::iEngine_GetDefaultClearScreen", _wrap_iEngine_GetDefaultClearScreen},
{"cspacec::iEngine_GetBeginDrawFlags", _wrap_iEngine_GetBeginDrawFlags},
{"cspacec::iEngine_GetTopLevelClipper", _wrap_iEngine_GetTopLevelClipper},
{"cspacec::iEngine_PrecacheDraw", _wrap_iEngine_PrecacheDraw},
{"cspacec::iEngine_Draw", _wrap_iEngine_Draw},
{"cspacec::iEngine_SetContext", _wrap_iEngine_SetContext},
{"cspacec::iEngine_GetContext", _wrap_iEngine_GetContext},
{"cspacec::iEngine_GetRenderLoopManager", _wrap_iEngine_GetRenderLoopManager},
{"cspacec::iEngine_GetCurrentDefaultRenderloop", _wrap_iEngine_GetCurrentDefaultRenderloop},
{"cspacec::iEngine_SetCurrentDefaultRenderloop", _wrap_iEngine_SetCurrentDefaultRenderloop},
{"cspacec::iEngine_GetCurrentFrameNumber", _wrap_iEngine_GetCurrentFrameNumber},
{"cspacec::iEngine_SetSaveableFlag", _wrap_iEngine_SetSaveableFlag},
{"cspacec::iEngine_GetSaveableFlag", _wrap_iEngine_GetSaveableFlag},
{"cspacec::iEngine_CreateLoaderContext", _wrap_iEngine_CreateLoaderContext},
{"cspacec::iEngine_GetNearbyObjects", _wrap_iEngine_GetNearbyObjects},
{"cspacec::iEngine_GetVisibleObjects", _wrap_iEngine_GetVisibleObjects},
{"cspacec::iEngine_GetVisibleMeshes", _wrap_iEngine_GetVisibleMeshes},
{"cspacec::iEngine_CreateFrustumView", _wrap_iEngine_CreateFrustumView},
{"cspacec::iEngine_CreateObjectWatcher", _wrap_iEngine_CreateObjectWatcher},
{"cspacec::iEngine_GetVariableList", _wrap_iEngine_GetVariableList},
{"cspacec::iEngine_GetCollections", _wrap_iEngine_GetCollections},
{"cspacec::iEngine_FindCollection", _wrap_iEngine_FindCollection},
{"cspacec::iEngine_RemoveObject", _wrap_iEngine_RemoveObject},
{"cspacec::iEngine_DelayedRemoveObject", _wrap_iEngine_DelayedRemoveObject},
{"cspacec::iEngine_RemoveDelayedRemoves", _wrap_iEngine_RemoveDelayedRemoves},
{"cspacec::iEngine_DeleteAll", _wrap_iEngine_DeleteAll},
{"cspacec::iEngine_ResetWorldSpecificSettings", _wrap_iEngine_ResetWorldSpecificSettings},
{"cspacec::delete_iEngine", _wrap_delete_iEngine},
{"cspacec::iEngine_scfGetVersion", _wrap_iEngine_scfGetVersion},
{"cspacec::iCameraSectorListener_NewSector", _wrap_iCameraSectorListener_NewSector},
{"cspacec::delete_iCameraSectorListener", _wrap_delete_iCameraSectorListener},
{"cspacec::iCamera_Clone", _wrap_iCamera_Clone},
{"cspacec::iCamera_QuerySceneNode", _wrap_iCamera_QuerySceneNode},
{"cspacec::iCamera_GetFOV", _wrap_iCamera_GetFOV},
{"cspacec::iCamera_GetInvFOV", _wrap_iCamera_GetInvFOV},
{"cspacec::iCamera_GetFOVAngle", _wrap_iCamera_GetFOVAngle},
{"cspacec::iCamera_SetFOV", _wrap_iCamera_SetFOV},
{"cspacec::iCamera_SetFOVAngle", _wrap_iCamera_SetFOVAngle},
{"cspacec::iCamera_GetShiftX", _wrap_iCamera_GetShiftX},
{"cspacec::iCamera_GetShiftY", _wrap_iCamera_GetShiftY},
{"cspacec::iCamera_SetPerspectiveCenter", _wrap_iCamera_SetPerspectiveCenter},
{"cspacec::iCamera_GetTransform", _wrap_iCamera_GetTransform},
{"cspacec::iCamera_SetTransform", _wrap_iCamera_SetTransform},
{"cspacec::iCamera_MoveWorld", _wrap_iCamera_MoveWorld},
{"cspacec::iCamera_Move", _wrap_iCamera_Move},
{"cspacec::iCamera_MoveWorldUnrestricted", _wrap_iCamera_MoveWorldUnrestricted},
{"cspacec::iCamera_MoveUnrestricted", _wrap_iCamera_MoveUnrestricted},
{"cspacec::iCamera_GetSector", _wrap_iCamera_GetSector},
{"cspacec::iCamera_SetSector", _wrap_iCamera_SetSector},
{"cspacec::iCamera_Correct", _wrap_iCamera_Correct},
{"cspacec::iCamera_IsMirrored", _wrap_iCamera_IsMirrored},
{"cspacec::iCamera_SetMirrored", _wrap_iCamera_SetMirrored},
{"cspacec::iCamera_GetFarPlane", _wrap_iCamera_GetFarPlane},
{"cspacec::iCamera_SetFarPlane", _wrap_iCamera_SetFarPlane},
{"cspacec::iCamera_GetCameraNumber", _wrap_iCamera_GetCameraNumber},
{"cspacec::iCamera_Perspective", _wrap_iCamera_Perspective},
{"cspacec::iCamera_InvPerspective", _wrap_iCamera_InvPerspective},
{"cspacec::iCamera_OnlyPortals", _wrap_iCamera_OnlyPortals},
{"cspacec::iCamera_GetOnlyPortals", _wrap_iCamera_GetOnlyPortals},
{"cspacec::iCamera_AddCameraSectorListener", _wrap_iCamera_AddCameraSectorListener},
{"cspacec::iCamera_RemoveCameraSectorListener", _wrap_iCamera_RemoveCameraSectorListener},
{"cspacec::delete_iCamera", _wrap_delete_iCamera},
{"cspacec::iCamera_scfGetVersion", _wrap_iCamera_scfGetVersion},
{"cspacec::iCameraPosition_QueryObject", _wrap_iCameraPosition_QueryObject},
{"cspacec::iCameraPosition_Clone", _wrap_iCameraPosition_Clone},
{"cspacec::iCameraPosition_GetSector", _wrap_iCameraPosition_GetSector},
{"cspacec::iCameraPosition_SetSector", _wrap_iCameraPosition_SetSector},
{"cspacec::iCameraPosition_GetPosition", _wrap_iCameraPosition_GetPosition},
{"cspacec::iCameraPosition_SetPosition", _wrap_iCameraPosition_SetPosition},
{"cspacec::iCameraPosition_GetUpwardVector", _wrap_iCameraPosition_GetUpwardVector},
{"cspacec::iCameraPosition_SetUpwardVector", _wrap_iCameraPosition_SetUpwardVector},
{"cspacec::iCameraPosition_GetForwardVector", _wrap_iCameraPosition_GetForwardVector},
{"cspacec::iCameraPosition_SetForwardVector", _wrap_iCameraPosition_SetForwardVector},
{"cspacec::iCameraPosition_Set", _wrap_iCameraPosition_Set},
{"cspacec::iCameraPosition_Load", _wrap_iCameraPosition_Load},
{"cspacec::iCameraPosition_SetFarPlane", _wrap_iCameraPosition_SetFarPlane},
{"cspacec::iCameraPosition_ClearFarPlane", _wrap_iCameraPosition_ClearFarPlane},
{"cspacec::iCameraPosition_GetFarPlane", _wrap_iCameraPosition_GetFarPlane},
{"cspacec::delete_iCameraPosition", _wrap_delete_iCameraPosition},
{"cspacec::iCameraPosition_scfGetVersion", _wrap_iCameraPosition_scfGetVersion},
{"cspacec::iCameraPositionList_NewCameraPosition", _wrap_iCameraPositionList_NewCameraPosition},
{"cspacec::iCameraPositionList_GetCount", _wrap_iCameraPositionList_GetCount},
{"cspacec::iCameraPositionList_Get", _wrap_iCameraPositionList_Get},
{"cspacec::iCameraPositionList_Add", _wrap_iCameraPositionList_Add},
{"cspacec::iCameraPositionList_Remove", _wrap_iCameraPositionList_Remove},
{"cspacec::iCameraPositionList_RemoveAll", _wrap_iCameraPositionList_RemoveAll},
{"cspacec::iCameraPositionList_Find", _wrap_iCameraPositionList_Find},
{"cspacec::iCameraPositionList_FindByName", _wrap_iCameraPositionList_FindByName},
{"cspacec::delete_iCameraPositionList", _wrap_delete_iCameraPositionList},
{"cspacec::iTextureCallback_UseTexture", _wrap_iTextureCallback_UseTexture},
{"cspacec::delete_iTextureCallback", _wrap_delete_iTextureCallback},
{"cspacec::iTextureWrapper_QueryObject", _wrap_iTextureWrapper_QueryObject},
{"cspacec::iTextureWrapper_Clone", _wrap_iTextureWrapper_Clone},
{"cspacec::iTextureWrapper_SetImageFile", _wrap_iTextureWrapper_SetImageFile},
{"cspacec::iTextureWrapper_GetImageFile", _wrap_iTextureWrapper_GetImageFile},
{"cspacec::iTextureWrapper_SetTextureHandle", _wrap_iTextureWrapper_SetTextureHandle},
{"cspacec::iTextureWrapper_GetTextureHandle", _wrap_iTextureWrapper_GetTextureHandle},
{"cspacec::iTextureWrapper_SetKeyColor", _wrap_iTextureWrapper_SetKeyColor},
{"cspacec::iTextureWrapper_GetKeyColor", _wrap_iTextureWrapper_GetKeyColor},
{"cspacec::iTextureWrapper_SetFlags", _wrap_iTextureWrapper_SetFlags},
{"cspacec::iTextureWrapper_GetFlags", _wrap_iTextureWrapper_GetFlags},
{"cspacec::iTextureWrapper_Register", _wrap_iTextureWrapper_Register},
{"cspacec::iTextureWrapper_SetUseCallback", _wrap_iTextureWrapper_SetUseCallback},
{"cspacec::iTextureWrapper_GetUseCallback", _wrap_iTextureWrapper_GetUseCallback},
{"cspacec::iTextureWrapper_Visit", _wrap_iTextureWrapper_Visit},
{"cspacec::iTextureWrapper_IsVisitRequired", _wrap_iTextureWrapper_IsVisitRequired},
{"cspacec::iTextureWrapper_SetKeepImage", _wrap_iTextureWrapper_SetKeepImage},
{"cspacec::iTextureWrapper_KeepImage", _wrap_iTextureWrapper_KeepImage},
{"cspacec::iTextureWrapper_SetTextureClass", _wrap_iTextureWrapper_SetTextureClass},
{"cspacec::iTextureWrapper_GetTextureClass", _wrap_iTextureWrapper_GetTextureClass},
{"cspacec::delete_iTextureWrapper", _wrap_delete_iTextureWrapper},
{"cspacec::iTextureWrapper_scfGetVersion", _wrap_iTextureWrapper_scfGetVersion},
{"cspacec::iTextureList_NewTexture", _wrap_iTextureList_NewTexture},
{"cspacec::iTextureList_GetCount", _wrap_iTextureList_GetCount},
{"cspacec::iTextureList_Get", _wrap_iTextureList_Get},
{"cspacec::iTextureList_Add", _wrap_iTextureList_Add},
{"cspacec::iTextureList_Remove", _wrap_iTextureList_Remove},
{"cspacec::iTextureList_RemoveAll", _wrap_iTextureList_RemoveAll},
{"cspacec::iTextureList_Find", _wrap_iTextureList_Find},
{"cspacec::iTextureList_FindByName", _wrap_iTextureList_FindByName},
{"cspacec::delete_iTextureList", _wrap_delete_iTextureList},
{"cspacec::iTextureList_scfGetVersion", _wrap_iTextureList_scfGetVersion},
{"cspacec::iMaterialWrapper_QueryObject", _wrap_iMaterialWrapper_QueryObject},
{"cspacec::iMaterialWrapper_SetMaterial", _wrap_iMaterialWrapper_SetMaterial},
{"cspacec::iMaterialWrapper_GetMaterial", _wrap_iMaterialWrapper_GetMaterial},
{"cspacec::iMaterialWrapper_Visit", _wrap_iMaterialWrapper_Visit},
{"cspacec::iMaterialWrapper_IsVisitRequired", _wrap_iMaterialWrapper_IsVisitRequired},
{"cspacec::delete_iMaterialWrapper", _wrap_delete_iMaterialWrapper},
{"cspacec::iMaterialWrapper_scfGetVersion", _wrap_iMaterialWrapper_scfGetVersion},
{"cspacec::iMaterialEngine_GetTextureWrapper", _wrap_iMaterialEngine_GetTextureWrapper},
{"cspacec::iMaterialEngine_Visit", _wrap_iMaterialEngine_Visit},
{"cspacec::iMaterialEngine_IsVisitRequired", _wrap_iMaterialEngine_IsVisitRequired},
{"cspacec::delete_iMaterialEngine", _wrap_delete_iMaterialEngine},
{"cspacec::iMaterialList_NewMaterial", _wrap_iMaterialList_NewMaterial},
{"cspacec::iMaterialList_GetCount", _wrap_iMaterialList_GetCount},
{"cspacec::iMaterialList_Get", _wrap_iMaterialList_Get},
{"cspacec::iMaterialList_Add", _wrap_iMaterialList_Add},
{"cspacec::iMaterialList_Remove", _wrap_iMaterialList_Remove},
{"cspacec::iMaterialList_RemoveAll", _wrap_iMaterialList_RemoveAll},
{"cspacec::iMaterialList_Find", _wrap_iMaterialList_Find},
{"cspacec::iMaterialList_FindByName", _wrap_iMaterialList_FindByName},
{"cspacec::delete_iMaterialList", _wrap_delete_iMaterialList},
{"cspacec::iSceneNodeArrayReadOnly_GetSize", _wrap_iSceneNodeArrayReadOnly_GetSize},
{"cspacec::iSceneNodeArrayReadOnly_Get", _wrap_iSceneNodeArrayReadOnly_Get},
{"cspacec::iSceneNodeArrayReadOnly_Top", _wrap_iSceneNodeArrayReadOnly_Top},
{"cspacec::iSceneNodeArrayReadOnly_Find", _wrap_iSceneNodeArrayReadOnly_Find},
{"cspacec::iSceneNodeArrayReadOnly_GetIndex", _wrap_iSceneNodeArrayReadOnly_GetIndex},
{"cspacec::iSceneNodeArrayReadOnly_IsEmpty", _wrap_iSceneNodeArrayReadOnly_IsEmpty},
{"cspacec::iSceneNodeArrayReadOnly_GetAll", _wrap_iSceneNodeArrayReadOnly_GetAll},
{"cspacec::delete_iSceneNodeArrayReadOnly", _wrap_delete_iSceneNodeArrayReadOnly},
{"cspacec::delete_iSceneNodeArray", _wrap_delete_iSceneNodeArray},
{"cspacec::iSceneNodeArray_scfGetVersion", _wrap_iSceneNodeArray_scfGetVersion},
{"cspacec::iSceneNode_GetMovable", _wrap_iSceneNode_GetMovable},
{"cspacec::iSceneNode_QueryMesh", _wrap_iSceneNode_QueryMesh},
{"cspacec::iSceneNode_QueryLight", _wrap_iSceneNode_QueryLight},
{"cspacec::iSceneNode_QueryCamera", _wrap_iSceneNode_QueryCamera},
{"cspacec::iSceneNode_SetParent", _wrap_iSceneNode_SetParent},
{"cspacec::iSceneNode_GetParent", _wrap_iSceneNode_GetParent},
{"cspacec::iSceneNode_GetChildren", _wrap_iSceneNode_GetChildren},
{"cspacec::iSceneNode_GetChildrenArray", _wrap_iSceneNode_GetChildrenArray},
{"cspacec::delete_iSceneNode", _wrap_delete_iSceneNode},
{"cspacec::iSceneNode_scfGetVersion", _wrap_iSceneNode_scfGetVersion},
{"cspacec::iMeshDrawCallback_BeforeDrawing", _wrap_iMeshDrawCallback_BeforeDrawing},
{"cspacec::delete_iMeshDrawCallback", _wrap_delete_iMeshDrawCallback},
{"cspacec::csHitBeamResult_isect_set", _wrap_csHitBeamResult_isect_set},
{"cspacec::csHitBeamResult_isect_get", _wrap_csHitBeamResult_isect_get},
{"cspacec::csHitBeamResult_r_set", _wrap_csHitBeamResult_r_set},
{"cspacec::csHitBeamResult_r_get", _wrap_csHitBeamResult_r_get},
{"cspacec::csHitBeamResult_polygon_idx_set", _wrap_csHitBeamResult_polygon_idx_set},
{"cspacec::csHitBeamResult_polygon_idx_get", _wrap_csHitBeamResult_polygon_idx_get},
{"cspacec::csHitBeamResult_material_set", _wrap_csHitBeamResult_material_set},
{"cspacec::csHitBeamResult_material_get", _wrap_csHitBeamResult_material_get},
{"cspacec::csHitBeamResult_facehit_set", _wrap_csHitBeamResult_facehit_set},
{"cspacec::csHitBeamResult_facehit_get", _wrap_csHitBeamResult_facehit_get},
{"cspacec::csHitBeamResult_hit_set", _wrap_csHitBeamResult_hit_set},
{"cspacec::csHitBeamResult_hit_get", _wrap_csHitBeamResult_hit_get},
{"cspacec::new_csHitBeamResult", _wrap_new_csHitBeamResult},
{"cspacec::delete_csHitBeamResult", _wrap_delete_csHitBeamResult},
{"cspacec::csScreenBoxResult_sbox_set", _wrap_csScreenBoxResult_sbox_set},
{"cspacec::csScreenBoxResult_sbox_get", _wrap_csScreenBoxResult_sbox_get},
{"cspacec::csScreenBoxResult_cbox_set", _wrap_csScreenBoxResult_cbox_set},
{"cspacec::csScreenBoxResult_cbox_get", _wrap_csScreenBoxResult_cbox_get},
{"cspacec::csScreenBoxResult_distance_set", _wrap_csScreenBoxResult_distance_set},
{"cspacec::csScreenBoxResult_distance_get", _wrap_csScreenBoxResult_distance_get},
{"cspacec::new_csScreenBoxResult", _wrap_new_csScreenBoxResult},
{"cspacec::delete_csScreenBoxResult", _wrap_delete_csScreenBoxResult},
{"cspacec::iMeshWrapper_QueryObject", _wrap_iMeshWrapper_QueryObject},
{"cspacec::iMeshWrapper_GetMeshObject", _wrap_iMeshWrapper_GetMeshObject},
{"cspacec::iMeshWrapper_SetMeshObject", _wrap_iMeshWrapper_SetMeshObject},
{"cspacec::iMeshWrapper_GetPortalContainer", _wrap_iMeshWrapper_GetPortalContainer},
{"cspacec::iMeshWrapper_GetLightingInfo", _wrap_iMeshWrapper_GetLightingInfo},
{"cspacec::iMeshWrapper_GetShadowReceiver", _wrap_iMeshWrapper_GetShadowReceiver},
{"cspacec::iMeshWrapper_GetShadowCaster", _wrap_iMeshWrapper_GetShadowCaster},
{"cspacec::iMeshWrapper_GetFactory", _wrap_iMeshWrapper_GetFactory},
{"cspacec::iMeshWrapper_SetFactory", _wrap_iMeshWrapper_SetFactory},
{"cspacec::iMeshWrapper_SetLightingUpdate", _wrap_iMeshWrapper_SetLightingUpdate},
{"cspacec::iMeshWrapper_GetMovable", _wrap_iMeshWrapper_GetMovable},
{"cspacec::iMeshWrapper_QuerySceneNode", _wrap_iMeshWrapper_QuerySceneNode},
{"cspacec::iMeshWrapper_FindChildByName", _wrap_iMeshWrapper_FindChildByName},
{"cspacec::iMeshWrapper_PlaceMesh", _wrap_iMeshWrapper_PlaceMesh},
{"cspacec::iMeshWrapper_HitBeamBBox", _wrap_iMeshWrapper_HitBeamBBox},
{"cspacec::iMeshWrapper_HitBeamOutline", _wrap_iMeshWrapper_HitBeamOutline},
{"cspacec::iMeshWrapper_HitBeamObject", _wrap_iMeshWrapper_HitBeamObject},
{"cspacec::iMeshWrapper_HitBeam", _wrap_iMeshWrapper_HitBeam},
{"cspacec::iMeshWrapper_SetDrawCallback", _wrap_iMeshWrapper_SetDrawCallback},
{"cspacec::iMeshWrapper_RemoveDrawCallback", _wrap_iMeshWrapper_RemoveDrawCallback},
{"cspacec::iMeshWrapper_GetDrawCallbackCount", _wrap_iMeshWrapper_GetDrawCallbackCount},
{"cspacec::iMeshWrapper_GetDrawCallback", _wrap_iMeshWrapper_GetDrawCallback},
{"cspacec::iMeshWrapper_SetRenderPriority", _wrap_iMeshWrapper_SetRenderPriority},
{"cspacec::iMeshWrapper_GetRenderPriority", _wrap_iMeshWrapper_GetRenderPriority},
{"cspacec::iMeshWrapper_SetRenderPriorityRecursive", _wrap_iMeshWrapper_SetRenderPriorityRecursive},
{"cspacec::iMeshWrapper_GetFlags", _wrap_iMeshWrapper_GetFlags},
{"cspacec::iMeshWrapper_SetFlagsRecursive", _wrap_iMeshWrapper_SetFlagsRecursive},
{"cspacec::iMeshWrapper_SetZBufMode", _wrap_iMeshWrapper_SetZBufMode},
{"cspacec::iMeshWrapper_GetZBufMode", _wrap_iMeshWrapper_GetZBufMode},
{"cspacec::iMeshWrapper_SetZBufModeRecursive", _wrap_iMeshWrapper_SetZBufModeRecursive},
{"cspacec::iMeshWrapper_HardTransform", _wrap_iMeshWrapper_HardTransform},
{"cspacec::iMeshWrapper_GetWorldBoundingBox", _wrap_iMeshWrapper_GetWorldBoundingBox},
{"cspacec::iMeshWrapper_GetTransformedBoundingBox", _wrap_iMeshWrapper_GetTransformedBoundingBox},
{"cspacec::iMeshWrapper_GetScreenBoundingBox", _wrap_iMeshWrapper_GetScreenBoundingBox},
{"cspacec::iMeshWrapper_GetRadius", _wrap_iMeshWrapper_GetRadius},
{"cspacec::iMeshWrapper_ResetMinMaxRenderDistance", _wrap_iMeshWrapper_ResetMinMaxRenderDistance},
{"cspacec::iMeshWrapper_SetMinimumRenderDistance", _wrap_iMeshWrapper_SetMinimumRenderDistance},
{"cspacec::iMeshWrapper_GetMinimumRenderDistance", _wrap_iMeshWrapper_GetMinimumRenderDistance},
{"cspacec::iMeshWrapper_SetMaximumRenderDistance", _wrap_iMeshWrapper_SetMaximumRenderDistance},
{"cspacec::iMeshWrapper_GetMaximumRenderDistance", _wrap_iMeshWrapper_GetMaximumRenderDistance},
{"cspacec::iMeshWrapper_SetMinimumRenderDistanceVar", _wrap_iMeshWrapper_SetMinimumRenderDistanceVar},
{"cspacec::iMeshWrapper_GetMinimumRenderDistanceVar", _wrap_iMeshWrapper_GetMinimumRenderDistanceVar},
{"cspacec::iMeshWrapper_SetMaximumRenderDistanceVar", _wrap_iMeshWrapper_SetMaximumRenderDistanceVar},
{"cspacec::iMeshWrapper_GetMaximumRenderDistanceVar", _wrap_iMeshWrapper_GetMaximumRenderDistanceVar},
{"cspacec::iMeshWrapper_CreateStaticLOD", _wrap_iMeshWrapper_CreateStaticLOD},
{"cspacec::iMeshWrapper_DestroyStaticLOD", _wrap_iMeshWrapper_DestroyStaticLOD},
{"cspacec::iMeshWrapper_GetStaticLOD", _wrap_iMeshWrapper_GetStaticLOD},
{"cspacec::iMeshWrapper_AddMeshToStaticLOD", _wrap_iMeshWrapper_AddMeshToStaticLOD},
{"cspacec::iMeshWrapper_RemoveMeshFromStaticLOD", _wrap_iMeshWrapper_RemoveMeshFromStaticLOD},
{"cspacec::iMeshWrapper_GetSVContext", _wrap_iMeshWrapper_GetSVContext},
{"cspacec::delete_iMeshWrapper", _wrap_delete_iMeshWrapper},
{"cspacec::iMeshWrapper_scfGetVersion", _wrap_iMeshWrapper_scfGetVersion},
{"cspacec::iMeshFactoryWrapper_QueryObject", _wrap_iMeshFactoryWrapper_QueryObject},
{"cspacec::iMeshFactoryWrapper_GetMeshObjectFactory", _wrap_iMeshFactoryWrapper_GetMeshObjectFactory},
{"cspacec::iMeshFactoryWrapper_SetMeshObjectFactory", _wrap_iMeshFactoryWrapper_SetMeshObjectFactory},
{"cspacec::iMeshFactoryWrapper_HardTransform", _wrap_iMeshFactoryWrapper_HardTransform},
{"cspacec::iMeshFactoryWrapper_CreateMeshWrapper", _wrap_iMeshFactoryWrapper_CreateMeshWrapper},
{"cspacec::iMeshFactoryWrapper_GetFlags", _wrap_iMeshFactoryWrapper_GetFlags},
{"cspacec::iMeshFactoryWrapper_GetParentContainer", _wrap_iMeshFactoryWrapper_GetParentContainer},
{"cspacec::iMeshFactoryWrapper_SetParentContainer", _wrap_iMeshFactoryWrapper_SetParentContainer},
{"cspacec::iMeshFactoryWrapper_GetChildren", _wrap_iMeshFactoryWrapper_GetChildren},
{"cspacec::iMeshFactoryWrapper_GetTransform", _wrap_iMeshFactoryWrapper_GetTransform},
{"cspacec::iMeshFactoryWrapper_SetTransform", _wrap_iMeshFactoryWrapper_SetTransform},
{"cspacec::iMeshFactoryWrapper_CreateStaticLOD", _wrap_iMeshFactoryWrapper_CreateStaticLOD},
{"cspacec::iMeshFactoryWrapper_DestroyStaticLOD", _wrap_iMeshFactoryWrapper_DestroyStaticLOD},
{"cspacec::iMeshFactoryWrapper_SetStaticLOD", _wrap_iMeshFactoryWrapper_SetStaticLOD},
{"cspacec::iMeshFactoryWrapper_GetStaticLOD", _wrap_iMeshFactoryWrapper_GetStaticLOD},
{"cspacec::iMeshFactoryWrapper_AddFactoryToStaticLOD", _wrap_iMeshFactoryWrapper_AddFactoryToStaticLOD},
{"cspacec::iMeshFactoryWrapper_RemoveFactoryFromStaticLOD", _wrap_iMeshFactoryWrapper_RemoveFactoryFromStaticLOD},
{"cspacec::iMeshFactoryWrapper_SetZBufMode", _wrap_iMeshFactoryWrapper_SetZBufMode},
{"cspacec::iMeshFactoryWrapper_GetZBufMode", _wrap_iMeshFactoryWrapper_GetZBufMode},
{"cspacec::iMeshFactoryWrapper_SetZBufModeRecursive", _wrap_iMeshFactoryWrapper_SetZBufModeRecursive},
{"cspacec::iMeshFactoryWrapper_SetRenderPriority", _wrap_iMeshFactoryWrapper_SetRenderPriority},
{"cspacec::iMeshFactoryWrapper_GetRenderPriority", _wrap_iMeshFactoryWrapper_GetRenderPriority},
{"cspacec::iMeshFactoryWrapper_SetRenderPriorityRecursive", _wrap_iMeshFactoryWrapper_SetRenderPriorityRecursive},
{"cspacec::iMeshFactoryWrapper_GetSVContext", _wrap_iMeshFactoryWrapper_GetSVContext},
{"cspacec::delete_iMeshFactoryWrapper", _wrap_delete_iMeshFactoryWrapper},
{"cspacec::iMeshFactoryWrapper_scfGetVersion", _wrap_iMeshFactoryWrapper_scfGetVersion},
{"cspacec::iMeshList_GetCount", _wrap_iMeshList_GetCount},
{"cspacec::iMeshList_Get", _wrap_iMeshList_Get},
{"cspacec::iMeshList_Add", _wrap_iMeshList_Add},
{"cspacec::iMeshList_Remove", _wrap_iMeshList_Remove},
{"cspacec::iMeshList_RemoveAll", _wrap_iMeshList_RemoveAll},
{"cspacec::iMeshList_Find", _wrap_iMeshList_Find},
{"cspacec::iMeshList_FindByName", _wrap_iMeshList_FindByName},
{"cspacec::delete_iMeshList", _wrap_delete_iMeshList},
{"cspacec::iMeshFactoryList_GetCount", _wrap_iMeshFactoryList_GetCount},
{"cspacec::iMeshFactoryList_Get", _wrap_iMeshFactoryList_Get},
{"cspacec::iMeshFactoryList_Add", _wrap_iMeshFactoryList_Add},
{"cspacec::iMeshFactoryList_Remove", _wrap_iMeshFactoryList_Remove},
{"cspacec::iMeshFactoryList_RemoveAll", _wrap_iMeshFactoryList_RemoveAll},
{"cspacec::iMeshFactoryList_Find", _wrap_iMeshFactoryList_Find},
{"cspacec::iMeshFactoryList_FindByName", _wrap_iMeshFactoryList_FindByName},
{"cspacec::delete_iMeshFactoryList", _wrap_delete_iMeshFactoryList},
{"cspacec::iMeshWrapperIterator_Next", _wrap_iMeshWrapperIterator_Next},
{"cspacec::iMeshWrapperIterator_Reset", _wrap_iMeshWrapperIterator_Reset},
{"cspacec::iMeshWrapperIterator_HasNext", _wrap_iMeshWrapperIterator_HasNext},
{"cspacec::delete_iMeshWrapperIterator", _wrap_delete_iMeshWrapperIterator},
{"cspacec::iMeshWrapperIterator_scfGetVersion", _wrap_iMeshWrapperIterator_scfGetVersion},
{"cspacec::iMovableListener_MovableChanged", _wrap_iMovableListener_MovableChanged},
{"cspacec::iMovableListener_MovableDestroyed", _wrap_iMovableListener_MovableDestroyed},
{"cspacec::delete_iMovableListener", _wrap_delete_iMovableListener},
{"cspacec::iMovableListener_scfGetVersion", _wrap_iMovableListener_scfGetVersion},
{"cspacec::iMovable_GetSceneNode", _wrap_iMovable_GetSceneNode},
{"cspacec::iMovable_SetSector", _wrap_iMovable_SetSector},
{"cspacec::iMovable_ClearSectors", _wrap_iMovable_ClearSectors},
{"cspacec::iMovable_GetSectors", _wrap_iMovable_GetSectors},
{"cspacec::iMovable_InSector", _wrap_iMovable_InSector},
{"cspacec::iMovable_SetPosition", _wrap_iMovable_SetPosition},
{"cspacec::iMovable_GetPosition", _wrap_iMovable_GetPosition},
{"cspacec::iMovable_GetFullPosition", _wrap_iMovable_GetFullPosition},
{"cspacec::iMovable_SetTransform", _wrap_iMovable_SetTransform},
{"cspacec::iMovable_GetTransform", _wrap_iMovable_GetTransform},
{"cspacec::iMovable_GetFullTransform", _wrap_iMovable_GetFullTransform},
{"cspacec::iMovable_MovePosition", _wrap_iMovable_MovePosition},
{"cspacec::iMovable_Transform", _wrap_iMovable_Transform},
{"cspacec::iMovable_AddListener", _wrap_iMovable_AddListener},
{"cspacec::iMovable_RemoveListener", _wrap_iMovable_RemoveListener},
{"cspacec::iMovable_UpdateMove", _wrap_iMovable_UpdateMove},
{"cspacec::iMovable_GetUpdateNumber", _wrap_iMovable_GetUpdateNumber},
{"cspacec::iMovable_IsTransformIdentity", _wrap_iMovable_IsTransformIdentity},
{"cspacec::iMovable_IsFullTransformIdentity", _wrap_iMovable_IsFullTransformIdentity},
{"cspacec::iMovable_TransformIdentity", _wrap_iMovable_TransformIdentity},
{"cspacec::delete_iMovable", _wrap_delete_iMovable},
{"cspacec::iMovable_scfGetVersion", _wrap_iMovable_scfGetVersion},
{"cspacec::iRegion_QueryObject", _wrap_iRegion_QueryObject},
{"cspacec::iRegion_Add", _wrap_iRegion_Add},
{"cspacec::iRegion_Remove", _wrap_iRegion_Remove},
{"cspacec::iRegion_Clear", _wrap_iRegion_Clear},
{"cspacec::iRegion_DeleteAll", _wrap_iRegion_DeleteAll},
{"cspacec::iRegion_PrepareTextures", _wrap_iRegion_PrepareTextures},
{"cspacec::iRegion_ShineLights", _wrap_iRegion_ShineLights},
{"cspacec::iRegion_Prepare", _wrap_iRegion_Prepare},
{"cspacec::iRegion_FindSector", _wrap_iRegion_FindSector},
{"cspacec::iRegion_FindMeshObject", _wrap_iRegion_FindMeshObject},
{"cspacec::iRegion_FindMeshFactory", _wrap_iRegion_FindMeshFactory},
{"cspacec::iRegion_FindTexture", _wrap_iRegion_FindTexture},
{"cspacec::iRegion_FindMaterial", _wrap_iRegion_FindMaterial},
{"cspacec::iRegion_FindCameraPosition", _wrap_iRegion_FindCameraPosition},
{"cspacec::iRegion_FindCollection", _wrap_iRegion_FindCollection},
{"cspacec::iRegion_IsInRegion", _wrap_iRegion_IsInRegion},
{"cspacec::delete_iRegion", _wrap_delete_iRegion},
{"cspacec::iRegionList_GetCount", _wrap_iRegionList_GetCount},
{"cspacec::iRegionList_Get", _wrap_iRegionList_Get},
{"cspacec::iRegionList_Add", _wrap_iRegionList_Add},
{"cspacec::iRegionList_Remove", _wrap_iRegionList_Remove},
{"cspacec::iRegionList_RemoveAll", _wrap_iRegionList_RemoveAll},
{"cspacec::iRegionList_Find", _wrap_iRegionList_Find},
{"cspacec::iRegionList_FindByName", _wrap_iRegionList_FindByName},
{"cspacec::delete_iRegionList", _wrap_delete_iRegionList},
{"cspacec::iVisibilityObjectIterator_HasNext", _wrap_iVisibilityObjectIterator_HasNext},
{"cspacec::iVisibilityObjectIterator_Next", _wrap_iVisibilityObjectIterator_Next},
{"cspacec::iVisibilityObjectIterator_Reset", _wrap_iVisibilityObjectIterator_Reset},
{"cspacec::delete_iVisibilityObjectIterator", _wrap_delete_iVisibilityObjectIterator},
{"cspacec::iVisibilityCullerListener_ObjectVisible", _wrap_iVisibilityCullerListener_ObjectVisible},
{"cspacec::delete_iVisibilityCullerListener", _wrap_delete_iVisibilityCullerListener},
{"cspacec::iVisibilityCuller_Setup", _wrap_iVisibilityCuller_Setup},
{"cspacec::iVisibilityCuller_RegisterVisObject", _wrap_iVisibilityCuller_RegisterVisObject},
{"cspacec::iVisibilityCuller_UnregisterVisObject", _wrap_iVisibilityCuller_UnregisterVisObject},
{"cspacec::iVisibilityCuller_PrecacheCulling", _wrap_iVisibilityCuller_PrecacheCulling},
{"cspacec::iVisibilityCuller_VisTest", _wrap_iVisibilityCuller_VisTest},
{"cspacec::iVisibilityCuller_IntersectSegmentSloppy", _wrap_iVisibilityCuller_IntersectSegmentSloppy},
{"cspacec::iVisibilityCuller_IntersectSegment", _wrap_iVisibilityCuller_IntersectSegment},
{"cspacec::iVisibilityCuller_CastShadows", _wrap_iVisibilityCuller_CastShadows},
{"cspacec::iVisibilityCuller_ParseCullerParameters", _wrap_iVisibilityCuller_ParseCullerParameters},
{"cspacec::delete_iVisibilityCuller", _wrap_delete_iVisibilityCuller},
{"cspacec::iVisibilityCuller_scfGetVersion", _wrap_iVisibilityCuller_scfGetVersion},
{"cspacec::iVisibilityObject_GetMovable", _wrap_iVisibilityObject_GetMovable},
{"cspacec::iVisibilityObject_GetMeshWrapper", _wrap_iVisibilityObject_GetMeshWrapper},
{"cspacec::iVisibilityObject_GetObjectModel", _wrap_iVisibilityObject_GetObjectModel},
{"cspacec::iVisibilityObject_GetCullerFlags", _wrap_iVisibilityObject_GetCullerFlags},
{"cspacec::delete_iVisibilityObject", _wrap_delete_iVisibilityObject},
{"cspacec::iPortalCallback_Traverse", _wrap_iPortalCallback_Traverse},
{"cspacec::delete_iPortalCallback", _wrap_delete_iPortalCallback},
{"cspacec::iPortal_SetName", _wrap_iPortal_SetName},
{"cspacec::iPortal_GetName", _wrap_iPortal_GetName},
{"cspacec::iPortal_GetSector", _wrap_iPortal_GetSector},
{"cspacec::iPortal_GetVertices", _wrap_iPortal_GetVertices},
{"cspacec::iPortal_GetWorldVertices", _wrap_iPortal_GetWorldVertices},
{"cspacec::iPortal_GetVertexIndices", _wrap_iPortal_GetVertexIndices},
{"cspacec::iPortal_GetVertexIndicesCount", _wrap_iPortal_GetVertexIndicesCount},
{"cspacec::iPortal_GetObjectPlane", _wrap_iPortal_GetObjectPlane},
{"cspacec::iPortal_GetWorldPlane", _wrap_iPortal_GetWorldPlane},
{"cspacec::iPortal_ComputeCameraPlane", _wrap_iPortal_ComputeCameraPlane},
{"cspacec::iPortal_PointOnPolygon", _wrap_iPortal_PointOnPolygon},
{"cspacec::iPortal_SetSector", _wrap_iPortal_SetSector},
{"cspacec::iPortal_GetFlags", _wrap_iPortal_GetFlags},
{"cspacec::iPortal_SetMaximumSectorVisit", _wrap_iPortal_SetMaximumSectorVisit},
{"cspacec::iPortal_GetMaximumSectorVisit", _wrap_iPortal_GetMaximumSectorVisit},
{"cspacec::iPortal_SetPortalCallback", _wrap_iPortal_SetPortalCallback},
{"cspacec::iPortal_RemovePortalCallback", _wrap_iPortal_RemovePortalCallback},
{"cspacec::iPortal_GetPortalCallbackCount", _wrap_iPortal_GetPortalCallbackCount},
{"cspacec::iPortal_GetPortalCallback", _wrap_iPortal_GetPortalCallback},
{"cspacec::iPortal_SetMissingSectorCallback", _wrap_iPortal_SetMissingSectorCallback},
{"cspacec::iPortal_RemoveMissingSectorCallback", _wrap_iPortal_RemoveMissingSectorCallback},
{"cspacec::iPortal_GetMissingSectorCallbackCount", _wrap_iPortal_GetMissingSectorCallbackCount},
{"cspacec::iPortal_GetMissingSectorCallback", _wrap_iPortal_GetMissingSectorCallback},
{"cspacec::iPortal_GetTextureFilter", _wrap_iPortal_GetTextureFilter},
{"cspacec::iPortal_SetFilter", _wrap_iPortal_SetFilter},
{"cspacec::iPortal_GetColorFilter", _wrap_iPortal_GetColorFilter},
{"cspacec::iPortal_SetWarp", _wrap_iPortal_SetWarp},
{"cspacec::iPortal_SetMirror", _wrap_iPortal_SetMirror},
{"cspacec::iPortal_GetWarp", _wrap_iPortal_GetWarp},
{"cspacec::iPortal_HardTransform", _wrap_iPortal_HardTransform},
{"cspacec::iPortal_ObjectToWorld", _wrap_iPortal_ObjectToWorld},
{"cspacec::iPortal_Warp", _wrap_iPortal_Warp},
{"cspacec::iPortal_WarpSpace", _wrap_iPortal_WarpSpace},
{"cspacec::iPortal_CompleteSector", _wrap_iPortal_CompleteSector},
{"cspacec::iPortal_CheckFrustum", _wrap_iPortal_CheckFrustum},
{"cspacec::iPortal_HitBeamPortals", _wrap_iPortal_HitBeamPortals},
{"cspacec::iPortal_GetVerticesCount", _wrap_iPortal_GetVerticesCount},
{"cspacec::delete_iPortal", _wrap_delete_iPortal},
{"cspacec::iPortal_scfGetVersion", _wrap_iPortal_scfGetVersion},
{"cspacec::iPortalContainer_GetPortalCount", _wrap_iPortalContainer_GetPortalCount},
{"cspacec::iPortalContainer_GetPortal", _wrap_iPortalContainer_GetPortal},
{"cspacec::iPortalContainer_CreatePortal", _wrap_iPortalContainer_CreatePortal},
{"cspacec::iPortalContainer_RemovePortal", _wrap_iPortalContainer_RemovePortal},
{"cspacec::iPortalContainer_Draw", _wrap_iPortalContainer_Draw},
{"cspacec::delete_iPortalContainer", _wrap_delete_iPortalContainer},
{"cspacec::iPortalContainer_scfGetVersion", _wrap_iPortalContainer_scfGetVersion},
{"cspacec::iGeneralMeshSubMesh_GetIndices", _wrap_iGeneralMeshSubMesh_GetIndices},
{"cspacec::iGeneralMeshSubMesh_GetMaterial", _wrap_iGeneralMeshSubMesh_GetMaterial},
{"cspacec::iGeneralMeshSubMesh_GetName", _wrap_iGeneralMeshSubMesh_GetName},
{"cspacec::iGeneralMeshSubMesh_GetMixmode", _wrap_iGeneralMeshSubMesh_GetMixmode},
{"cspacec::iGeneralMeshSubMesh_SetMaterial", _wrap_iGeneralMeshSubMesh_SetMaterial},
{"cspacec::delete_iGeneralMeshSubMesh", _wrap_delete_iGeneralMeshSubMesh},
{"cspacec::iGeneralMeshCommonState_SetLighting", _wrap_iGeneralMeshCommonState_SetLighting},
{"cspacec::iGeneralMeshCommonState_IsLighting", _wrap_iGeneralMeshCommonState_IsLighting},
{"cspacec::iGeneralMeshCommonState_SetManualColors", _wrap_iGeneralMeshCommonState_SetManualColors},
{"cspacec::iGeneralMeshCommonState_IsManualColors", _wrap_iGeneralMeshCommonState_IsManualColors},
{"cspacec::iGeneralMeshCommonState_SetShadowCasting", _wrap_iGeneralMeshCommonState_SetShadowCasting},
{"cspacec::iGeneralMeshCommonState_IsShadowCasting", _wrap_iGeneralMeshCommonState_IsShadowCasting},
{"cspacec::iGeneralMeshCommonState_SetShadowReceiving", _wrap_iGeneralMeshCommonState_SetShadowReceiving},
{"cspacec::iGeneralMeshCommonState_IsShadowReceiving", _wrap_iGeneralMeshCommonState_IsShadowReceiving},
{"cspacec::iGeneralMeshCommonState_AddRenderBuffer", _wrap_iGeneralMeshCommonState_AddRenderBuffer},
{"cspacec::iGeneralMeshCommonState_RemoveRenderBuffer", _wrap_iGeneralMeshCommonState_RemoveRenderBuffer},
{"cspacec::iGeneralMeshCommonState_GetRenderBufferCount", _wrap_iGeneralMeshCommonState_GetRenderBufferCount},
{"cspacec::iGeneralMeshCommonState_GetRenderBuffer", _wrap_iGeneralMeshCommonState_GetRenderBuffer},
{"cspacec::iGeneralMeshCommonState_GetRenderBufferName", _wrap_iGeneralMeshCommonState_GetRenderBufferName},
{"cspacec::delete_iGeneralMeshCommonState", _wrap_delete_iGeneralMeshCommonState},
{"cspacec::iGeneralMeshState_SetAnimationControl", _wrap_iGeneralMeshState_SetAnimationControl},
{"cspacec::iGeneralMeshState_GetAnimationControl", _wrap_iGeneralMeshState_GetAnimationControl},
{"cspacec::iGeneralMeshState_FindSubMesh", _wrap_iGeneralMeshState_FindSubMesh},
{"cspacec::iGeneralMeshState_AddSubMesh", _wrap_iGeneralMeshState_AddSubMesh},
{"cspacec::delete_iGeneralMeshState", _wrap_delete_iGeneralMeshState},
{"cspacec::iGeneralMeshState_scfGetVersion", _wrap_iGeneralMeshState_scfGetVersion},
{"cspacec::iGeneralFactoryState_SetColor", _wrap_iGeneralFactoryState_SetColor},
{"cspacec::iGeneralFactoryState_GetColor", _wrap_iGeneralFactoryState_GetColor},
{"cspacec::iGeneralFactoryState_AddVertex", _wrap_iGeneralFactoryState_AddVertex},
{"cspacec::iGeneralFactoryState_SetVertexCount", _wrap_iGeneralFactoryState_SetVertexCount},
{"cspacec::iGeneralFactoryState_GetVertexCount", _wrap_iGeneralFactoryState_GetVertexCount},
{"cspacec::iGeneralFactoryState_AddTriangle", _wrap_iGeneralFactoryState_AddTriangle},
{"cspacec::iGeneralFactoryState_SetTriangleCount", _wrap_iGeneralFactoryState_SetTriangleCount},
{"cspacec::iGeneralFactoryState_GetTriangleCount", _wrap_iGeneralFactoryState_GetTriangleCount},
{"cspacec::iGeneralFactoryState_Invalidate", _wrap_iGeneralFactoryState_Invalidate},
{"cspacec::iGeneralFactoryState_CalculateNormals", _wrap_iGeneralFactoryState_CalculateNormals},
{"cspacec::iGeneralFactoryState_Compress", _wrap_iGeneralFactoryState_Compress},
{"cspacec::iGeneralFactoryState_GenerateBox", _wrap_iGeneralFactoryState_GenerateBox},
{"cspacec::iGeneralFactoryState_GenerateSphere", _wrap_iGeneralFactoryState_GenerateSphere},
{"cspacec::iGeneralFactoryState_SetBack2Front", _wrap_iGeneralFactoryState_SetBack2Front},
{"cspacec::iGeneralFactoryState_IsAutoNormals", _wrap_iGeneralFactoryState_IsAutoNormals},
{"cspacec::iGeneralFactoryState_IsBack2Front", _wrap_iGeneralFactoryState_IsBack2Front},
{"cspacec::iGeneralFactoryState_SetAnimationControlFactory", _wrap_iGeneralFactoryState_SetAnimationControlFactory},
{"cspacec::iGeneralFactoryState_GetAnimationControlFactory", _wrap_iGeneralFactoryState_GetAnimationControlFactory},
{"cspacec::iGeneralFactoryState_ClearSubMeshes", _wrap_iGeneralFactoryState_ClearSubMeshes},
{"cspacec::iGeneralFactoryState_AddSubMesh", _wrap_iGeneralFactoryState_AddSubMesh},
{"cspacec::iGeneralFactoryState_FindSubMesh", _wrap_iGeneralFactoryState_FindSubMesh},
{"cspacec::iGeneralFactoryState_DeleteSubMesh", _wrap_iGeneralFactoryState_DeleteSubMesh},
{"cspacec::iGeneralFactoryState_GetSubMeshCount", _wrap_iGeneralFactoryState_GetSubMeshCount},
{"cspacec::iGeneralFactoryState_GetSubMesh", _wrap_iGeneralFactoryState_GetSubMesh},
{"cspacec::iGeneralFactoryState_DisableAutoNormals", _wrap_iGeneralFactoryState_DisableAutoNormals},
{"cspacec::delete_iGeneralFactoryState", _wrap_delete_iGeneralFactoryState},
{"cspacec::iGeneralFactoryState_scfGetVersion", _wrap_iGeneralFactoryState_scfGetVersion},
{"cspacec::iGeneralFactoryState_GetVertexByIndex", _wrap_iGeneralFactoryState_GetVertexByIndex},
{"cspacec::iGeneralFactoryState_GetTexelByIndex", _wrap_iGeneralFactoryState_GetTexelByIndex},
{"cspacec::iGeneralFactoryState_GetNormalByIndex", _wrap_iGeneralFactoryState_GetNormalByIndex},
{"cspacec::iGeneralFactoryState_GetTriangleByIndex", _wrap_iGeneralFactoryState_GetTriangleByIndex},
{"cspacec::iGeneralFactoryState_GetColorByIndex", _wrap_iGeneralFactoryState_GetColorByIndex},
{"cspacec::iGenMeshAnimationControl_AnimatesVertices", _wrap_iGenMeshAnimationControl_AnimatesVertices},
{"cspacec::iGenMeshAnimationControl_AnimatesTexels", _wrap_iGenMeshAnimationControl_AnimatesTexels},
{"cspacec::iGenMeshAnimationControl_AnimatesNormals", _wrap_iGenMeshAnimationControl_AnimatesNormals},
{"cspacec::iGenMeshAnimationControl_AnimatesColors", _wrap_iGenMeshAnimationControl_AnimatesColors},
{"cspacec::iGenMeshAnimationControl_Update", _wrap_iGenMeshAnimationControl_Update},
{"cspacec::iGenMeshAnimationControl_UpdateVertices", _wrap_iGenMeshAnimationControl_UpdateVertices},
{"cspacec::iGenMeshAnimationControl_UpdateTexels", _wrap_iGenMeshAnimationControl_UpdateTexels},
{"cspacec::iGenMeshAnimationControl_UpdateNormals", _wrap_iGenMeshAnimationControl_UpdateNormals},
{"cspacec::iGenMeshAnimationControl_UpdateColors", _wrap_iGenMeshAnimationControl_UpdateColors},
{"cspacec::delete_iGenMeshAnimationControl", _wrap_delete_iGenMeshAnimationControl},
{"cspacec::iGenMeshAnimationControlFactory_CreateAnimationControl", _wrap_iGenMeshAnimationControlFactory_CreateAnimationControl},
{"cspacec::iGenMeshAnimationControlFactory_Load", _wrap_iGenMeshAnimationControlFactory_Load},
{"cspacec::iGenMeshAnimationControlFactory_Save", _wrap_iGenMeshAnimationControlFactory_Save},
{"cspacec::delete_iGenMeshAnimationControlFactory", _wrap_delete_iGenMeshAnimationControlFactory},
{"cspacec::iGenMeshAnimationControlType_CreateAnimationControlFactory", _wrap_iGenMeshAnimationControlType_CreateAnimationControlFactory},
{"cspacec::delete_iGenMeshAnimationControlType", _wrap_delete_iGenMeshAnimationControlType},
{"cspacec::iSkeletonBone_GetName", _wrap_iSkeletonBone_GetName},
{"cspacec::iSkeletonBone_SetName", _wrap_iSkeletonBone_SetName},
{"cspacec::iSkeletonBone_GetTransform", _wrap_iSkeletonBone_GetTransform},
{"cspacec::iSkeletonBone_SetTransform", _wrap_iSkeletonBone_SetTransform},
{"cspacec::iSkeletonBone_GetFullTransform", _wrap_iSkeletonBone_GetFullTransform},
{"cspacec::iSkeletonBone_SetParent", _wrap_iSkeletonBone_SetParent},
{"cspacec::iSkeletonBone_GetParent", _wrap_iSkeletonBone_GetParent},
{"cspacec::iSkeletonBone_GetChildrenCount", _wrap_iSkeletonBone_GetChildrenCount},
{"cspacec::iSkeletonBone_GetChild", _wrap_iSkeletonBone_GetChild},
{"cspacec::iSkeletonBone_FindChild", _wrap_iSkeletonBone_FindChild},
{"cspacec::iSkeletonBone_FindChildIndex", _wrap_iSkeletonBone_FindChildIndex},
{"cspacec::iSkeletonBone_SetSkinBox", _wrap_iSkeletonBone_SetSkinBox},
{"cspacec::iSkeletonBone_GetSkinBox", _wrap_iSkeletonBone_GetSkinBox},
{"cspacec::iSkeletonBone_SetUpdateCallback", _wrap_iSkeletonBone_SetUpdateCallback},
{"cspacec::iSkeletonBone_GetUpdateCallback", _wrap_iSkeletonBone_GetUpdateCallback},
{"cspacec::iSkeletonBone_GetFactory", _wrap_iSkeletonBone_GetFactory},
{"cspacec::iSkeletonBone_SetTransformMode", _wrap_iSkeletonBone_SetTransformMode},
{"cspacec::iSkeletonBone_GetTransformMode", _wrap_iSkeletonBone_GetTransformMode},
{"cspacec::delete_iSkeletonBone", _wrap_delete_iSkeletonBone},
{"cspacec::iSkeletonBone_scfGetVersion", _wrap_iSkeletonBone_scfGetVersion},
{"cspacec::iSkeletonBoneUpdateCallback_UpdateTransform", _wrap_iSkeletonBoneUpdateCallback_UpdateTransform},
{"cspacec::delete_iSkeletonBoneUpdateCallback", _wrap_delete_iSkeletonBoneUpdateCallback},
{"cspacec::iSkeletonScriptKeyFrame_GetName", _wrap_iSkeletonScriptKeyFrame_GetName},
{"cspacec::iSkeletonScriptKeyFrame_SetName", _wrap_iSkeletonScriptKeyFrame_SetName},
{"cspacec::iSkeletonScriptKeyFrame_GetDuration", _wrap_iSkeletonScriptKeyFrame_GetDuration},
{"cspacec::iSkeletonScriptKeyFrame_SetDuration", _wrap_iSkeletonScriptKeyFrame_SetDuration},
{"cspacec::iSkeletonScriptKeyFrame_GetTransformsCount", _wrap_iSkeletonScriptKeyFrame_GetTransformsCount},
{"cspacec::iSkeletonScriptKeyFrame_AddTransform", _wrap_iSkeletonScriptKeyFrame_AddTransform},
{"cspacec::iSkeletonScriptKeyFrame_GetTransform", _wrap_iSkeletonScriptKeyFrame_GetTransform},
{"cspacec::iSkeletonScriptKeyFrame_SetTransform", _wrap_iSkeletonScriptKeyFrame_SetTransform},
{"cspacec::iSkeletonScriptKeyFrame_GetKeyFrameData", _wrap_iSkeletonScriptKeyFrame_GetKeyFrameData},
{"cspacec::delete_iSkeletonScriptKeyFrame", _wrap_delete_iSkeletonScriptKeyFrame},
{"cspacec::iSkeletonScriptKeyFrame_scfGetVersion", _wrap_iSkeletonScriptKeyFrame_scfGetVersion},
{"cspacec::iSkeletonScript_GetName", _wrap_iSkeletonScript_GetName},
{"cspacec::iSkeletonScript_SetName", _wrap_iSkeletonScript_SetName},
{"cspacec::iSkeletonScript_GetTime", _wrap_iSkeletonScript_GetTime},
{"cspacec::iSkeletonScript_SetTime", _wrap_iSkeletonScript_SetTime},
{"cspacec::iSkeletonScript_GetSpeed", _wrap_iSkeletonScript_GetSpeed},
{"cspacec::iSkeletonScript_SetSpeed", _wrap_iSkeletonScript_SetSpeed},
{"cspacec::iSkeletonScript_SetFactor", _wrap_iSkeletonScript_SetFactor},
{"cspacec::iSkeletonScript_GetFactor", _wrap_iSkeletonScript_GetFactor},
{"cspacec::iSkeletonScript_SetLoop", _wrap_iSkeletonScript_SetLoop},
{"cspacec::iSkeletonScript_GetLoop", _wrap_iSkeletonScript_GetLoop},
{"cspacec::iSkeletonScript_CreateFrame", _wrap_iSkeletonScript_CreateFrame},
{"cspacec::iSkeletonScript_GetFramesCount", _wrap_iSkeletonScript_GetFramesCount},
{"cspacec::iSkeletonScript_GetFrame", _wrap_iSkeletonScript_GetFrame},
{"cspacec::iSkeletonScript_FindFrameIndex", _wrap_iSkeletonScript_FindFrameIndex},
{"cspacec::iSkeletonScript_RemoveFrame", _wrap_iSkeletonScript_RemoveFrame},
{"cspacec::iSkeletonScript_RecalcSpline", _wrap_iSkeletonScript_RecalcSpline},
{"cspacec::delete_iSkeletonScript", _wrap_delete_iSkeletonScript},
{"cspacec::iSkeletonScript_scfGetVersion", _wrap_iSkeletonScript_scfGetVersion},
{"cspacec::iSkeletonScriptCallback_Execute", _wrap_iSkeletonScriptCallback_Execute},
{"cspacec::iSkeletonScriptCallback_OnFinish", _wrap_iSkeletonScriptCallback_OnFinish},
{"cspacec::delete_iSkeletonScriptCallback", _wrap_delete_iSkeletonScriptCallback},
{"cspacec::iSkeletonUpdateCallback_Execute", _wrap_iSkeletonUpdateCallback_Execute},
{"cspacec::delete_iSkeletonUpdateCallback", _wrap_delete_iSkeletonUpdateCallback},
{"cspacec::iSkeleton_GetName", _wrap_iSkeleton_GetName},
{"cspacec::iSkeleton_SetName", _wrap_iSkeleton_SetName},
{"cspacec::iSkeleton_GetBonesCount", _wrap_iSkeleton_GetBonesCount},
{"cspacec::iSkeleton_GetBone", _wrap_iSkeleton_GetBone},
{"cspacec::iSkeleton_FindBone", _wrap_iSkeleton_FindBone},
{"cspacec::iSkeleton_FindBoneIndex", _wrap_iSkeleton_FindBoneIndex},
{"cspacec::iSkeleton_Execute", _wrap_iSkeleton_Execute},
{"cspacec::iSkeleton_Append", _wrap_iSkeleton_Append},
{"cspacec::iSkeleton_ClearPendingScripts", _wrap_iSkeleton_ClearPendingScripts},
{"cspacec::iSkeleton_GetScriptsCount", _wrap_iSkeleton_GetScriptsCount},
{"cspacec::iSkeleton_GetScript", _wrap_iSkeleton_GetScript},
{"cspacec::iSkeleton_FindScript", _wrap_iSkeleton_FindScript},
{"cspacec::iSkeleton_FindSocket", _wrap_iSkeleton_FindSocket},
{"cspacec::iSkeleton_StopAll", _wrap_iSkeleton_StopAll},
{"cspacec::iSkeleton_Stop", _wrap_iSkeleton_Stop},
{"cspacec::iSkeleton_GetFactory", _wrap_iSkeleton_GetFactory},
{"cspacec::iSkeleton_SetScriptCallback", _wrap_iSkeleton_SetScriptCallback},
{"cspacec::iSkeleton_AddUpdateCallback", _wrap_iSkeleton_AddUpdateCallback},
{"cspacec::iSkeleton_GetUpdateCallbacksCount", _wrap_iSkeleton_GetUpdateCallbacksCount},
{"cspacec::iSkeleton_GetUpdateCallback", _wrap_iSkeleton_GetUpdateCallback},
{"cspacec::iSkeleton_RemoveUpdateCallback", _wrap_iSkeleton_RemoveUpdateCallback},
{"cspacec::delete_iSkeleton", _wrap_delete_iSkeleton},
{"cspacec::iSkeleton_scfGetVersion", _wrap_iSkeleton_scfGetVersion},
{"cspacec::iSkeletonSocket_GetName", _wrap_iSkeletonSocket_GetName},
{"cspacec::iSkeletonSocket_SetName", _wrap_iSkeletonSocket_SetName},
{"cspacec::iSkeletonSocket_GetTransform", _wrap_iSkeletonSocket_GetTransform},
{"cspacec::iSkeletonSocket_SetTransform", _wrap_iSkeletonSocket_SetTransform},
{"cspacec::iSkeletonSocket_GetFullTransform", _wrap_iSkeletonSocket_GetFullTransform},
{"cspacec::iSkeletonSocket_SetBone", _wrap_iSkeletonSocket_SetBone},
{"cspacec::iSkeletonSocket_GetBone", _wrap_iSkeletonSocket_GetBone},
{"cspacec::iSkeletonSocket_SetSceneNode", _wrap_iSkeletonSocket_SetSceneNode},
{"cspacec::iSkeletonSocket_GetSceneNode", _wrap_iSkeletonSocket_GetSceneNode},
{"cspacec::iSkeletonSocket_GetFactory", _wrap_iSkeletonSocket_GetFactory},
{"cspacec::delete_iSkeletonSocket", _wrap_delete_iSkeletonSocket},
{"cspacec::iSkeletonSocket_scfGetVersion", _wrap_iSkeletonSocket_scfGetVersion},
{"cspacec::iSkeletonBoneRagdollInfo_SetEnabled", _wrap_iSkeletonBoneRagdollInfo_SetEnabled},
{"cspacec::iSkeletonBoneRagdollInfo_GetEnabled", _wrap_iSkeletonBoneRagdollInfo_GetEnabled},
{"cspacec::iSkeletonBoneRagdollInfo_SetAttachToParent", _wrap_iSkeletonBoneRagdollInfo_SetAttachToParent},
{"cspacec::iSkeletonBoneRagdollInfo_GetAttachToParent", _wrap_iSkeletonBoneRagdollInfo_GetAttachToParent},
{"cspacec::iSkeletonBoneRagdollInfo_SetGeomName", _wrap_iSkeletonBoneRagdollInfo_SetGeomName},
{"cspacec::iSkeletonBoneRagdollInfo_GetGeomName", _wrap_iSkeletonBoneRagdollInfo_GetGeomName},
{"cspacec::iSkeletonBoneRagdollInfo_SetGeomType", _wrap_iSkeletonBoneRagdollInfo_SetGeomType},
{"cspacec::iSkeletonBoneRagdollInfo_GetGeomType", _wrap_iSkeletonBoneRagdollInfo_GetGeomType},
{"cspacec::iSkeletonBoneRagdollInfo_SetGeomDimensions", _wrap_iSkeletonBoneRagdollInfo_SetGeomDimensions},
{"cspacec::iSkeletonBoneRagdollInfo_GetGeomDimensions", _wrap_iSkeletonBoneRagdollInfo_GetGeomDimensions},
{"cspacec::iSkeletonBoneRagdollInfo_SetFriction", _wrap_iSkeletonBoneRagdollInfo_SetFriction},
{"cspacec::iSkeletonBoneRagdollInfo_GetFriction", _wrap_iSkeletonBoneRagdollInfo_GetFriction},
{"cspacec::iSkeletonBoneRagdollInfo_SetElasticity", _wrap_iSkeletonBoneRagdollInfo_SetElasticity},
{"cspacec::iSkeletonBoneRagdollInfo_GetElasticity", _wrap_iSkeletonBoneRagdollInfo_GetElasticity},
{"cspacec::iSkeletonBoneRagdollInfo_SetSoftness", _wrap_iSkeletonBoneRagdollInfo_SetSoftness},
{"cspacec::iSkeletonBoneRagdollInfo_GetSoftness", _wrap_iSkeletonBoneRagdollInfo_GetSoftness},
{"cspacec::iSkeletonBoneRagdollInfo_SetSlip", _wrap_iSkeletonBoneRagdollInfo_SetSlip},
{"cspacec::iSkeletonBoneRagdollInfo_GetSlip", _wrap_iSkeletonBoneRagdollInfo_GetSlip},
{"cspacec::iSkeletonBoneRagdollInfo_SetBodyName", _wrap_iSkeletonBoneRagdollInfo_SetBodyName},
{"cspacec::iSkeletonBoneRagdollInfo_GetBodyName", _wrap_iSkeletonBoneRagdollInfo_GetBodyName},
{"cspacec::iSkeletonBoneRagdollInfo_SetBodyMass", _wrap_iSkeletonBoneRagdollInfo_SetBodyMass},
{"cspacec::iSkeletonBoneRagdollInfo_GetBodyMass", _wrap_iSkeletonBoneRagdollInfo_GetBodyMass},
{"cspacec::iSkeletonBoneRagdollInfo_SetBodyGravmode", _wrap_iSkeletonBoneRagdollInfo_SetBodyGravmode},
{"cspacec::iSkeletonBoneRagdollInfo_GetBodyGravmode", _wrap_iSkeletonBoneRagdollInfo_GetBodyGravmode},
{"cspacec::iSkeletonBoneRagdollInfo_SetJointName", _wrap_iSkeletonBoneRagdollInfo_SetJointName},
{"cspacec::iSkeletonBoneRagdollInfo_GetJointName", _wrap_iSkeletonBoneRagdollInfo_GetJointName},
{"cspacec::iSkeletonBoneRagdollInfo_SetJointMinRotContraints", _wrap_iSkeletonBoneRagdollInfo_SetJointMinRotContraints},
{"cspacec::iSkeletonBoneRagdollInfo_GetJointMinRotContraints", _wrap_iSkeletonBoneRagdollInfo_GetJointMinRotContraints},
{"cspacec::iSkeletonBoneRagdollInfo_SetJointMaxRotContraints", _wrap_iSkeletonBoneRagdollInfo_SetJointMaxRotContraints},
{"cspacec::iSkeletonBoneRagdollInfo_GetJointMaxRotContraints", _wrap_iSkeletonBoneRagdollInfo_GetJointMaxRotContraints},
{"cspacec::iSkeletonBoneRagdollInfo_SetJointMinTransContraints", _wrap_iSkeletonBoneRagdollInfo_SetJointMinTransContraints},
{"cspacec::iSkeletonBoneRagdollInfo_GetJointMinTransContraints", _wrap_iSkeletonBoneRagdollInfo_GetJointMinTransContraints},
{"cspacec::iSkeletonBoneRagdollInfo_SetJointMaxTransContraints", _wrap_iSkeletonBoneRagdollInfo_SetJointMaxTransContraints},
{"cspacec::iSkeletonBoneRagdollInfo_GetJointMaxTransContraints", _wrap_iSkeletonBoneRagdollInfo_GetJointMaxTransContraints},
{"cspacec::delete_iSkeletonBoneRagdollInfo", _wrap_delete_iSkeletonBoneRagdollInfo},
{"cspacec::iSkeletonBoneRagdollInfo_scfGetVersion", _wrap_iSkeletonBoneRagdollInfo_scfGetVersion},
{"cspacec::iSkeletonBoneFactory_GetName", _wrap_iSkeletonBoneFactory_GetName},
{"cspacec::iSkeletonBoneFactory_SetName", _wrap_iSkeletonBoneFactory_SetName},
{"cspacec::iSkeletonBoneFactory_GetTransform", _wrap_iSkeletonBoneFactory_GetTransform},
{"cspacec::iSkeletonBoneFactory_SetTransform", _wrap_iSkeletonBoneFactory_SetTransform},
{"cspacec::iSkeletonBoneFactory_GetFullTransform", _wrap_iSkeletonBoneFactory_GetFullTransform},
{"cspacec::iSkeletonBoneFactory_SetParent", _wrap_iSkeletonBoneFactory_SetParent},
{"cspacec::iSkeletonBoneFactory_GetParent", _wrap_iSkeletonBoneFactory_GetParent},
{"cspacec::iSkeletonBoneFactory_GetChildrenCount", _wrap_iSkeletonBoneFactory_GetChildrenCount},
{"cspacec::iSkeletonBoneFactory_GetChild", _wrap_iSkeletonBoneFactory_GetChild},
{"cspacec::iSkeletonBoneFactory_FindChild", _wrap_iSkeletonBoneFactory_FindChild},
{"cspacec::iSkeletonBoneFactory_FindChildIndex", _wrap_iSkeletonBoneFactory_FindChildIndex},
{"cspacec::iSkeletonBoneFactory_SetSkinBox", _wrap_iSkeletonBoneFactory_SetSkinBox},
{"cspacec::iSkeletonBoneFactory_GetSkinBox", _wrap_iSkeletonBoneFactory_GetSkinBox},
{"cspacec::iSkeletonBoneFactory_GetRagdollInfo", _wrap_iSkeletonBoneFactory_GetRagdollInfo},
{"cspacec::delete_iSkeletonBoneFactory", _wrap_delete_iSkeletonBoneFactory},
{"cspacec::iSkeletonBoneFactory_scfGetVersion", _wrap_iSkeletonBoneFactory_scfGetVersion},
{"cspacec::iSkeletonSocketFactory_GetName", _wrap_iSkeletonSocketFactory_GetName},
{"cspacec::iSkeletonSocketFactory_SetName", _wrap_iSkeletonSocketFactory_SetName},
{"cspacec::iSkeletonSocketFactory_GetTransform", _wrap_iSkeletonSocketFactory_GetTransform},
{"cspacec::iSkeletonSocketFactory_SetTransform", _wrap_iSkeletonSocketFactory_SetTransform},
{"cspacec::iSkeletonSocketFactory_GetFullTransform", _wrap_iSkeletonSocketFactory_GetFullTransform},
{"cspacec::iSkeletonSocketFactory_SetBone", _wrap_iSkeletonSocketFactory_SetBone},
{"cspacec::iSkeletonSocketFactory_GetBone", _wrap_iSkeletonSocketFactory_GetBone},
{"cspacec::delete_iSkeletonSocketFactory", _wrap_delete_iSkeletonSocketFactory},
{"cspacec::iSkeletonSocketFactory_scfGetVersion", _wrap_iSkeletonSocketFactory_scfGetVersion},
{"cspacec::iSkeletonFactory_GetName", _wrap_iSkeletonFactory_GetName},
{"cspacec::iSkeletonFactory_SetName", _wrap_iSkeletonFactory_SetName},
{"cspacec::iSkeletonFactory_CreateBone", _wrap_iSkeletonFactory_CreateBone},
{"cspacec::iSkeletonFactory_CreateScript", _wrap_iSkeletonFactory_CreateScript},
{"cspacec::iSkeletonFactory_FindScript", _wrap_iSkeletonFactory_FindScript},
{"cspacec::iSkeletonFactory_FindBone", _wrap_iSkeletonFactory_FindBone},
{"cspacec::iSkeletonFactory_FindBoneIndex", _wrap_iSkeletonFactory_FindBoneIndex},
{"cspacec::iSkeletonFactory_GetBonesCount", _wrap_iSkeletonFactory_GetBonesCount},
{"cspacec::iSkeletonFactory_GetBone", _wrap_iSkeletonFactory_GetBone},
{"cspacec::iSkeletonFactory_GetGraveyard", _wrap_iSkeletonFactory_GetGraveyard},
{"cspacec::iSkeletonFactory_CreateSocket", _wrap_iSkeletonFactory_CreateSocket},
{"cspacec::iSkeletonFactory_FindSocket", _wrap_iSkeletonFactory_FindSocket},
{"cspacec::iSkeletonFactory_GetSocket", _wrap_iSkeletonFactory_GetSocket},
{"cspacec::iSkeletonFactory_RemoveSocket", _wrap_iSkeletonFactory_RemoveSocket},
{"cspacec::iSkeletonFactory_GetSocketsCount", _wrap_iSkeletonFactory_GetSocketsCount},
{"cspacec::delete_iSkeletonFactory", _wrap_delete_iSkeletonFactory},
{"cspacec::iSkeletonFactory_scfGetVersion", _wrap_iSkeletonFactory_scfGetVersion},
{"cspacec::iSkeletonGraveyard_GetFactoriesCount", _wrap_iSkeletonGraveyard_GetFactoriesCount},
{"cspacec::iSkeletonGraveyard_CreateFactory", _wrap_iSkeletonGraveyard_CreateFactory},
{"cspacec::iSkeletonGraveyard_LoadFactory", _wrap_iSkeletonGraveyard_LoadFactory},
{"cspacec::iSkeletonGraveyard_FindFactory", _wrap_iSkeletonGraveyard_FindFactory},
{"cspacec::iSkeletonGraveyard_CreateSkeleton", _wrap_iSkeletonGraveyard_CreateSkeleton},
{"cspacec::delete_iSkeletonGraveyard", _wrap_delete_iSkeletonGraveyard},
{"cspacec::iSkeletonGraveyard_scfGetVersion", _wrap_iSkeletonGraveyard_scfGetVersion},
{"cspacec::iGenMeshSkeletonControlState_GetAnimatedVertices", _wrap_iGenMeshSkeletonControlState_GetAnimatedVertices},
{"cspacec::iGenMeshSkeletonControlState_GetAnimatedVerticesCount", _wrap_iGenMeshSkeletonControlState_GetAnimatedVerticesCount},
{"cspacec::iGenMeshSkeletonControlState_GetAnimatedFaceNormals", _wrap_iGenMeshSkeletonControlState_GetAnimatedFaceNormals},
{"cspacec::iGenMeshSkeletonControlState_GetAnimatedFaceNormalsCount", _wrap_iGenMeshSkeletonControlState_GetAnimatedFaceNormalsCount},
{"cspacec::iGenMeshSkeletonControlState_GetAnimatedVertNormals", _wrap_iGenMeshSkeletonControlState_GetAnimatedVertNormals},
{"cspacec::iGenMeshSkeletonControlState_GetAnimatedVertNormalsCount", _wrap_iGenMeshSkeletonControlState_GetAnimatedVertNormalsCount},
{"cspacec::iGenMeshSkeletonControlState_GetSkeleton", _wrap_iGenMeshSkeletonControlState_GetSkeleton},
{"cspacec::delete_iGenMeshSkeletonControlState", _wrap_delete_iGenMeshSkeletonControlState},
{"cspacec::iGenMeshSkeletonControlState_scfGetVersion", _wrap_iGenMeshSkeletonControlState_scfGetVersion},
{"cspacec::csSprite2DVertexArrayReadOnly_GetSize", _wrap_csSprite2DVertexArrayReadOnly_GetSize},
{"cspacec::csSprite2DVertexArrayReadOnly_Get", _wrap_csSprite2DVertexArrayReadOnly_Get},
{"cspacec::csSprite2DVertexArrayReadOnly_Top", _wrap_csSprite2DVertexArrayReadOnly_Top},
{"cspacec::csSprite2DVertexArrayReadOnly_Find", _wrap_csSprite2DVertexArrayReadOnly_Find},
{"cspacec::csSprite2DVertexArrayReadOnly_GetIndex", _wrap_csSprite2DVertexArrayReadOnly_GetIndex},
{"cspacec::csSprite2DVertexArrayReadOnly_IsEmpty", _wrap_csSprite2DVertexArrayReadOnly_IsEmpty},
{"cspacec::csSprite2DVertexArrayReadOnly_GetAll", _wrap_csSprite2DVertexArrayReadOnly_GetAll},
{"cspacec::delete_csSprite2DVertexArrayReadOnly", _wrap_delete_csSprite2DVertexArrayReadOnly},
{"cspacec::csSprite2DVertexArrayChangeElements_Get", _wrap_csSprite2DVertexArrayChangeElements_Get},
{"cspacec::csSprite2DVertexArrayChangeElements_Top", _wrap_csSprite2DVertexArrayChangeElements_Top},
{"cspacec::delete_csSprite2DVertexArrayChangeElements", _wrap_delete_csSprite2DVertexArrayChangeElements},
{"cspacec::csSprite2DVertexArrayChangeAll_SetSize", _wrap_csSprite2DVertexArrayChangeAll_SetSize},
{"cspacec::csSprite2DVertexArrayChangeAll_GetExtend", _wrap_csSprite2DVertexArrayChangeAll_GetExtend},
{"cspacec::csSprite2DVertexArrayChangeAll_Put", _wrap_csSprite2DVertexArrayChangeAll_Put},
{"cspacec::csSprite2DVertexArrayChangeAll_Push", _wrap_csSprite2DVertexArrayChangeAll_Push},
{"cspacec::csSprite2DVertexArrayChangeAll_PushSmart", _wrap_csSprite2DVertexArrayChangeAll_PushSmart},
{"cspacec::csSprite2DVertexArrayChangeAll_Pop", _wrap_csSprite2DVertexArrayChangeAll_Pop},
{"cspacec::csSprite2DVertexArrayChangeAll_Insert", _wrap_csSprite2DVertexArrayChangeAll_Insert},
{"cspacec::csSprite2DVertexArrayChangeAll_DeleteAll", _wrap_csSprite2DVertexArrayChangeAll_DeleteAll},
{"cspacec::csSprite2DVertexArrayChangeAll_Truncate", _wrap_csSprite2DVertexArrayChangeAll_Truncate},
{"cspacec::csSprite2DVertexArrayChangeAll_Empty", _wrap_csSprite2DVertexArrayChangeAll_Empty},
{"cspacec::csSprite2DVertexArrayChangeAll_DeleteIndex", _wrap_csSprite2DVertexArrayChangeAll_DeleteIndex},
{"cspacec::csSprite2DVertexArrayChangeAll_DeleteIndexFast", _wrap_csSprite2DVertexArrayChangeAll_DeleteIndexFast},
{"cspacec::csSprite2DVertexArrayChangeAll_Delete", _wrap_csSprite2DVertexArrayChangeAll_Delete},
{"cspacec::csSprite2DVertexArrayChangeAll_DeleteFast", _wrap_csSprite2DVertexArrayChangeAll_DeleteFast},
{"cspacec::delete_csSprite2DVertexArrayChangeAll", _wrap_delete_csSprite2DVertexArrayChangeAll},
{"cspacec::csSprite2DVertex_pos_set", _wrap_csSprite2DVertex_pos_set},
{"cspacec::csSprite2DVertex_pos_get", _wrap_csSprite2DVertex_pos_get},
{"cspacec::csSprite2DVertex_color_init_set", _wrap_csSprite2DVertex_color_init_set},
{"cspacec::csSprite2DVertex_color_init_get", _wrap_csSprite2DVertex_color_init_get},
{"cspacec::csSprite2DVertex_color_set", _wrap_csSprite2DVertex_color_set},
{"cspacec::csSprite2DVertex_color_get", _wrap_csSprite2DVertex_color_get},
{"cspacec::csSprite2DVertex_u_set", _wrap_csSprite2DVertex_u_set},
{"cspacec::csSprite2DVertex_u_get", _wrap_csSprite2DVertex_u_get},
{"cspacec::csSprite2DVertex_v_set", _wrap_csSprite2DVertex_v_set},
{"cspacec::csSprite2DVertex_v_get", _wrap_csSprite2DVertex_v_get},
{"cspacec::csSprite2DVertex___eq__", _wrap_csSprite2DVertex___eq__},
{"cspacec::new_csSprite2DVertex", _wrap_new_csSprite2DVertex},
{"cspacec::delete_csSprite2DVertex", _wrap_delete_csSprite2DVertex},
{"cspacec::delete_iColoredVertices", _wrap_delete_iColoredVertices},
{"cspacec::iSprite2DUVAnimationFrame_SetName", _wrap_iSprite2DUVAnimationFrame_SetName},
{"cspacec::iSprite2DUVAnimationFrame_GetName", _wrap_iSprite2DUVAnimationFrame_GetName},
{"cspacec::iSprite2DUVAnimationFrame_GetUVCoo", _wrap_iSprite2DUVAnimationFrame_GetUVCoo},
{"cspacec::iSprite2DUVAnimationFrame_GetUVCount", _wrap_iSprite2DUVAnimationFrame_GetUVCount},
{"cspacec::iSprite2DUVAnimationFrame_SetUV", _wrap_iSprite2DUVAnimationFrame_SetUV},
{"cspacec::iSprite2DUVAnimationFrame_SetFrameData", _wrap_iSprite2DUVAnimationFrame_SetFrameData},
{"cspacec::iSprite2DUVAnimationFrame_RemoveUV", _wrap_iSprite2DUVAnimationFrame_RemoveUV},
{"cspacec::iSprite2DUVAnimationFrame_GetDuration", _wrap_iSprite2DUVAnimationFrame_GetDuration},
{"cspacec::iSprite2DUVAnimationFrame_SetDuration", _wrap_iSprite2DUVAnimationFrame_SetDuration},
{"cspacec::delete_iSprite2DUVAnimationFrame", _wrap_delete_iSprite2DUVAnimationFrame},
{"cspacec::iSprite2DUVAnimation_SetName", _wrap_iSprite2DUVAnimation_SetName},
{"cspacec::iSprite2DUVAnimation_GetName", _wrap_iSprite2DUVAnimation_GetName},
{"cspacec::iSprite2DUVAnimation_GetFrameCount", _wrap_iSprite2DUVAnimation_GetFrameCount},
{"cspacec::iSprite2DUVAnimation_GetFrame", _wrap_iSprite2DUVAnimation_GetFrame},
{"cspacec::iSprite2DUVAnimation_CreateFrame", _wrap_iSprite2DUVAnimation_CreateFrame},
{"cspacec::iSprite2DUVAnimation_MoveFrame", _wrap_iSprite2DUVAnimation_MoveFrame},
{"cspacec::iSprite2DUVAnimation_RemoveFrame", _wrap_iSprite2DUVAnimation_RemoveFrame},
{"cspacec::delete_iSprite2DUVAnimation", _wrap_delete_iSprite2DUVAnimation},
{"cspacec::iSprite2DFactoryState_SetLighting", _wrap_iSprite2DFactoryState_SetLighting},
{"cspacec::iSprite2DFactoryState_HasLighting", _wrap_iSprite2DFactoryState_HasLighting},
{"cspacec::iSprite2DFactoryState_GetUVAnimationCount", _wrap_iSprite2DFactoryState_GetUVAnimationCount},
{"cspacec::iSprite2DFactoryState_CreateUVAnimation", _wrap_iSprite2DFactoryState_CreateUVAnimation},
{"cspacec::iSprite2DFactoryState_RemoveUVAnimation", _wrap_iSprite2DFactoryState_RemoveUVAnimation},
{"cspacec::iSprite2DFactoryState_GetUVAnimation", _wrap_iSprite2DFactoryState_GetUVAnimation},
{"cspacec::delete_iSprite2DFactoryState", _wrap_delete_iSprite2DFactoryState},
{"cspacec::iSprite2DState_CreateRegularVertices", _wrap_iSprite2DState_CreateRegularVertices},
{"cspacec::iSprite2DState_SetUVAnimation", _wrap_iSprite2DState_SetUVAnimation},
{"cspacec::iSprite2DState_GetUVAnimation", _wrap_iSprite2DState_GetUVAnimation},
{"cspacec::iSprite2DState_StopUVAnimation", _wrap_iSprite2DState_StopUVAnimation},
{"cspacec::iSprite2DState_PlayUVAnimation", _wrap_iSprite2DState_PlayUVAnimation},
{"cspacec::delete_iSprite2DState", _wrap_delete_iSprite2DState},
{"cspacec::iSprite2DState_scfGetVersion", _wrap_iSprite2DState_scfGetVersion},
{"cspacec::iSprite2DState_GetVertexByIndex", _wrap_iSprite2DState_GetVertexByIndex},
{"cspacec::iSprite2DState_GetVertexCount", _wrap_iSprite2DState_GetVertexCount},
{"cspacec::iSpriteFrame_SetName", _wrap_iSpriteFrame_SetName},
{"cspacec::iSpriteFrame_GetName", _wrap_iSpriteFrame_GetName},
{"cspacec::iSpriteFrame_GetAnmIndex", _wrap_iSpriteFrame_GetAnmIndex},
{"cspacec::iSpriteFrame_GetTexIndex", _wrap_iSpriteFrame_GetTexIndex},
{"cspacec::delete_iSpriteFrame", _wrap_delete_iSpriteFrame},
{"cspacec::iSpriteAction_SetName", _wrap_iSpriteAction_SetName},
{"cspacec::iSpriteAction_GetName", _wrap_iSpriteAction_GetName},
{"cspacec::iSpriteAction_GetFrameCount", _wrap_iSpriteAction_GetFrameCount},
{"cspacec::iSpriteAction_GetFrame", _wrap_iSpriteAction_GetFrame},
{"cspacec::iSpriteAction_GetNextFrame", _wrap_iSpriteAction_GetNextFrame},
{"cspacec::iSpriteAction_GetFrameDelay", _wrap_iSpriteAction_GetFrameDelay},
{"cspacec::iSpriteAction_GetFrameDisplacement", _wrap_iSpriteAction_GetFrameDisplacement},
{"cspacec::iSpriteAction_AddFrame", _wrap_iSpriteAction_AddFrame},
{"cspacec::delete_iSpriteAction", _wrap_delete_iSpriteAction},
{"cspacec::iSpriteSocket_SetName", _wrap_iSpriteSocket_SetName},
{"cspacec::iSpriteSocket_GetName", _wrap_iSpriteSocket_GetName},
{"cspacec::iSpriteSocket_SetMeshWrapper", _wrap_iSpriteSocket_SetMeshWrapper},
{"cspacec::iSpriteSocket_GetMeshWrapper", _wrap_iSpriteSocket_GetMeshWrapper},
{"cspacec::iSpriteSocket_SetTriangleIndex", _wrap_iSpriteSocket_SetTriangleIndex},
{"cspacec::iSpriteSocket_GetTriangleIndex", _wrap_iSpriteSocket_GetTriangleIndex},
{"cspacec::delete_iSpriteSocket", _wrap_delete_iSpriteSocket},
{"cspacec::iSprite3DFactoryState_AddVertices", _wrap_iSprite3DFactoryState_AddVertices},
{"cspacec::iSprite3DFactoryState_GetVertexCount", _wrap_iSprite3DFactoryState_GetVertexCount},
{"cspacec::iSprite3DFactoryState_GetVertex", _wrap_iSprite3DFactoryState_GetVertex},
{"cspacec::iSprite3DFactoryState_SetVertex", _wrap_iSprite3DFactoryState_SetVertex},
{"cspacec::iSprite3DFactoryState_GetVertices", _wrap_iSprite3DFactoryState_GetVertices},
{"cspacec::iSprite3DFactoryState_SetVertices", _wrap_iSprite3DFactoryState_SetVertices},
{"cspacec::iSprite3DFactoryState_GetTexel", _wrap_iSprite3DFactoryState_GetTexel},
{"cspacec::iSprite3DFactoryState_SetTexel", _wrap_iSprite3DFactoryState_SetTexel},
{"cspacec::iSprite3DFactoryState_GetTexels", _wrap_iSprite3DFactoryState_GetTexels},
{"cspacec::iSprite3DFactoryState_SetTexels", _wrap_iSprite3DFactoryState_SetTexels},
{"cspacec::iSprite3DFactoryState_GetNormal", _wrap_iSprite3DFactoryState_GetNormal},
{"cspacec::iSprite3DFactoryState_SetNormal", _wrap_iSprite3DFactoryState_SetNormal},
{"cspacec::iSprite3DFactoryState_GetNormals", _wrap_iSprite3DFactoryState_GetNormals},
{"cspacec::iSprite3DFactoryState_SetNormals", _wrap_iSprite3DFactoryState_SetNormals},
{"cspacec::iSprite3DFactoryState_AddTriangle", _wrap_iSprite3DFactoryState_AddTriangle},
{"cspacec::iSprite3DFactoryState_GetTriangle", _wrap_iSprite3DFactoryState_GetTriangle},
{"cspacec::iSprite3DFactoryState_GetTriangles", _wrap_iSprite3DFactoryState_GetTriangles},
{"cspacec::iSprite3DFactoryState_GetTriangleCount", _wrap_iSprite3DFactoryState_GetTriangleCount},
{"cspacec::iSprite3DFactoryState_SetTriangleCount", _wrap_iSprite3DFactoryState_SetTriangleCount},
{"cspacec::iSprite3DFactoryState_SetTriangles", _wrap_iSprite3DFactoryState_SetTriangles},
{"cspacec::iSprite3DFactoryState_AddFrame", _wrap_iSprite3DFactoryState_AddFrame},
{"cspacec::iSprite3DFactoryState_FindFrame", _wrap_iSprite3DFactoryState_FindFrame},
{"cspacec::iSprite3DFactoryState_GetFrameCount", _wrap_iSprite3DFactoryState_GetFrameCount},
{"cspacec::iSprite3DFactoryState_GetFrame", _wrap_iSprite3DFactoryState_GetFrame},
{"cspacec::iSprite3DFactoryState_AddAction", _wrap_iSprite3DFactoryState_AddAction},
{"cspacec::iSprite3DFactoryState_FindAction", _wrap_iSprite3DFactoryState_FindAction},
{"cspacec::iSprite3DFactoryState_GetFirstAction", _wrap_iSprite3DFactoryState_GetFirstAction},
{"cspacec::iSprite3DFactoryState_GetActionCount", _wrap_iSprite3DFactoryState_GetActionCount},
{"cspacec::iSprite3DFactoryState_GetAction", _wrap_iSprite3DFactoryState_GetAction},
{"cspacec::iSprite3DFactoryState_AddSocket", _wrap_iSprite3DFactoryState_AddSocket},
{"cspacec::iSprite3DFactoryState_FindSocket", _wrap_iSprite3DFactoryState_FindSocket},
{"cspacec::iSprite3DFactoryState_GetSocketCount", _wrap_iSprite3DFactoryState_GetSocketCount},
{"cspacec::iSprite3DFactoryState_GetSocket", _wrap_iSprite3DFactoryState_GetSocket},
{"cspacec::iSprite3DFactoryState_EnableTweening", _wrap_iSprite3DFactoryState_EnableTweening},
{"cspacec::iSprite3DFactoryState_IsTweeningEnabled", _wrap_iSprite3DFactoryState_IsTweeningEnabled},
{"cspacec::iSprite3DFactoryState_SetLightingQuality", _wrap_iSprite3DFactoryState_SetLightingQuality},
{"cspacec::iSprite3DFactoryState_GetLightingQuality", _wrap_iSprite3DFactoryState_GetLightingQuality},
{"cspacec::iSprite3DFactoryState_SetLightingQualityConfig", _wrap_iSprite3DFactoryState_SetLightingQualityConfig},
{"cspacec::iSprite3DFactoryState_GetLightingQualityConfig", _wrap_iSprite3DFactoryState_GetLightingQualityConfig},
{"cspacec::iSprite3DFactoryState_SetLodLevelConfig", _wrap_iSprite3DFactoryState_SetLodLevelConfig},
{"cspacec::iSprite3DFactoryState_GetLodLevelConfig", _wrap_iSprite3DFactoryState_GetLodLevelConfig},
{"cspacec::iSprite3DFactoryState_MergeNormals", _wrap_iSprite3DFactoryState_MergeNormals},
{"cspacec::delete_iSprite3DFactoryState", _wrap_delete_iSprite3DFactoryState},
{"cspacec::iSprite3DState_SetMixMode", _wrap_iSprite3DState_SetMixMode},
{"cspacec::iSprite3DState_GetMixMode", _wrap_iSprite3DState_GetMixMode},
{"cspacec::iSprite3DState_SetLighting", _wrap_iSprite3DState_SetLighting},
{"cspacec::iSprite3DState_IsLighting", _wrap_iSprite3DState_IsLighting},
{"cspacec::iSprite3DState_SetFrame", _wrap_iSprite3DState_SetFrame},
{"cspacec::iSprite3DState_GetCurFrame", _wrap_iSprite3DState_GetCurFrame},
{"cspacec::iSprite3DState_GetFrameCount", _wrap_iSprite3DState_GetFrameCount},
{"cspacec::iSprite3DState_SetAction", _wrap_iSprite3DState_SetAction},
{"cspacec::iSprite3DState_SetReverseAction", _wrap_iSprite3DState_SetReverseAction},
{"cspacec::iSprite3DState_SetSingleStepAction", _wrap_iSprite3DState_SetSingleStepAction},
{"cspacec::iSprite3DState_SetOverrideAction", _wrap_iSprite3DState_SetOverrideAction},
{"cspacec::iSprite3DState_PropagateAction", _wrap_iSprite3DState_PropagateAction},
{"cspacec::iSprite3DState_GetCurAction", _wrap_iSprite3DState_GetCurAction},
{"cspacec::iSprite3DState_GetReverseAction", _wrap_iSprite3DState_GetReverseAction},
{"cspacec::iSprite3DState_EnableTweening", _wrap_iSprite3DState_EnableTweening},
{"cspacec::iSprite3DState_IsTweeningEnabled", _wrap_iSprite3DState_IsTweeningEnabled},
{"cspacec::iSprite3DState_UnsetTexture", _wrap_iSprite3DState_UnsetTexture},
{"cspacec::iSprite3DState_GetLightingQuality", _wrap_iSprite3DState_GetLightingQuality},
{"cspacec::iSprite3DState_SetLocalLightingQuality", _wrap_iSprite3DState_SetLocalLightingQuality},
{"cspacec::iSprite3DState_SetLightingQualityConfig", _wrap_iSprite3DState_SetLightingQualityConfig},
{"cspacec::iSprite3DState_GetLightingQualityConfig", _wrap_iSprite3DState_GetLightingQualityConfig},
{"cspacec::iSprite3DState_SetLodLevelConfig", _wrap_iSprite3DState_SetLodLevelConfig},
{"cspacec::iSprite3DState_GetLodLevelConfig", _wrap_iSprite3DState_GetLodLevelConfig},
{"cspacec::iSprite3DState_IsLodEnabled", _wrap_iSprite3DState_IsLodEnabled},
{"cspacec::iSprite3DState_FindSocket", _wrap_iSprite3DState_FindSocket},
{"cspacec::delete_iSprite3DState", _wrap_delete_iSprite3DState},
{"cspacec::iSprite3DState_scfGetVersion", _wrap_iSprite3DState_scfGetVersion},
{"cspacec::iSpriteCal3DSocket_SetSubmeshIndex", _wrap_iSpriteCal3DSocket_SetSubmeshIndex},
{"cspacec::iSpriteCal3DSocket_GetSubmeshIndex", _wrap_iSpriteCal3DSocket_GetSubmeshIndex},
{"cspacec::iSpriteCal3DSocket_SetMeshIndex", _wrap_iSpriteCal3DSocket_SetMeshIndex},
{"cspacec::iSpriteCal3DSocket_GetMeshIndex", _wrap_iSpriteCal3DSocket_GetMeshIndex},
{"cspacec::iSpriteCal3DSocket_SetTransform", _wrap_iSpriteCal3DSocket_SetTransform},
{"cspacec::iSpriteCal3DSocket_GetTransform", _wrap_iSpriteCal3DSocket_GetTransform},
{"cspacec::iSpriteCal3DSocket_GetSecondaryCount", _wrap_iSpriteCal3DSocket_GetSecondaryCount},
{"cspacec::iSpriteCal3DSocket_GetSecondaryMesh", _wrap_iSpriteCal3DSocket_GetSecondaryMesh},
{"cspacec::iSpriteCal3DSocket_GetSecondaryTransform", _wrap_iSpriteCal3DSocket_GetSecondaryTransform},
{"cspacec::iSpriteCal3DSocket_SetSecondaryTransform", _wrap_iSpriteCal3DSocket_SetSecondaryTransform},
{"cspacec::iSpriteCal3DSocket_AttachSecondary", _wrap_iSpriteCal3DSocket_AttachSecondary},
{"cspacec::iSpriteCal3DSocket_DetachSecondary", _wrap_iSpriteCal3DSocket_DetachSecondary},
{"cspacec::iSpriteCal3DSocket_FindSecondary", _wrap_iSpriteCal3DSocket_FindSecondary},
{"cspacec::delete_iSpriteCal3DSocket", _wrap_delete_iSpriteCal3DSocket},
{"cspacec::iSpriteCal3DFactoryState_Create", _wrap_iSpriteCal3DFactoryState_Create},
{"cspacec::iSpriteCal3DFactoryState_ReportLastError", _wrap_iSpriteCal3DFactoryState_ReportLastError},
{"cspacec::iSpriteCal3DFactoryState_SetLoadFlags", _wrap_iSpriteCal3DFactoryState_SetLoadFlags},
{"cspacec::iSpriteCal3DFactoryState_SetBasePath", _wrap_iSpriteCal3DFactoryState_SetBasePath},
{"cspacec::iSpriteCal3DFactoryState_LoadCoreSkeleton", _wrap_iSpriteCal3DFactoryState_LoadCoreSkeleton},
{"cspacec::iSpriteCal3DFactoryState_RescaleFactory", _wrap_iSpriteCal3DFactoryState_RescaleFactory},
{"cspacec::iSpriteCal3DFactoryState_LoadCoreAnimation", _wrap_iSpriteCal3DFactoryState_LoadCoreAnimation},
{"cspacec::iSpriteCal3DFactoryState_LoadCoreMesh", _wrap_iSpriteCal3DFactoryState_LoadCoreMesh},
{"cspacec::iSpriteCal3DFactoryState_LoadCoreMorphTarget", _wrap_iSpriteCal3DFactoryState_LoadCoreMorphTarget},
{"cspacec::iSpriteCal3DFactoryState_AddMorphAnimation", _wrap_iSpriteCal3DFactoryState_AddMorphAnimation},
{"cspacec::iSpriteCal3DFactoryState_AddMorphTarget", _wrap_iSpriteCal3DFactoryState_AddMorphTarget},
{"cspacec::iSpriteCal3DFactoryState_AddCoreMaterial", _wrap_iSpriteCal3DFactoryState_AddCoreMaterial},
{"cspacec::iSpriteCal3DFactoryState_CalculateAllBoneBoundingBoxes", _wrap_iSpriteCal3DFactoryState_CalculateAllBoneBoundingBoxes},
{"cspacec::iSpriteCal3DFactoryState_BindMaterials", _wrap_iSpriteCal3DFactoryState_BindMaterials},
{"cspacec::iSpriteCal3DFactoryState_GetMeshCount", _wrap_iSpriteCal3DFactoryState_GetMeshCount},
{"cspacec::iSpriteCal3DFactoryState_GetMorphAnimationCount", _wrap_iSpriteCal3DFactoryState_GetMorphAnimationCount},
{"cspacec::iSpriteCal3DFactoryState_GetMorphTargetCount", _wrap_iSpriteCal3DFactoryState_GetMorphTargetCount},
{"cspacec::iSpriteCal3DFactoryState_GetMeshName", _wrap_iSpriteCal3DFactoryState_GetMeshName},
{"cspacec::iSpriteCal3DFactoryState_FindMeshName", _wrap_iSpriteCal3DFactoryState_FindMeshName},
{"cspacec::iSpriteCal3DFactoryState_GetDefaultMaterial", _wrap_iSpriteCal3DFactoryState_GetDefaultMaterial},
{"cspacec::iSpriteCal3DFactoryState_GetMorphAnimationName", _wrap_iSpriteCal3DFactoryState_GetMorphAnimationName},
{"cspacec::iSpriteCal3DFactoryState_FindMorphAnimationName", _wrap_iSpriteCal3DFactoryState_FindMorphAnimationName},
{"cspacec::iSpriteCal3DFactoryState_IsMeshDefault", _wrap_iSpriteCal3DFactoryState_IsMeshDefault},
{"cspacec::iSpriteCal3DFactoryState_AddSocket", _wrap_iSpriteCal3DFactoryState_AddSocket},
{"cspacec::iSpriteCal3DFactoryState_FindSocket", _wrap_iSpriteCal3DFactoryState_FindSocket},
{"cspacec::iSpriteCal3DFactoryState_GetSocketCount", _wrap_iSpriteCal3DFactoryState_GetSocketCount},
{"cspacec::iSpriteCal3DFactoryState_GetSocket", _wrap_iSpriteCal3DFactoryState_GetSocket},
{"cspacec::iSpriteCal3DFactoryState_GetCal3DCoreModel", _wrap_iSpriteCal3DFactoryState_GetCal3DCoreModel},
{"cspacec::iSpriteCal3DFactoryState_RegisterAnimCallback", _wrap_iSpriteCal3DFactoryState_RegisterAnimCallback},
{"cspacec::iSpriteCal3DFactoryState_RemoveAnimCallback", _wrap_iSpriteCal3DFactoryState_RemoveAnimCallback},
{"cspacec::delete_iSpriteCal3DFactoryState", _wrap_delete_iSpriteCal3DFactoryState},
{"cspacec::iAnimTimeUpdateHandler_UpdatePosition", _wrap_iAnimTimeUpdateHandler_UpdatePosition},
{"cspacec::delete_iAnimTimeUpdateHandler", _wrap_delete_iAnimTimeUpdateHandler},
{"cspacec::csSpriteCal3DActiveAnim_index_set", _wrap_csSpriteCal3DActiveAnim_index_set},
{"cspacec::csSpriteCal3DActiveAnim_index_get", _wrap_csSpriteCal3DActiveAnim_index_get},
{"cspacec::csSpriteCal3DActiveAnim_weight_set", _wrap_csSpriteCal3DActiveAnim_weight_set},
{"cspacec::csSpriteCal3DActiveAnim_weight_get", _wrap_csSpriteCal3DActiveAnim_weight_get},
{"cspacec::new_csSpriteCal3DActiveAnim", _wrap_new_csSpriteCal3DActiveAnim},
{"cspacec::delete_csSpriteCal3DActiveAnim", _wrap_delete_csSpriteCal3DActiveAnim},
{"cspacec::iSpriteCal3DState_GetAnimCount", _wrap_iSpriteCal3DState_GetAnimCount},
{"cspacec::iSpriteCal3DState_GetAnimName", _wrap_iSpriteCal3DState_GetAnimName},
{"cspacec::iSpriteCal3DState_GetAnimType", _wrap_iSpriteCal3DState_GetAnimType},
{"cspacec::iSpriteCal3DState_FindAnim", _wrap_iSpriteCal3DState_FindAnim},
{"cspacec::iSpriteCal3DState_ClearAllAnims", _wrap_iSpriteCal3DState_ClearAllAnims},
{"cspacec::iSpriteCal3DState_SetAnimCycle", _wrap_iSpriteCal3DState_SetAnimCycle},
{"cspacec::iSpriteCal3DState_AddAnimCycle", _wrap_iSpriteCal3DState_AddAnimCycle},
{"cspacec::iSpriteCal3DState_ClearAnimCycle", _wrap_iSpriteCal3DState_ClearAnimCycle},
{"cspacec::iSpriteCal3DState_GetActiveAnimCount", _wrap_iSpriteCal3DState_GetActiveAnimCount},
{"cspacec::iSpriteCal3DState_GetActiveAnims", _wrap_iSpriteCal3DState_GetActiveAnims},
{"cspacec::iSpriteCal3DState_SetActiveAnims", _wrap_iSpriteCal3DState_SetActiveAnims},
{"cspacec::iSpriteCal3DState_SetAnimAction", _wrap_iSpriteCal3DState_SetAnimAction},
{"cspacec::iSpriteCal3DState_SetVelocity", _wrap_iSpriteCal3DState_SetVelocity},
{"cspacec::iSpriteCal3DState_SetDefaultIdleAnim", _wrap_iSpriteCal3DState_SetDefaultIdleAnim},
{"cspacec::iSpriteCal3DState_SetLOD", _wrap_iSpriteCal3DState_SetLOD},
{"cspacec::iSpriteCal3DState_AttachCoreMesh", _wrap_iSpriteCal3DState_AttachCoreMesh},
{"cspacec::iSpriteCal3DState_DetachCoreMesh", _wrap_iSpriteCal3DState_DetachCoreMesh},
{"cspacec::iSpriteCal3DState_BlendMorphTarget", _wrap_iSpriteCal3DState_BlendMorphTarget},
{"cspacec::iSpriteCal3DState_ClearMorphTarget", _wrap_iSpriteCal3DState_ClearMorphTarget},
{"cspacec::iSpriteCal3DState_FindSocket", _wrap_iSpriteCal3DState_FindSocket},
{"cspacec::iSpriteCal3DState_SetMaterial", _wrap_iSpriteCal3DState_SetMaterial},
{"cspacec::iSpriteCal3DState_SetTimeFactor", _wrap_iSpriteCal3DState_SetTimeFactor},
{"cspacec::iSpriteCal3DState_GetTimeFactor", _wrap_iSpriteCal3DState_GetTimeFactor},
{"cspacec::iSpriteCal3DState_GetAnimationTime", _wrap_iSpriteCal3DState_GetAnimationTime},
{"cspacec::iSpriteCal3DState_GetAnimationDuration", _wrap_iSpriteCal3DState_GetAnimationDuration},
{"cspacec::iSpriteCal3DState_SetAnimationTime", _wrap_iSpriteCal3DState_SetAnimationTime},
{"cspacec::iSpriteCal3DState_SetAnimTimeUpdateHandler", _wrap_iSpriteCal3DState_SetAnimTimeUpdateHandler},
{"cspacec::iSpriteCal3DState_SetUserData", _wrap_iSpriteCal3DState_SetUserData},
{"cspacec::iSpriteCal3DState_GetCoreMeshShaderVarContext", _wrap_iSpriteCal3DState_GetCoreMeshShaderVarContext},
{"cspacec::iSpriteCal3DState_GetCal3DModel", _wrap_iSpriteCal3DState_GetCal3DModel},
{"cspacec::delete_iSpriteCal3DState", _wrap_delete_iSpriteCal3DState},
{"cspacec::iSpriteCal3DState_scfGetVersion", _wrap_iSpriteCal3DState_scfGetVersion},
{"cspacec::iMeshObjectDrawCallback_BeforeDrawing", _wrap_iMeshObjectDrawCallback_BeforeDrawing},
{"cspacec::delete_iMeshObjectDrawCallback", _wrap_delete_iMeshObjectDrawCallback},
{"cspacec::iMeshObject_GetFactory", _wrap_iMeshObject_GetFactory},
{"cspacec::iMeshObject_GetFlags", _wrap_iMeshObject_GetFlags},
{"cspacec::iMeshObject_Clone", _wrap_iMeshObject_Clone},
{"cspacec::iMeshObject_GetRenderMeshes", _wrap_iMeshObject_GetRenderMeshes},
{"cspacec::iMeshObject_SetVisibleCallback", _wrap_iMeshObject_SetVisibleCallback},
{"cspacec::iMeshObject_GetVisibleCallback", _wrap_iMeshObject_GetVisibleCallback},
{"cspacec::iMeshObject_NextFrame", _wrap_iMeshObject_NextFrame},
{"cspacec::iMeshObject_HardTransform", _wrap_iMeshObject_HardTransform},
{"cspacec::iMeshObject_SupportsHardTransform", _wrap_iMeshObject_SupportsHardTransform},
{"cspacec::iMeshObject_HitBeamOutline", _wrap_iMeshObject_HitBeamOutline},
{"cspacec::iMeshObject_HitBeamObject", _wrap_iMeshObject_HitBeamObject},
{"cspacec::iMeshObject_SetMeshWrapper", _wrap_iMeshObject_SetMeshWrapper},
{"cspacec::iMeshObject_GetMeshWrapper", _wrap_iMeshObject_GetMeshWrapper},
{"cspacec::iMeshObject_GetObjectModel", _wrap_iMeshObject_GetObjectModel},
{"cspacec::iMeshObject_SetColor", _wrap_iMeshObject_SetColor},
{"cspacec::iMeshObject_GetColor", _wrap_iMeshObject_GetColor},
{"cspacec::iMeshObject_SetMaterialWrapper", _wrap_iMeshObject_SetMaterialWrapper},
{"cspacec::iMeshObject_GetMaterialWrapper", _wrap_iMeshObject_GetMaterialWrapper},
{"cspacec::iMeshObject_SetMixMode", _wrap_iMeshObject_SetMixMode},
{"cspacec::iMeshObject_GetMixMode", _wrap_iMeshObject_GetMixMode},
{"cspacec::iMeshObject_InvalidateMaterialHandles", _wrap_iMeshObject_InvalidateMaterialHandles},
{"cspacec::iMeshObject_PositionChild", _wrap_iMeshObject_PositionChild},
{"cspacec::delete_iMeshObject", _wrap_delete_iMeshObject},
{"cspacec::iMeshObject_scfGetVersion", _wrap_iMeshObject_scfGetVersion},
{"cspacec::iMeshObjectFactory_GetFlags", _wrap_iMeshObjectFactory_GetFlags},
{"cspacec::iMeshObjectFactory_NewInstance", _wrap_iMeshObjectFactory_NewInstance},
{"cspacec::iMeshObjectFactory_Clone", _wrap_iMeshObjectFactory_Clone},
{"cspacec::iMeshObjectFactory_HardTransform", _wrap_iMeshObjectFactory_HardTransform},
{"cspacec::iMeshObjectFactory_SupportsHardTransform", _wrap_iMeshObjectFactory_SupportsHardTransform},
{"cspacec::iMeshObjectFactory_SetMeshFactoryWrapper", _wrap_iMeshObjectFactory_SetMeshFactoryWrapper},
{"cspacec::iMeshObjectFactory_GetMeshFactoryWrapper", _wrap_iMeshObjectFactory_GetMeshFactoryWrapper},
{"cspacec::iMeshObjectFactory_GetMeshObjectType", _wrap_iMeshObjectFactory_GetMeshObjectType},
{"cspacec::iMeshObjectFactory_GetObjectModel", _wrap_iMeshObjectFactory_GetObjectModel},
{"cspacec::iMeshObjectFactory_SetMaterialWrapper", _wrap_iMeshObjectFactory_SetMaterialWrapper},
{"cspacec::iMeshObjectFactory_GetMaterialWrapper", _wrap_iMeshObjectFactory_GetMaterialWrapper},
{"cspacec::iMeshObjectFactory_SetMixMode", _wrap_iMeshObjectFactory_SetMixMode},
{"cspacec::iMeshObjectFactory_GetMixMode", _wrap_iMeshObjectFactory_GetMixMode},
{"cspacec::delete_iMeshObjectFactory", _wrap_delete_iMeshObjectFactory},
{"cspacec::iMeshObjectFactory_scfGetVersion", _wrap_iMeshObjectFactory_scfGetVersion},
{"cspacec::iMeshObjectType_NewFactory", _wrap_iMeshObjectType_NewFactory},
{"cspacec::delete_iMeshObjectType", _wrap_delete_iMeshObjectType},
{"cspacec::iMeshObjectType_scfGetVersion", _wrap_iMeshObjectType_scfGetVersion},
{"cspacec::csPolygonRange_start_set", _wrap_csPolygonRange_start_set},
{"cspacec::csPolygonRange_start_get", _wrap_csPolygonRange_start_get},
{"cspacec::csPolygonRange_end_set", _wrap_csPolygonRange_end_set},
{"cspacec::csPolygonRange_end_get", _wrap_csPolygonRange_end_get},
{"cspacec::new_csPolygonRange", _wrap_new_csPolygonRange},
{"cspacec::csPolygonRange_Set", _wrap_csPolygonRange_Set},
{"cspacec::delete_csPolygonRange", _wrap_delete_csPolygonRange},
{"cspacec::iPolygonHandle_GetThingFactoryState", _wrap_iPolygonHandle_GetThingFactoryState},
{"cspacec::iPolygonHandle_GetMeshObjectFactory", _wrap_iPolygonHandle_GetMeshObjectFactory},
{"cspacec::iPolygonHandle_GetThingState", _wrap_iPolygonHandle_GetThingState},
{"cspacec::iPolygonHandle_GetMeshObject", _wrap_iPolygonHandle_GetMeshObject},
{"cspacec::iPolygonHandle_GetIndex", _wrap_iPolygonHandle_GetIndex},
{"cspacec::delete_iPolygonHandle", _wrap_delete_iPolygonHandle},
{"cspacec::iThingFactoryState_CompressVertices", _wrap_iThingFactoryState_CompressVertices},
{"cspacec::iThingFactoryState_GetPolygonCount", _wrap_iThingFactoryState_GetPolygonCount},
{"cspacec::iThingFactoryState_RemovePolygon", _wrap_iThingFactoryState_RemovePolygon},
{"cspacec::iThingFactoryState_RemovePolygons", _wrap_iThingFactoryState_RemovePolygons},
{"cspacec::iThingFactoryState_FindPolygonByName", _wrap_iThingFactoryState_FindPolygonByName},
{"cspacec::iThingFactoryState_AddEmptyPolygon", _wrap_iThingFactoryState_AddEmptyPolygon},
{"cspacec::iThingFactoryState_AddTriangle", _wrap_iThingFactoryState_AddTriangle},
{"cspacec::iThingFactoryState_AddQuad", _wrap_iThingFactoryState_AddQuad},
{"cspacec::iThingFactoryState_AddPolygon", _wrap_iThingFactoryState_AddPolygon},
{"cspacec::iThingFactoryState_AddOutsideBox", _wrap_iThingFactoryState_AddOutsideBox},
{"cspacec::iThingFactoryState_AddInsideBox", _wrap_iThingFactoryState_AddInsideBox},
{"cspacec::iThingFactoryState_SetPolygonName", _wrap_iThingFactoryState_SetPolygonName},
{"cspacec::iThingFactoryState_GetPolygonName", _wrap_iThingFactoryState_GetPolygonName},
{"cspacec::iThingFactoryState_CreatePolygonHandle", _wrap_iThingFactoryState_CreatePolygonHandle},
{"cspacec::iThingFactoryState_SetPolygonMaterial", _wrap_iThingFactoryState_SetPolygonMaterial},
{"cspacec::iThingFactoryState_GetPolygonMaterial", _wrap_iThingFactoryState_GetPolygonMaterial},
{"cspacec::iThingFactoryState_AddPolygonVertex", _wrap_iThingFactoryState_AddPolygonVertex},
{"cspacec::iThingFactoryState_SetPolygonVertexIndices", _wrap_iThingFactoryState_SetPolygonVertexIndices},
{"cspacec::iThingFactoryState_GetPolygonVertexCount", _wrap_iThingFactoryState_GetPolygonVertexCount},
{"cspacec::iThingFactoryState_GetPolygonVertex", _wrap_iThingFactoryState_GetPolygonVertex},
{"cspacec::iThingFactoryState_GetPolygonVertexIndices", _wrap_iThingFactoryState_GetPolygonVertexIndices},
{"cspacec::iThingFactoryState_SetPolygonTextureMapping", _wrap_iThingFactoryState_SetPolygonTextureMapping},
{"cspacec::iThingFactoryState_GetPolygonTextureMapping", _wrap_iThingFactoryState_GetPolygonTextureMapping},
{"cspacec::iThingFactoryState_SetPolygonTextureMappingEnabled", _wrap_iThingFactoryState_SetPolygonTextureMappingEnabled},
{"cspacec::iThingFactoryState_IsPolygonTextureMappingEnabled", _wrap_iThingFactoryState_IsPolygonTextureMappingEnabled},
{"cspacec::iThingFactoryState_SetPolygonFlags", _wrap_iThingFactoryState_SetPolygonFlags},
{"cspacec::iThingFactoryState_ResetPolygonFlags", _wrap_iThingFactoryState_ResetPolygonFlags},
{"cspacec::iThingFactoryState_GetPolygonFlags", _wrap_iThingFactoryState_GetPolygonFlags},
{"cspacec::iThingFactoryState_GetPolygonObjectPlane", _wrap_iThingFactoryState_GetPolygonObjectPlane},
{"cspacec::iThingFactoryState_IsPolygonTransparent", _wrap_iThingFactoryState_IsPolygonTransparent},
{"cspacec::iThingFactoryState_PointOnPolygon", _wrap_iThingFactoryState_PointOnPolygon},
{"cspacec::iThingFactoryState_GetVertexCount", _wrap_iThingFactoryState_GetVertexCount},
{"cspacec::iThingFactoryState_GetVertex", _wrap_iThingFactoryState_GetVertex},
{"cspacec::iThingFactoryState_GetVertices", _wrap_iThingFactoryState_GetVertices},
{"cspacec::iThingFactoryState_CreateVertex", _wrap_iThingFactoryState_CreateVertex},
{"cspacec::iThingFactoryState_SetVertex", _wrap_iThingFactoryState_SetVertex},
{"cspacec::iThingFactoryState_DeleteVertex", _wrap_iThingFactoryState_DeleteVertex},
{"cspacec::iThingFactoryState_DeleteVertices", _wrap_iThingFactoryState_DeleteVertices},
{"cspacec::iThingFactoryState_SetSmoothingFlag", _wrap_iThingFactoryState_SetSmoothingFlag},
{"cspacec::iThingFactoryState_GetSmoothingFlag", _wrap_iThingFactoryState_GetSmoothingFlag},
{"cspacec::iThingFactoryState_GetNormals", _wrap_iThingFactoryState_GetNormals},
{"cspacec::iThingFactoryState_GetCosinusFactor", _wrap_iThingFactoryState_GetCosinusFactor},
{"cspacec::iThingFactoryState_SetCosinusFactor", _wrap_iThingFactoryState_SetCosinusFactor},
{"cspacec::iThingFactoryState_AddPolygonRenderBuffer", _wrap_iThingFactoryState_AddPolygonRenderBuffer},
{"cspacec::iThingFactoryState_GetLightmapLayout", _wrap_iThingFactoryState_GetLightmapLayout},
{"cspacec::delete_iThingFactoryState", _wrap_delete_iThingFactoryState},
{"cspacec::iThingFactoryState_scfGetVersion", _wrap_iThingFactoryState_scfGetVersion},
{"cspacec::iThingState_GetVertexW", _wrap_iThingState_GetVertexW},
{"cspacec::iThingState_GetVerticesW", _wrap_iThingState_GetVerticesW},
{"cspacec::iThingState_GetMovingOption", _wrap_iThingState_GetMovingOption},
{"cspacec::iThingState_SetMovingOption", _wrap_iThingState_SetMovingOption},
{"cspacec::iThingState_Prepare", _wrap_iThingState_Prepare},
{"cspacec::iThingState_Unprepare", _wrap_iThingState_Unprepare},
{"cspacec::iThingState_ReplaceMaterial", _wrap_iThingState_ReplaceMaterial},
{"cspacec::iThingState_ClearReplacedMaterials", _wrap_iThingState_ClearReplacedMaterials},
{"cspacec::iThingState_SetMixMode", _wrap_iThingState_SetMixMode},
{"cspacec::iThingState_GetMixMode", _wrap_iThingState_GetMixMode},
{"cspacec::iThingState_CreatePolygonHandle", _wrap_iThingState_CreatePolygonHandle},
{"cspacec::iThingState_GetPolygonWorldPlane", _wrap_iThingState_GetPolygonWorldPlane},
{"cspacec::iThingState_GetPolygonLightmap", _wrap_iThingState_GetPolygonLightmap},
{"cspacec::iThingState_GetPolygonPDLight", _wrap_iThingState_GetPolygonPDLight},
{"cspacec::iThingState_GetReplacedMaterial", _wrap_iThingState_GetReplacedMaterial},
{"cspacec::delete_iThingState", _wrap_delete_iThingState},
{"cspacec::iThingState_scfGetVersion", _wrap_iThingState_scfGetVersion},
{"cspacec::iThingEnvironment_Clear", _wrap_iThingEnvironment_Clear},
{"cspacec::iThingEnvironment_GetLightmapCellSize", _wrap_iThingEnvironment_GetLightmapCellSize},
{"cspacec::iThingEnvironment_SetLightmapCellSize", _wrap_iThingEnvironment_SetLightmapCellSize},
{"cspacec::iThingEnvironment_GetDefaultLightmapCellSize", _wrap_iThingEnvironment_GetDefaultLightmapCellSize},
{"cspacec::delete_iThingEnvironment", _wrap_delete_iThingEnvironment},
{"cspacec::delete_csCharArrayArray", _wrap_delete_csCharArrayArray},
{"cspacec::new_csCharArrayArray", _wrap_new_csCharArrayArray},
{"cspacec::csCharArrayArray_GetSize", _wrap_csCharArrayArray_GetSize},
{"cspacec::csCharArrayArray_Length", _wrap_csCharArrayArray_Length},
{"cspacec::csCharArrayArray_Get", _wrap_csCharArrayArray_Get},
{"cspacec::csCharArrayArray_Put", _wrap_csCharArrayArray_Put},
{"cspacec::csCharArrayArray_Push", _wrap_csCharArrayArray_Push},
{"cspacec::csCharArrayArray_Pop", _wrap_csCharArrayArray_Pop},
{"cspacec::csCharArrayArray_Top", _wrap_csCharArrayArray_Top},
{"cspacec::csCharArrayArray_Insert", _wrap_csCharArrayArray_Insert},
{"cspacec::csCharArrayArray_Contains", _wrap_csCharArrayArray_Contains},
{"cspacec::csCharArrayArray_Truncate", _wrap_csCharArrayArray_Truncate},
{"cspacec::csCharArrayArray_Empty", _wrap_csCharArrayArray_Empty},
{"cspacec::csCharArrayArray_IsEmpty", _wrap_csCharArrayArray_IsEmpty},
{"cspacec::csCharArrayArray_SetMinimalCapacity", _wrap_csCharArrayArray_SetMinimalCapacity},
{"cspacec::csCharArrayArray_DeleteIndex", _wrap_csCharArrayArray_DeleteIndex},
{"cspacec::csCharArrayArray_DeleteIndexFast", _wrap_csCharArrayArray_DeleteIndexFast},
{"cspacec::csCharArrayArray_DeleteRange", _wrap_csCharArrayArray_DeleteRange},
{"cspacec::csCharArrayArray___eq__", _wrap_csCharArrayArray___eq__},
{"cspacec::csCharArrayArray___ne__", _wrap_csCharArrayArray___ne__},
{"cspacec::csCharArrayArray_GetAllocator", _wrap_csCharArrayArray_GetAllocator},
{"cspacec::iTerrainObjectState_SetMaterialPalette", _wrap_iTerrainObjectState_SetMaterialPalette},
{"cspacec::iTerrainObjectState_GetMaterialPalette", _wrap_iTerrainObjectState_GetMaterialPalette},
{"cspacec::iTerrainObjectState_SetMaterialMap", _wrap_iTerrainObjectState_SetMaterialMap},
{"cspacec::iTerrainObjectState_SetMaterialAlphaMaps", _wrap_iTerrainObjectState_SetMaterialAlphaMaps},
{"cspacec::iTerrainObjectState_SetLODValue", _wrap_iTerrainObjectState_SetLODValue},
{"cspacec::iTerrainObjectState_GetLODValue", _wrap_iTerrainObjectState_GetLODValue},
{"cspacec::iTerrainObjectState_SaveState", _wrap_iTerrainObjectState_SaveState},
{"cspacec::iTerrainObjectState_RestoreState", _wrap_iTerrainObjectState_RestoreState},
{"cspacec::iTerrainObjectState_CollisionDetect", _wrap_iTerrainObjectState_CollisionDetect},
{"cspacec::iTerrainObjectState_SetStaticLighting", _wrap_iTerrainObjectState_SetStaticLighting},
{"cspacec::iTerrainObjectState_GetStaticLighting", _wrap_iTerrainObjectState_GetStaticLighting},
{"cspacec::iTerrainObjectState_SetCastShadows", _wrap_iTerrainObjectState_SetCastShadows},
{"cspacec::iTerrainObjectState_GetCastShadows", _wrap_iTerrainObjectState_GetCastShadows},
{"cspacec::iTerrainObjectState_SetMaterialMapFile", _wrap_iTerrainObjectState_SetMaterialMapFile},
{"cspacec::iTerrainObjectState_GetMaterialMapFile", _wrap_iTerrainObjectState_GetMaterialMapFile},
{"cspacec::iTerrainObjectState_SetTopNeighbor", _wrap_iTerrainObjectState_SetTopNeighbor},
{"cspacec::iTerrainObjectState_SetRightNeighbor", _wrap_iTerrainObjectState_SetRightNeighbor},
{"cspacec::iTerrainObjectState_SetLeftNeighbor", _wrap_iTerrainObjectState_SetLeftNeighbor},
{"cspacec::iTerrainObjectState_SetBottomNeighbor", _wrap_iTerrainObjectState_SetBottomNeighbor},
{"cspacec::delete_iTerrainObjectState", _wrap_delete_iTerrainObjectState},
{"cspacec::iTerrainObjectState_scfGetVersion", _wrap_iTerrainObjectState_scfGetVersion},
{"cspacec::iTerrainFactoryState_SetTerraFormer", _wrap_iTerrainFactoryState_SetTerraFormer},
{"cspacec::iTerrainFactoryState_GetTerraFormer", _wrap_iTerrainFactoryState_GetTerraFormer},
{"cspacec::iTerrainFactoryState_SetSamplerRegion", _wrap_iTerrainFactoryState_SetSamplerRegion},
{"cspacec::iTerrainFactoryState_GetSamplerRegion", _wrap_iTerrainFactoryState_GetSamplerRegion},
{"cspacec::iTerrainFactoryState_SaveState", _wrap_iTerrainFactoryState_SaveState},
{"cspacec::iTerrainFactoryState_RestoreState", _wrap_iTerrainFactoryState_RestoreState},
{"cspacec::delete_iTerrainFactoryState", _wrap_delete_iTerrainFactoryState},
{"cspacec::iTerrainFactoryState_scfGetVersion", _wrap_iTerrainFactoryState_scfGetVersion},
{"cspacec::csParticle_position_set", _wrap_csParticle_position_set},
{"cspacec::csParticle_position_get", _wrap_csParticle_position_get},
{"cspacec::csParticle_mass_set", _wrap_csParticle_mass_set},
{"cspacec::csParticle_mass_get", _wrap_csParticle_mass_get},
{"cspacec::csParticle_orientation_set", _wrap_csParticle_orientation_set},
{"cspacec::csParticle_orientation_get", _wrap_csParticle_orientation_get},
{"cspacec::csParticle_linearVelocity_set", _wrap_csParticle_linearVelocity_set},
{"cspacec::csParticle_linearVelocity_get", _wrap_csParticle_linearVelocity_get},
{"cspacec::csParticle_timeToLive_set", _wrap_csParticle_timeToLive_set},
{"cspacec::csParticle_timeToLive_get", _wrap_csParticle_timeToLive_get},
{"cspacec::csParticle_angularVelocity_set", _wrap_csParticle_angularVelocity_set},
{"cspacec::csParticle_angularVelocity_get", _wrap_csParticle_angularVelocity_get},
{"cspacec::csParticle_pad_set", _wrap_csParticle_pad_set},
{"cspacec::csParticle_pad_get", _wrap_csParticle_pad_get},
{"cspacec::new_csParticle", _wrap_new_csParticle},
{"cspacec::delete_csParticle", _wrap_delete_csParticle},
{"cspacec::csParticleAux_color_set", _wrap_csParticleAux_color_set},
{"cspacec::csParticleAux_color_get", _wrap_csParticleAux_color_get},
{"cspacec::csParticleAux_particleSize_set", _wrap_csParticleAux_particleSize_set},
{"cspacec::csParticleAux_particleSize_get", _wrap_csParticleAux_particleSize_get},
{"cspacec::csParticleAux_pad_set", _wrap_csParticleAux_pad_set},
{"cspacec::csParticleAux_pad_get", _wrap_csParticleAux_pad_get},
{"cspacec::new_csParticleAux", _wrap_new_csParticleAux},
{"cspacec::delete_csParticleAux", _wrap_delete_csParticleAux},
{"cspacec::csParticleBuffer_particleData_set", _wrap_csParticleBuffer_particleData_set},
{"cspacec::csParticleBuffer_particleData_get", _wrap_csParticleBuffer_particleData_get},
{"cspacec::csParticleBuffer_particleAuxData_set", _wrap_csParticleBuffer_particleAuxData_set},
{"cspacec::csParticleBuffer_particleAuxData_get", _wrap_csParticleBuffer_particleAuxData_get},
{"cspacec::csParticleBuffer_particleCount_set", _wrap_csParticleBuffer_particleCount_set},
{"cspacec::csParticleBuffer_particleCount_get", _wrap_csParticleBuffer_particleCount_get},
{"cspacec::new_csParticleBuffer", _wrap_new_csParticleBuffer},
{"cspacec::delete_csParticleBuffer", _wrap_delete_csParticleBuffer},
{"cspacec::iParticleEmitter_SetEnabled", _wrap_iParticleEmitter_SetEnabled},
{"cspacec::iParticleEmitter_GetEnabled", _wrap_iParticleEmitter_GetEnabled},
{"cspacec::iParticleEmitter_SetStartTime", _wrap_iParticleEmitter_SetStartTime},
{"cspacec::iParticleEmitter_GetStartTime", _wrap_iParticleEmitter_GetStartTime},
{"cspacec::iParticleEmitter_SetDuration", _wrap_iParticleEmitter_SetDuration},
{"cspacec::iParticleEmitter_GetDuration", _wrap_iParticleEmitter_GetDuration},
{"cspacec::iParticleEmitter_SetEmissionRate", _wrap_iParticleEmitter_SetEmissionRate},
{"cspacec::iParticleEmitter_GetEmissionRate", _wrap_iParticleEmitter_GetEmissionRate},
{"cspacec::iParticleEmitter_SetInitialTTL", _wrap_iParticleEmitter_SetInitialTTL},
{"cspacec::iParticleEmitter_GetInitialTTL", _wrap_iParticleEmitter_GetInitialTTL},
{"cspacec::iParticleEmitter_SetInitialMass", _wrap_iParticleEmitter_SetInitialMass},
{"cspacec::iParticleEmitter_GetInitialMass", _wrap_iParticleEmitter_GetInitialMass},
{"cspacec::iParticleEmitter_Clone", _wrap_iParticleEmitter_Clone},
{"cspacec::iParticleEmitter_ParticlesToEmit", _wrap_iParticleEmitter_ParticlesToEmit},
{"cspacec::iParticleEmitter_EmitParticles", _wrap_iParticleEmitter_EmitParticles},
{"cspacec::delete_iParticleEmitter", _wrap_delete_iParticleEmitter},
{"cspacec::iParticleEmitter_scfGetVersion", _wrap_iParticleEmitter_scfGetVersion},
{"cspacec::iParticleEffector_Clone", _wrap_iParticleEffector_Clone},
{"cspacec::iParticleEffector_EffectParticles", _wrap_iParticleEffector_EffectParticles},
{"cspacec::delete_iParticleEffector", _wrap_delete_iParticleEffector},
{"cspacec::iParticleEffector_scfGetVersion", _wrap_iParticleEffector_scfGetVersion},
{"cspacec::iParticleSystemBase_SetParticleRenderOrientation", _wrap_iParticleSystemBase_SetParticleRenderOrientation},
{"cspacec::iParticleSystemBase_GetParticleRenderOrientation", _wrap_iParticleSystemBase_GetParticleRenderOrientation},
{"cspacec::iParticleSystemBase_SetRotationMode", _wrap_iParticleSystemBase_SetRotationMode},
{"cspacec::iParticleSystemBase_GetRotationMode", _wrap_iParticleSystemBase_GetRotationMode},
{"cspacec::iParticleSystemBase_SetSortMode", _wrap_iParticleSystemBase_SetSortMode},
{"cspacec::iParticleSystemBase_GetSortMode", _wrap_iParticleSystemBase_GetSortMode},
{"cspacec::iParticleSystemBase_SetIntegrationMode", _wrap_iParticleSystemBase_SetIntegrationMode},
{"cspacec::iParticleSystemBase_GetIntegrationMode", _wrap_iParticleSystemBase_GetIntegrationMode},
{"cspacec::iParticleSystemBase_SetCommonDirection", _wrap_iParticleSystemBase_SetCommonDirection},
{"cspacec::iParticleSystemBase_GetCommonDirection", _wrap_iParticleSystemBase_GetCommonDirection},
{"cspacec::iParticleSystemBase_SetTransformMode", _wrap_iParticleSystemBase_SetTransformMode},
{"cspacec::iParticleSystemBase_GetTransformMode", _wrap_iParticleSystemBase_GetTransformMode},
{"cspacec::iParticleSystemBase_SetUseIndividualSize", _wrap_iParticleSystemBase_SetUseIndividualSize},
{"cspacec::iParticleSystemBase_GetUseIndividualSize", _wrap_iParticleSystemBase_GetUseIndividualSize},
{"cspacec::iParticleSystemBase_SetParticleSize", _wrap_iParticleSystemBase_SetParticleSize},
{"cspacec::iParticleSystemBase_GetParticleSize", _wrap_iParticleSystemBase_GetParticleSize},
{"cspacec::iParticleSystemBase_SetMinBoundingBox", _wrap_iParticleSystemBase_SetMinBoundingBox},
{"cspacec::iParticleSystemBase_GetMinBoundingBox", _wrap_iParticleSystemBase_GetMinBoundingBox},
{"cspacec::iParticleSystemBase_AddEmitter", _wrap_iParticleSystemBase_AddEmitter},
{"cspacec::iParticleSystemBase_GetEmitter", _wrap_iParticleSystemBase_GetEmitter},
{"cspacec::iParticleSystemBase_RemoveEmitter", _wrap_iParticleSystemBase_RemoveEmitter},
{"cspacec::iParticleSystemBase_GetEmitterCount", _wrap_iParticleSystemBase_GetEmitterCount},
{"cspacec::iParticleSystemBase_AddEffector", _wrap_iParticleSystemBase_AddEffector},
{"cspacec::iParticleSystemBase_GetEffector", _wrap_iParticleSystemBase_GetEffector},
{"cspacec::iParticleSystemBase_RemoveEffector", _wrap_iParticleSystemBase_RemoveEffector},
{"cspacec::iParticleSystemBase_GetEffectorCount", _wrap_iParticleSystemBase_GetEffectorCount},
{"cspacec::delete_iParticleSystemBase", _wrap_delete_iParticleSystemBase},
{"cspacec::iParticleSystemBase_scfGetVersion", _wrap_iParticleSystemBase_scfGetVersion},
{"cspacec::iParticleSystemFactory_SetDeepCreation", _wrap_iParticleSystemFactory_SetDeepCreation},
{"cspacec::iParticleSystemFactory_GetDeepCreation", _wrap_iParticleSystemFactory_GetDeepCreation},
{"cspacec::delete_iParticleSystemFactory", _wrap_delete_iParticleSystemFactory},
{"cspacec::iParticleSystemFactory_scfGetVersion", _wrap_iParticleSystemFactory_scfGetVersion},
{"cspacec::iParticleSystem_GetParticleCount", _wrap_iParticleSystem_GetParticleCount},
{"cspacec::iParticleSystem_GetParticle", _wrap_iParticleSystem_GetParticle},
{"cspacec::iParticleSystem_GetParticleAux", _wrap_iParticleSystem_GetParticleAux},
{"cspacec::iParticleSystem_LockForExternalControl", _wrap_iParticleSystem_LockForExternalControl},
{"cspacec::delete_iParticleSystem", _wrap_delete_iParticleSystem},
{"cspacec::iParticleSystem_scfGetVersion", _wrap_iParticleSystem_scfGetVersion},
{"cspacec::iParticleBuiltinEmitterBase_SetPosition", _wrap_iParticleBuiltinEmitterBase_SetPosition},
{"cspacec::iParticleBuiltinEmitterBase_GetPosition", _wrap_iParticleBuiltinEmitterBase_GetPosition},
{"cspacec::iParticleBuiltinEmitterBase_SetParticlePlacement", _wrap_iParticleBuiltinEmitterBase_SetParticlePlacement},
{"cspacec::iParticleBuiltinEmitterBase_GetParticlePlacement", _wrap_iParticleBuiltinEmitterBase_GetParticlePlacement},
{"cspacec::iParticleBuiltinEmitterBase_SetUniformVelocity", _wrap_iParticleBuiltinEmitterBase_SetUniformVelocity},
{"cspacec::iParticleBuiltinEmitterBase_GetUniformVelocity", _wrap_iParticleBuiltinEmitterBase_GetUniformVelocity},
{"cspacec::iParticleBuiltinEmitterBase_SetInitialVelocity", _wrap_iParticleBuiltinEmitterBase_SetInitialVelocity},
{"cspacec::iParticleBuiltinEmitterBase_GetInitialVelocity", _wrap_iParticleBuiltinEmitterBase_GetInitialVelocity},
{"cspacec::delete_iParticleBuiltinEmitterBase", _wrap_delete_iParticleBuiltinEmitterBase},
{"cspacec::iParticleBuiltinEmitterBase_scfGetVersion", _wrap_iParticleBuiltinEmitterBase_scfGetVersion},
{"cspacec::iParticleBuiltinEmitterSphere_SetRadius", _wrap_iParticleBuiltinEmitterSphere_SetRadius},
{"cspacec::iParticleBuiltinEmitterSphere_GetRadius", _wrap_iParticleBuiltinEmitterSphere_GetRadius},
{"cspacec::delete_iParticleBuiltinEmitterSphere", _wrap_delete_iParticleBuiltinEmitterSphere},
{"cspacec::iParticleBuiltinEmitterSphere_scfGetVersion", _wrap_iParticleBuiltinEmitterSphere_scfGetVersion},
{"cspacec::iParticleBuiltinEmitterCone_SetExtent", _wrap_iParticleBuiltinEmitterCone_SetExtent},
{"cspacec::iParticleBuiltinEmitterCone_GetExtent", _wrap_iParticleBuiltinEmitterCone_GetExtent},
{"cspacec::iParticleBuiltinEmitterCone_SetConeAngle", _wrap_iParticleBuiltinEmitterCone_SetConeAngle},
{"cspacec::iParticleBuiltinEmitterCone_GetConeAngle", _wrap_iParticleBuiltinEmitterCone_GetConeAngle},
{"cspacec::delete_iParticleBuiltinEmitterCone", _wrap_delete_iParticleBuiltinEmitterCone},
{"cspacec::iParticleBuiltinEmitterCone_scfGetVersion", _wrap_iParticleBuiltinEmitterCone_scfGetVersion},
{"cspacec::iParticleBuiltinEmitterBox_SetBox", _wrap_iParticleBuiltinEmitterBox_SetBox},
{"cspacec::iParticleBuiltinEmitterBox_GetBox", _wrap_iParticleBuiltinEmitterBox_GetBox},
{"cspacec::delete_iParticleBuiltinEmitterBox", _wrap_delete_iParticleBuiltinEmitterBox},
{"cspacec::iParticleBuiltinEmitterBox_scfGetVersion", _wrap_iParticleBuiltinEmitterBox_scfGetVersion},
{"cspacec::iParticleBuiltinEmitterCylinder_SetRadius", _wrap_iParticleBuiltinEmitterCylinder_SetRadius},
{"cspacec::iParticleBuiltinEmitterCylinder_GetRadius", _wrap_iParticleBuiltinEmitterCylinder_GetRadius},
{"cspacec::iParticleBuiltinEmitterCylinder_SetExtent", _wrap_iParticleBuiltinEmitterCylinder_SetExtent},
{"cspacec::iParticleBuiltinEmitterCylinder_GetExtent", _wrap_iParticleBuiltinEmitterCylinder_GetExtent},
{"cspacec::delete_iParticleBuiltinEmitterCylinder", _wrap_delete_iParticleBuiltinEmitterCylinder},
{"cspacec::iParticleBuiltinEmitterCylinder_scfGetVersion", _wrap_iParticleBuiltinEmitterCylinder_scfGetVersion},
{"cspacec::iParticleBuiltinEmitterFactory_CreateSphere", _wrap_iParticleBuiltinEmitterFactory_CreateSphere},
{"cspacec::iParticleBuiltinEmitterFactory_CreateCone", _wrap_iParticleBuiltinEmitterFactory_CreateCone},
{"cspacec::iParticleBuiltinEmitterFactory_CreateBox", _wrap_iParticleBuiltinEmitterFactory_CreateBox},
{"cspacec::iParticleBuiltinEmitterFactory_CreateCylinder", _wrap_iParticleBuiltinEmitterFactory_CreateCylinder},
{"cspacec::delete_iParticleBuiltinEmitterFactory", _wrap_delete_iParticleBuiltinEmitterFactory},
{"cspacec::iParticleBuiltinEmitterFactory_scfGetVersion", _wrap_iParticleBuiltinEmitterFactory_scfGetVersion},
{"cspacec::iParticleBuiltinEffectorForce_SetAcceleration", _wrap_iParticleBuiltinEffectorForce_SetAcceleration},
{"cspacec::iParticleBuiltinEffectorForce_GetAcceleration", _wrap_iParticleBuiltinEffectorForce_GetAcceleration},
{"cspacec::iParticleBuiltinEffectorForce_SetForce", _wrap_iParticleBuiltinEffectorForce_SetForce},
{"cspacec::iParticleBuiltinEffectorForce_GetForce", _wrap_iParticleBuiltinEffectorForce_GetForce},
{"cspacec::iParticleBuiltinEffectorForce_SetRandomAcceleration", _wrap_iParticleBuiltinEffectorForce_SetRandomAcceleration},
{"cspacec::iParticleBuiltinEffectorForce_GetRandomAcceleration", _wrap_iParticleBuiltinEffectorForce_GetRandomAcceleration},
{"cspacec::delete_iParticleBuiltinEffectorForce", _wrap_delete_iParticleBuiltinEffectorForce},
{"cspacec::iParticleBuiltinEffectorForce_scfGetVersion", _wrap_iParticleBuiltinEffectorForce_scfGetVersion},
{"cspacec::iParticleBuiltinEffectorLinColor_AddColor", _wrap_iParticleBuiltinEffectorLinColor_AddColor},
{"cspacec::iParticleBuiltinEffectorLinColor_SetColor", _wrap_iParticleBuiltinEffectorLinColor_SetColor},
{"cspacec::iParticleBuiltinEffectorLinColor_GetColor", _wrap_iParticleBuiltinEffectorLinColor_GetColor},
{"cspacec::iParticleBuiltinEffectorLinColor_GetColorCount", _wrap_iParticleBuiltinEffectorLinColor_GetColorCount},
{"cspacec::delete_iParticleBuiltinEffectorLinColor", _wrap_delete_iParticleBuiltinEffectorLinColor},
{"cspacec::iParticleBuiltinEffectorLinColor_scfGetVersion", _wrap_iParticleBuiltinEffectorLinColor_scfGetVersion},
{"cspacec::iParticleBuiltinEffectorVelocityField_SetType", _wrap_iParticleBuiltinEffectorVelocityField_SetType},
{"cspacec::iParticleBuiltinEffectorVelocityField_GetType", _wrap_iParticleBuiltinEffectorVelocityField_GetType},
{"cspacec::iParticleBuiltinEffectorVelocityField_SetFParameter", _wrap_iParticleBuiltinEffectorVelocityField_SetFParameter},
{"cspacec::iParticleBuiltinEffectorVelocityField_GetFParameter", _wrap_iParticleBuiltinEffectorVelocityField_GetFParameter},
{"cspacec::iParticleBuiltinEffectorVelocityField_GetFParameterCount", _wrap_iParticleBuiltinEffectorVelocityField_GetFParameterCount},
{"cspacec::iParticleBuiltinEffectorVelocityField_SetVParameter", _wrap_iParticleBuiltinEffectorVelocityField_SetVParameter},
{"cspacec::iParticleBuiltinEffectorVelocityField_GetVParameter", _wrap_iParticleBuiltinEffectorVelocityField_GetVParameter},
{"cspacec::iParticleBuiltinEffectorVelocityField_GetVParameterCount", _wrap_iParticleBuiltinEffectorVelocityField_GetVParameterCount},
{"cspacec::delete_iParticleBuiltinEffectorVelocityField", _wrap_delete_iParticleBuiltinEffectorVelocityField},
{"cspacec::iParticleBuiltinEffectorFactory_CreateForce", _wrap_iParticleBuiltinEffectorFactory_CreateForce},
{"cspacec::iParticleBuiltinEffectorFactory_CreateLinColor", _wrap_iParticleBuiltinEffectorFactory_CreateLinColor},
{"cspacec::iParticleBuiltinEffectorFactory_CreateVelocityField", _wrap_iParticleBuiltinEffectorFactory_CreateVelocityField},
{"cspacec::delete_iParticleBuiltinEffectorFactory", _wrap_delete_iParticleBuiltinEffectorFactory},
{"cspacec::iParticleBuiltinEffectorFactory_scfGetVersion", _wrap_iParticleBuiltinEffectorFactory_scfGetVersion},
{"cspacec::iLoaderStatus_IsReady", _wrap_iLoaderStatus_IsReady},
{"cspacec::iLoaderStatus_IsError", _wrap_iLoaderStatus_IsError},
{"cspacec::delete_iLoaderStatus", _wrap_delete_iLoaderStatus},
{"cspacec::iMissingLoaderData_MissingMaterial", _wrap_iMissingLoaderData_MissingMaterial},
{"cspacec::iMissingLoaderData_MissingTexture", _wrap_iMissingLoaderData_MissingTexture},
{"cspacec::iMissingLoaderData_MissingShader", _wrap_iMissingLoaderData_MissingShader},
{"cspacec::iMissingLoaderData_MissingFactory", _wrap_iMissingLoaderData_MissingFactory},
{"cspacec::iMissingLoaderData_MissingMesh", _wrap_iMissingLoaderData_MissingMesh},
{"cspacec::iMissingLoaderData_MissingSector", _wrap_iMissingLoaderData_MissingSector},
{"cspacec::iMissingLoaderData_MissingLight", _wrap_iMissingLoaderData_MissingLight},
{"cspacec::delete_iMissingLoaderData", _wrap_delete_iMissingLoaderData},
{"cspacec::iLoader_LoadImage", _wrap_iLoader_LoadImage},
{"cspacec::iLoader_LoadTexture", _wrap_iLoader_LoadTexture},
{"cspacec::iLoader_LoadSoundSysData", _wrap_iLoader_LoadSoundSysData},
{"cspacec::iLoader_LoadSoundStream", _wrap_iLoader_LoadSoundStream},
{"cspacec::iLoader_LoadSoundWrapper", _wrap_iLoader_LoadSoundWrapper},
{"cspacec::iLoader_ThreadedLoadMapFile", _wrap_iLoader_ThreadedLoadMapFile},
{"cspacec::iLoader_LoadMapFile", _wrap_iLoader_LoadMapFile},
{"cspacec::iLoader_LoadMap", _wrap_iLoader_LoadMap},
{"cspacec::iLoader_LoadLibraryFile", _wrap_iLoader_LoadLibraryFile},
{"cspacec::iLoader_LoadLibrary", _wrap_iLoader_LoadLibrary},
{"cspacec::iLoader_LoadMeshObjectFactory", _wrap_iLoader_LoadMeshObjectFactory},
{"cspacec::iLoader_LoadMeshObject", _wrap_iLoader_LoadMeshObject},
{"cspacec::iLoader_Load", _wrap_iLoader_Load},
{"cspacec::iLoader_LoadShader", _wrap_iLoader_LoadShader},
{"cspacec::iLoader_SetAutoRegions", _wrap_iLoader_SetAutoRegions},
{"cspacec::iLoader_GetAutoRegions", _wrap_iLoader_GetAutoRegions},
{"cspacec::delete_iLoader", _wrap_delete_iLoader},
{"cspacec::iLoader_scfGetVersion", _wrap_iLoader_scfGetVersion},
{"cspacec::iLoaderPlugin_Parse", _wrap_iLoaderPlugin_Parse},
{"cspacec::delete_iLoaderPlugin", _wrap_delete_iLoaderPlugin},
{"cspacec::iLoaderPlugin_scfGetVersion", _wrap_iLoaderPlugin_scfGetVersion},
{"cspacec::iBinaryLoaderPlugin_Parse", _wrap_iBinaryLoaderPlugin_Parse},
{"cspacec::delete_iBinaryLoaderPlugin", _wrap_delete_iBinaryLoaderPlugin},
{"cspacec::iBinaryLoaderPlugin_scfGetVersion", _wrap_iBinaryLoaderPlugin_scfGetVersion},
{"cspacec::iSaver_SaveMapFile", _wrap_iSaver_SaveMapFile},
{"cspacec::iSaver_SaveAllRegions", _wrap_iSaver_SaveAllRegions},
{"cspacec::iSaver_SaveRegionFile", _wrap_iSaver_SaveRegionFile},
{"cspacec::iSaver_SaveRegion", _wrap_iSaver_SaveRegion},
{"cspacec::iSaver_SavePortal", _wrap_iSaver_SavePortal},
{"cspacec::delete_iSaver", _wrap_delete_iSaver},
{"cspacec::iSndSysData_GetFormat", _wrap_iSndSysData_GetFormat},
{"cspacec::iSndSysData_GetFrameCount", _wrap_iSndSysData_GetFrameCount},
{"cspacec::iSndSysData_GetDataSize", _wrap_iSndSysData_GetDataSize},
{"cspacec::iSndSysData_CreateStream", _wrap_iSndSysData_CreateStream},
{"cspacec::iSndSysData_SetDescription", _wrap_iSndSysData_SetDescription},
{"cspacec::iSndSysData_GetDescription", _wrap_iSndSysData_GetDescription},
{"cspacec::delete_iSndSysData", _wrap_delete_iSndSysData},
{"cspacec::iSndSysData_scfGetVersion", _wrap_iSndSysData_scfGetVersion},
{"cspacec::iSndSysSoftwareFilter3DProperties_clean_buffer_set", _wrap_iSndSysSoftwareFilter3DProperties_clean_buffer_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_clean_buffer_get", _wrap_iSndSysSoftwareFilter3DProperties_clean_buffer_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_work_buffer_set", _wrap_iSndSysSoftwareFilter3DProperties_work_buffer_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_work_buffer_get", _wrap_iSndSysSoftwareFilter3DProperties_work_buffer_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_buffer_samples_set", _wrap_iSndSysSoftwareFilter3DProperties_buffer_samples_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_buffer_samples_get", _wrap_iSndSysSoftwareFilter3DProperties_buffer_samples_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_source_parameters_set", _wrap_iSndSysSoftwareFilter3DProperties_source_parameters_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_source_parameters_get", _wrap_iSndSysSoftwareFilter3DProperties_source_parameters_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_listener_parameters_set", _wrap_iSndSysSoftwareFilter3DProperties_listener_parameters_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_listener_parameters_get", _wrap_iSndSysSoftwareFilter3DProperties_listener_parameters_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_sound_format_set", _wrap_iSndSysSoftwareFilter3DProperties_sound_format_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_sound_format_get", _wrap_iSndSysSoftwareFilter3DProperties_sound_format_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_closest_speaker_distance_set", _wrap_iSndSysSoftwareFilter3DProperties_closest_speaker_distance_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_closest_speaker_distance_get", _wrap_iSndSysSoftwareFilter3DProperties_closest_speaker_distance_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_speaker_distance_set", _wrap_iSndSysSoftwareFilter3DProperties_speaker_distance_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_speaker_distance_get", _wrap_iSndSysSoftwareFilter3DProperties_speaker_distance_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_speaker_direction_cos_set", _wrap_iSndSysSoftwareFilter3DProperties_speaker_direction_cos_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_speaker_direction_cos_get", _wrap_iSndSysSoftwareFilter3DProperties_speaker_direction_cos_get},
{"cspacec::iSndSysSoftwareFilter3DProperties_channel_set", _wrap_iSndSysSoftwareFilter3DProperties_channel_set},
{"cspacec::iSndSysSoftwareFilter3DProperties_channel_get", _wrap_iSndSysSoftwareFilter3DProperties_channel_get},
{"cspacec::new_iSndSysSoftwareFilter3DProperties", _wrap_new_iSndSysSoftwareFilter3DProperties},
{"cspacec::delete_iSndSysSoftwareFilter3DProperties", _wrap_delete_iSndSysSoftwareFilter3DProperties},
{"cspacec::iSndSysSoftwareFilter3D_Apply", _wrap_iSndSysSoftwareFilter3D_Apply},
{"cspacec::iSndSysSoftwareFilter3D_AddSubFilter", _wrap_iSndSysSoftwareFilter3D_AddSubFilter},
{"cspacec::iSndSysSoftwareFilter3D_GetSubFilter", _wrap_iSndSysSoftwareFilter3D_GetSubFilter},
{"cspacec::iSndSysSoftwareFilter3D_GetPtr", _wrap_iSndSysSoftwareFilter3D_GetPtr},
{"cspacec::delete_iSndSysSoftwareFilter3D", _wrap_delete_iSndSysSoftwareFilter3D},
{"cspacec::iSndSysSoftwareFilter3D_scfGetVersion", _wrap_iSndSysSoftwareFilter3D_scfGetVersion},
{"cspacec::iSndSysSoftwareOutputFilter_FormatNotify", _wrap_iSndSysSoftwareOutputFilter_FormatNotify},
{"cspacec::iSndSysSoftwareOutputFilter_DeliverData", _wrap_iSndSysSoftwareOutputFilter_DeliverData},
{"cspacec::delete_iSndSysSoftwareOutputFilter", _wrap_delete_iSndSysSoftwareOutputFilter},
{"cspacec::iSndSysListener_SetDirection", _wrap_iSndSysListener_SetDirection},
{"cspacec::iSndSysListener_SetPosition", _wrap_iSndSysListener_SetPosition},
{"cspacec::iSndSysListener_SetDistanceFactor", _wrap_iSndSysListener_SetDistanceFactor},
{"cspacec::iSndSysListener_SetRollOffFactor", _wrap_iSndSysListener_SetRollOffFactor},
{"cspacec::iSndSysListener_GetDirection", _wrap_iSndSysListener_GetDirection},
{"cspacec::iSndSysListener_GetPosition", _wrap_iSndSysListener_GetPosition},
{"cspacec::iSndSysListener_GetDistanceFactor", _wrap_iSndSysListener_GetDistanceFactor},
{"cspacec::iSndSysListener_GetRollOffFactor", _wrap_iSndSysListener_GetRollOffFactor},
{"cspacec::delete_iSndSysListener", _wrap_delete_iSndSysListener},
{"cspacec::iSndSysListener_scfGetVersion", _wrap_iSndSysListener_scfGetVersion},
{"cspacec::iSndSysLoader_LoadSound", _wrap_iSndSysLoader_LoadSound},
{"cspacec::delete_iSndSysLoader", _wrap_delete_iSndSysLoader},
{"cspacec::iSndSysLoader_scfGetVersion", _wrap_iSndSysLoader_scfGetVersion},
{"cspacec::iSndSysWrapper_QueryObject", _wrap_iSndSysWrapper_QueryObject},
{"cspacec::iSndSysWrapper_GetStream", _wrap_iSndSysWrapper_GetStream},
{"cspacec::iSndSysWrapper_SetStream", _wrap_iSndSysWrapper_SetStream},
{"cspacec::delete_iSndSysWrapper", _wrap_delete_iSndSysWrapper},
{"cspacec::iSndSysWrapper_scfGetVersion", _wrap_iSndSysWrapper_scfGetVersion},
{"cspacec::iSndSysManager_CreateSound", _wrap_iSndSysManager_CreateSound},
{"cspacec::iSndSysManager_RemoveSound", _wrap_iSndSysManager_RemoveSound},
{"cspacec::iSndSysManager_RemoveSounds", _wrap_iSndSysManager_RemoveSounds},
{"cspacec::iSndSysManager_GetSoundCount", _wrap_iSndSysManager_GetSoundCount},
{"cspacec::iSndSysManager_GetSound", _wrap_iSndSysManager_GetSound},
{"cspacec::iSndSysManager_FindSoundByName", _wrap_iSndSysManager_FindSoundByName},
{"cspacec::delete_iSndSysManager", _wrap_delete_iSndSysManager},
{"cspacec::iSndSysManager_scfGetVersion", _wrap_iSndSysManager_scfGetVersion},
{"cspacec::iSndSysSource_SetVolume", _wrap_iSndSysSource_SetVolume},
{"cspacec::iSndSysSource_GetVolume", _wrap_iSndSysSource_GetVolume},
{"cspacec::iSndSysSource_GetStream", _wrap_iSndSysSource_GetStream},
{"cspacec::iSndSysSource_AddOutputFilter", _wrap_iSndSysSource_AddOutputFilter},
{"cspacec::iSndSysSource_RemoveOutputFilter", _wrap_iSndSysSource_RemoveOutputFilter},
{"cspacec::iSndSysSource_GetPtr", _wrap_iSndSysSource_GetPtr},
{"cspacec::delete_iSndSysSource", _wrap_delete_iSndSysSource},
{"cspacec::iSndSysSource_scfGetVersion", _wrap_iSndSysSource_scfGetVersion},
{"cspacec::iSndSysSourceSoftware_MergeIntoBuffer", _wrap_iSndSysSourceSoftware_MergeIntoBuffer},
{"cspacec::iSndSysSourceSoftware_ProcessOutputFilters", _wrap_iSndSysSourceSoftware_ProcessOutputFilters},
{"cspacec::delete_iSndSysSourceSoftware", _wrap_delete_iSndSysSourceSoftware},
{"cspacec::iSndSysSourceSoftware3D_SetPosition", _wrap_iSndSysSourceSoftware3D_SetPosition},
{"cspacec::iSndSysSourceSoftware3D_GetPosition", _wrap_iSndSysSourceSoftware3D_GetPosition},
{"cspacec::iSndSysSourceSoftware3D_SetDirection", _wrap_iSndSysSourceSoftware3D_SetDirection},
{"cspacec::iSndSysSourceSoftware3D_GetDirection", _wrap_iSndSysSourceSoftware3D_GetDirection},
{"cspacec::iSndSysSourceSoftware3D_SetDirectionalRadiation", _wrap_iSndSysSourceSoftware3D_SetDirectionalRadiation},
{"cspacec::iSndSysSourceSoftware3D_GetDirectionalRadiation", _wrap_iSndSysSourceSoftware3D_GetDirectionalRadiation},
{"cspacec::iSndSysSourceSoftware3D_SetMinimumDistance", _wrap_iSndSysSourceSoftware3D_SetMinimumDistance},
{"cspacec::iSndSysSourceSoftware3D_SetMaximumDistance", _wrap_iSndSysSourceSoftware3D_SetMaximumDistance},
{"cspacec::iSndSysSourceSoftware3D_GetMinimumDistance", _wrap_iSndSysSourceSoftware3D_GetMinimumDistance},
{"cspacec::iSndSysSourceSoftware3D_GetMaximumDistance", _wrap_iSndSysSourceSoftware3D_GetMaximumDistance},
{"cspacec::delete_iSndSysSourceSoftware3D", _wrap_delete_iSndSysSourceSoftware3D},
{"cspacec::csSndSysSoundFormat_Freq_set", _wrap_csSndSysSoundFormat_Freq_set},
{"cspacec::csSndSysSoundFormat_Freq_get", _wrap_csSndSysSoundFormat_Freq_get},
{"cspacec::csSndSysSoundFormat_Bits_set", _wrap_csSndSysSoundFormat_Bits_set},
{"cspacec::csSndSysSoundFormat_Bits_get", _wrap_csSndSysSoundFormat_Bits_get},
{"cspacec::csSndSysSoundFormat_Channels_set", _wrap_csSndSysSoundFormat_Channels_set},
{"cspacec::csSndSysSoundFormat_Channels_get", _wrap_csSndSysSoundFormat_Channels_get},
{"cspacec::csSndSysSoundFormat_Flags_set", _wrap_csSndSysSoundFormat_Flags_set},
{"cspacec::csSndSysSoundFormat_Flags_get", _wrap_csSndSysSoundFormat_Flags_get},
{"cspacec::new_csSndSysSoundFormat", _wrap_new_csSndSysSoundFormat},
{"cspacec::delete_csSndSysSoundFormat", _wrap_delete_csSndSysSoundFormat},
{"cspacec::iSndSysStream_GetDescription", _wrap_iSndSysStream_GetDescription},
{"cspacec::iSndSysStream_GetRenderedFormat", _wrap_iSndSysStream_GetRenderedFormat},
{"cspacec::iSndSysStream_Get3dMode", _wrap_iSndSysStream_Get3dMode},
{"cspacec::iSndSysStream_GetFrameCount", _wrap_iSndSysStream_GetFrameCount},
{"cspacec::iSndSysStream_GetPosition", _wrap_iSndSysStream_GetPosition},
{"cspacec::iSndSysStream_ResetPosition", _wrap_iSndSysStream_ResetPosition},
{"cspacec::iSndSysStream_SetPosition", _wrap_iSndSysStream_SetPosition},
{"cspacec::iSndSysStream_Pause", _wrap_iSndSysStream_Pause},
{"cspacec::iSndSysStream_Unpause", _wrap_iSndSysStream_Unpause},
{"cspacec::iSndSysStream_GetPauseState", _wrap_iSndSysStream_GetPauseState},
{"cspacec::iSndSysStream_SetLoopState", _wrap_iSndSysStream_SetLoopState},
{"cspacec::iSndSysStream_GetLoopState", _wrap_iSndSysStream_GetLoopState},
{"cspacec::iSndSysStream_SetPlayRatePercent", _wrap_iSndSysStream_SetPlayRatePercent},
{"cspacec::iSndSysStream_GetPlayRatePercent", _wrap_iSndSysStream_GetPlayRatePercent},
{"cspacec::iSndSysStream_SetAutoUnregister", _wrap_iSndSysStream_SetAutoUnregister},
{"cspacec::iSndSysStream_GetAutoUnregister", _wrap_iSndSysStream_GetAutoUnregister},
{"cspacec::iSndSysStream_GetAutoUnregisterRequested", _wrap_iSndSysStream_GetAutoUnregisterRequested},
{"cspacec::iSndSysStream_AdvancePosition", _wrap_iSndSysStream_AdvancePosition},
{"cspacec::iSndSysStream_GetDataPointers", _wrap_iSndSysStream_GetDataPointers},
{"cspacec::iSndSysStream_InitializeSourcePositionMarker", _wrap_iSndSysStream_InitializeSourcePositionMarker},
{"cspacec::iSndSysStream_ProcessNotifications", _wrap_iSndSysStream_ProcessNotifications},
{"cspacec::iSndSysStream_RegisterCallback", _wrap_iSndSysStream_RegisterCallback},
{"cspacec::iSndSysStream_UnregisterCallback", _wrap_iSndSysStream_UnregisterCallback},
{"cspacec::iSndSysStream_RegisterFrameNotification", _wrap_iSndSysStream_RegisterFrameNotification},
{"cspacec::delete_iSndSysStream", _wrap_delete_iSndSysStream},
{"cspacec::iSndSysStream_scfGetVersion", _wrap_iSndSysStream_scfGetVersion},
{"cspacec::iSndSysStreamCallback_StreamLoopNotification", _wrap_iSndSysStreamCallback_StreamLoopNotification},
{"cspacec::iSndSysStreamCallback_StreamPauseNotification", _wrap_iSndSysStreamCallback_StreamPauseNotification},
{"cspacec::iSndSysStreamCallback_StreamUnpauseNotification", _wrap_iSndSysStreamCallback_StreamUnpauseNotification},
{"cspacec::iSndSysStreamCallback_StreamFrameNotification", _wrap_iSndSysStreamCallback_StreamFrameNotification},
{"cspacec::delete_iSndSysStreamCallback", _wrap_delete_iSndSysStreamCallback},
{"cspacec::iSndSysRenderer_SetVolume", _wrap_iSndSysRenderer_SetVolume},
{"cspacec::iSndSysRenderer_GetVolume", _wrap_iSndSysRenderer_GetVolume},
{"cspacec::iSndSysRenderer_CreateStream", _wrap_iSndSysRenderer_CreateStream},
{"cspacec::iSndSysRenderer_CreateSource", _wrap_iSndSysRenderer_CreateSource},
{"cspacec::iSndSysRenderer_RemoveStream", _wrap_iSndSysRenderer_RemoveStream},
{"cspacec::iSndSysRenderer_RemoveSource", _wrap_iSndSysRenderer_RemoveSource},
{"cspacec::iSndSysRenderer_GetListener", _wrap_iSndSysRenderer_GetListener},
{"cspacec::iSndSysRenderer_RegisterCallback", _wrap_iSndSysRenderer_RegisterCallback},
{"cspacec::iSndSysRenderer_UnregisterCallback", _wrap_iSndSysRenderer_UnregisterCallback},
{"cspacec::delete_iSndSysRenderer", _wrap_delete_iSndSysRenderer},
{"cspacec::iSndSysRenderer_scfGetVersion", _wrap_iSndSysRenderer_scfGetVersion},
{"cspacec::iSndSysRendererCallback_StreamAddNotification", _wrap_iSndSysRendererCallback_StreamAddNotification},
{"cspacec::iSndSysRendererCallback_StreamRemoveNotification", _wrap_iSndSysRendererCallback_StreamRemoveNotification},
{"cspacec::iSndSysRendererCallback_SourceAddNotification", _wrap_iSndSysRendererCallback_SourceAddNotification},
{"cspacec::iSndSysRendererCallback_SourceRemoveNotification", _wrap_iSndSysRendererCallback_SourceRemoveNotification},
{"cspacec::delete_iSndSysRendererCallback", _wrap_delete_iSndSysRendererCallback},
{"cspacec::iSndSysRendererSoftware_AddOutputFilter", _wrap_iSndSysRendererSoftware_AddOutputFilter},
{"cspacec::iSndSysRendererSoftware_RemoveOutputFilter", _wrap_iSndSysRendererSoftware_RemoveOutputFilter},
{"cspacec::delete_iSndSysRendererSoftware", _wrap_delete_iSndSysRendererSoftware},
{"cspacec::iSndSysSoftwareDriver_Open", _wrap_iSndSysSoftwareDriver_Open},
{"cspacec::iSndSysSoftwareDriver_Close", _wrap_iSndSysSoftwareDriver_Close},
{"cspacec::iSndSysSoftwareDriver_StartThread", _wrap_iSndSysSoftwareDriver_StartThread},
{"cspacec::iSndSysSoftwareDriver_StopThread", _wrap_iSndSysSoftwareDriver_StopThread},
{"cspacec::delete_iSndSysSoftwareDriver", _wrap_delete_iSndSysSoftwareDriver},
{"cspacec::iSndSysSoftwareDriver_scfGetVersion", _wrap_iSndSysSoftwareDriver_scfGetVersion},
{"cspacec::iComponent_Initialize", _wrap_iComponent_Initialize},
{"cspacec::delete_iComponent", _wrap_delete_iComponent},
{"cspacec::iComponent_scfGetVersion", _wrap_iComponent_scfGetVersion},
{"cspacec::iCacheManager_SetReadOnly", _wrap_iCacheManager_SetReadOnly},
{"cspacec::iCacheManager_IsReadOnly", _wrap_iCacheManager_IsReadOnly},
{"cspacec::iCacheManager_SetCurrentType", _wrap_iCacheManager_SetCurrentType},
{"cspacec::iCacheManager_GetCurrentType", _wrap_iCacheManager_GetCurrentType},
{"cspacec::iCacheManager_SetCurrentScope", _wrap_iCacheManager_SetCurrentScope},
{"cspacec::iCacheManager_GetCurrentScope", _wrap_iCacheManager_GetCurrentScope},
{"cspacec::iCacheManager_CacheData", _wrap_iCacheManager_CacheData},
{"cspacec::iCacheManager_ReadCache", _wrap_iCacheManager_ReadCache},
{"cspacec::iCacheManager_ClearCache", _wrap_iCacheManager_ClearCache},
{"cspacec::iCacheManager_Flush", _wrap_iCacheManager_Flush},
{"cspacec::delete_iCacheManager", _wrap_delete_iCacheManager},
{"cspacec::iCacheManager_scfGetVersion", _wrap_iCacheManager_scfGetVersion},
{"cspacec::csFileTime_sec_set", _wrap_csFileTime_sec_set},
{"cspacec::csFileTime_sec_get", _wrap_csFileTime_sec_get},
{"cspacec::csFileTime_min_set", _wrap_csFileTime_min_set},
{"cspacec::csFileTime_min_get", _wrap_csFileTime_min_get},
{"cspacec::csFileTime_hour_set", _wrap_csFileTime_hour_set},
{"cspacec::csFileTime_hour_get", _wrap_csFileTime_hour_get},
{"cspacec::csFileTime_day_set", _wrap_csFileTime_day_set},
{"cspacec::csFileTime_day_get", _wrap_csFileTime_day_get},
{"cspacec::csFileTime_mon_set", _wrap_csFileTime_mon_set},
{"cspacec::csFileTime_mon_get", _wrap_csFileTime_mon_get},
{"cspacec::csFileTime_year_set", _wrap_csFileTime_year_set},
{"cspacec::csFileTime_year_get", _wrap_csFileTime_year_get},
{"cspacec::new_csFileTime", _wrap_new_csFileTime},
{"cspacec::delete_csFileTime", _wrap_delete_csFileTime},
{"cspacec::iFile_GetName", _wrap_iFile_GetName},
{"cspacec::iFile_GetSize", _wrap_iFile_GetSize},
{"cspacec::iFile_GetStatus", _wrap_iFile_GetStatus},
{"cspacec::iFile_Read", _wrap_iFile_Read},
{"cspacec::iFile_Write", _wrap_iFile_Write},
{"cspacec::iFile_Flush", _wrap_iFile_Flush},
{"cspacec::iFile_AtEOF", _wrap_iFile_AtEOF},
{"cspacec::iFile_GetPos", _wrap_iFile_GetPos},
{"cspacec::iFile_SetPos", _wrap_iFile_SetPos},
{"cspacec::iFile_GetAllData", _wrap_iFile_GetAllData},
{"cspacec::delete_iFile", _wrap_delete_iFile},
{"cspacec::iFile_scfGetVersion", _wrap_iFile_scfGetVersion},
{"cspacec::iVFS_ChDir", _wrap_iVFS_ChDir},
{"cspacec::iVFS_GetCwd", _wrap_iVFS_GetCwd},
{"cspacec::iVFS_PushDir", _wrap_iVFS_PushDir},
{"cspacec::iVFS_PopDir", _wrap_iVFS_PopDir},
{"cspacec::iVFS_ExpandPath", _wrap_iVFS_ExpandPath},
{"cspacec::iVFS_Exists", _wrap_iVFS_Exists},
{"cspacec::iVFS_FindFiles", _wrap_iVFS_FindFiles},
{"cspacec::iVFS_Open", _wrap_iVFS_Open},
{"cspacec::iVFS_ReadFile", _wrap_iVFS_ReadFile},
{"cspacec::iVFS_WriteFile", _wrap_iVFS_WriteFile},
{"cspacec::iVFS_DeleteFile", _wrap_iVFS_DeleteFile},
{"cspacec::iVFS_Sync", _wrap_iVFS_Sync},
{"cspacec::iVFS_SymbolicLink", _wrap_iVFS_SymbolicLink},
{"cspacec::iVFS_Mount", _wrap_iVFS_Mount},
{"cspacec::iVFS_Unmount", _wrap_iVFS_Unmount},
{"cspacec::iVFS_MountRoot", _wrap_iVFS_MountRoot},
{"cspacec::iVFS_SaveMounts", _wrap_iVFS_SaveMounts},
{"cspacec::iVFS_LoadMountsFromFile", _wrap_iVFS_LoadMountsFromFile},
{"cspacec::iVFS_ChDirAuto", _wrap_iVFS_ChDirAuto},
{"cspacec::iVFS_GetFileTime", _wrap_iVFS_GetFileTime},
{"cspacec::iVFS_SetFileTime", _wrap_iVFS_SetFileTime},
{"cspacec::iVFS_GetFileSize", _wrap_iVFS_GetFileSize},
{"cspacec::iVFS_GetRealPath", _wrap_iVFS_GetRealPath},
{"cspacec::iVFS_GetMounts", _wrap_iVFS_GetMounts},
{"cspacec::iVFS_GetRealMountPaths", _wrap_iVFS_GetRealMountPaths},
{"cspacec::delete_iVFS", _wrap_delete_iVFS},
{"cspacec::iVFS_scfGetVersion", _wrap_iVFS_scfGetVersion},
{"cspacec::iObjectNameChangeListener_NameChanged", _wrap_iObjectNameChangeListener_NameChanged},
{"cspacec::delete_iObjectNameChangeListener", _wrap_delete_iObjectNameChangeListener},
{"cspacec::iObject_SetName", _wrap_iObject_SetName},
{"cspacec::iObject_GetName", _wrap_iObject_GetName},
{"cspacec::iObject_GetID", _wrap_iObject_GetID},
{"cspacec::iObject_SetObjectParent", _wrap_iObject_SetObjectParent},
{"cspacec::iObject_GetObjectParent", _wrap_iObject_GetObjectParent},
{"cspacec::iObject_ObjAdd", _wrap_iObject_ObjAdd},
{"cspacec::iObject_ObjRemove", _wrap_iObject_ObjRemove},
{"cspacec::iObject_ObjRemoveAll", _wrap_iObject_ObjRemoveAll},
{"cspacec::iObject_ObjAddChildren", _wrap_iObject_ObjAddChildren},
{"cspacec::iObject_GetChild", _wrap_iObject_GetChild},
{"cspacec::iObject_GetIterator", _wrap_iObject_GetIterator},
{"cspacec::iObject_ObjReleaseOld", _wrap_iObject_ObjReleaseOld},
{"cspacec::iObject_AddNameChangeListener", _wrap_iObject_AddNameChangeListener},
{"cspacec::iObject_RemoveNameChangeListener", _wrap_iObject_RemoveNameChangeListener},
{"cspacec::delete_iObject", _wrap_delete_iObject},
{"cspacec::iObject_scfGetVersion", _wrap_iObject_scfGetVersion},
{"cspacec::iObjectIterator_Next", _wrap_iObjectIterator_Next},
{"cspacec::iObjectIterator_Reset", _wrap_iObjectIterator_Reset},
{"cspacec::iObjectIterator_GetParentObj", _wrap_iObjectIterator_GetParentObj},
{"cspacec::iObjectIterator_HasNext", _wrap_iObjectIterator_HasNext},
{"cspacec::iObjectIterator_FindName", _wrap_iObjectIterator_FindName},
{"cspacec::delete_iObjectIterator", _wrap_delete_iObjectIterator},
{"cspacec::iStringSet_Request", _wrap_iStringSet_Request},
{"cspacec::iStringSet_Contains", _wrap_iStringSet_Contains},
{"cspacec::iStringSet_Delete", _wrap_iStringSet_Delete},
{"cspacec::iStringSet_Empty", _wrap_iStringSet_Empty},
{"cspacec::iStringSet_Clear", _wrap_iStringSet_Clear},
{"cspacec::iStringSet_GetSize", _wrap_iStringSet_GetSize},
{"cspacec::iStringSet_IsEmpty", _wrap_iStringSet_IsEmpty},
{"cspacec::delete_iStringSet", _wrap_delete_iStringSet},
{"cspacec::iStringSet_scfGetVersion", _wrap_iStringSet_scfGetVersion},
{"cspacec::iObjectRegistry_Clear", _wrap_iObjectRegistry_Clear},
{"cspacec::iObjectRegistry_Register", _wrap_iObjectRegistry_Register},
{"cspacec::iObjectRegistry_Unregister", _wrap_iObjectRegistry_Unregister},
{"cspacec::iObjectRegistry_Get", _wrap_iObjectRegistry_Get},
{"cspacec::delete_iObjectRegistry", _wrap_delete_iObjectRegistry},
{"cspacec::iObjectRegistry_scfGetVersion", _wrap_iObjectRegistry_scfGetVersion},
{"cspacec::iObjectRegistryIterator_Reset", _wrap_iObjectRegistryIterator_Reset},
{"cspacec::iObjectRegistryIterator_GetCurrentTag", _wrap_iObjectRegistryIterator_GetCurrentTag},
{"cspacec::iObjectRegistryIterator_HasNext", _wrap_iObjectRegistryIterator_HasNext},
{"cspacec::iObjectRegistryIterator_Next", _wrap_iObjectRegistryIterator_Next},
{"cspacec::delete_iObjectRegistryIterator", _wrap_delete_iObjectRegistryIterator},
{"cspacec::csQueryRegistryTag", _wrap_csQueryRegistryTag},
{"cspacec::iVirtualClock_Advance", _wrap_iVirtualClock_Advance},
{"cspacec::iVirtualClock_Suspend", _wrap_iVirtualClock_Suspend},
{"cspacec::iVirtualClock_Resume", _wrap_iVirtualClock_Resume},
{"cspacec::iVirtualClock_GetElapsedTicks", _wrap_iVirtualClock_GetElapsedTicks},
{"cspacec::iVirtualClock_GetCurrentTicks", _wrap_iVirtualClock_GetCurrentTicks},
{"cspacec::delete_iVirtualClock", _wrap_delete_iVirtualClock},
{"cspacec::iVirtualClock_scfGetVersion", _wrap_iVirtualClock_scfGetVersion},
{"cspacec::iEventAttributeIterator_HasNext", _wrap_iEventAttributeIterator_HasNext},
{"cspacec::iEventAttributeIterator_Next", _wrap_iEventAttributeIterator_Next},
{"cspacec::iEventAttributeIterator_Reset", _wrap_iEventAttributeIterator_Reset},
{"cspacec::delete_iEventAttributeIterator", _wrap_delete_iEventAttributeIterator},
{"cspacec::csKeyEventData_eventType_set", _wrap_csKeyEventData_eventType_set},
{"cspacec::csKeyEventData_eventType_get", _wrap_csKeyEventData_eventType_get},
{"cspacec::csKeyEventData_codeRaw_set", _wrap_csKeyEventData_codeRaw_set},
{"cspacec::csKeyEventData_codeRaw_get", _wrap_csKeyEventData_codeRaw_get},
{"cspacec::csKeyEventData_codeCooked_set", _wrap_csKeyEventData_codeCooked_set},
{"cspacec::csKeyEventData_codeCooked_get", _wrap_csKeyEventData_codeCooked_get},
{"cspacec::csKeyEventData_modifiers_set", _wrap_csKeyEventData_modifiers_set},
{"cspacec::csKeyEventData_modifiers_get", _wrap_csKeyEventData_modifiers_get},
{"cspacec::csKeyEventData_autoRepeat_set", _wrap_csKeyEventData_autoRepeat_set},
{"cspacec::csKeyEventData_autoRepeat_get", _wrap_csKeyEventData_autoRepeat_get},
{"cspacec::csKeyEventData_charType_set", _wrap_csKeyEventData_charType_set},
{"cspacec::csKeyEventData_charType_get", _wrap_csKeyEventData_charType_get},
{"cspacec::new_csKeyEventData", _wrap_new_csKeyEventData},
{"cspacec::delete_csKeyEventData", _wrap_delete_csKeyEventData},
{"cspacec::csMouseEventData_x_set", _wrap_csMouseEventData_x_set},
{"cspacec::csMouseEventData_x_get", _wrap_csMouseEventData_x_get},
{"cspacec::csMouseEventData_y_set", _wrap_csMouseEventData_y_set},
{"cspacec::csMouseEventData_y_get", _wrap_csMouseEventData_y_get},
{"cspacec::csMouseEventData_axes_set", _wrap_csMouseEventData_axes_set},
{"cspacec::csMouseEventData_axes_get", _wrap_csMouseEventData_axes_get},
{"cspacec::csMouseEventData_numAxes_set", _wrap_csMouseEventData_numAxes_set},
{"cspacec::csMouseEventData_numAxes_get", _wrap_csMouseEventData_numAxes_get},
{"cspacec::csMouseEventData_Button_set", _wrap_csMouseEventData_Button_set},
{"cspacec::csMouseEventData_Button_get", _wrap_csMouseEventData_Button_get},
{"cspacec::csMouseEventData_Modifiers_set", _wrap_csMouseEventData_Modifiers_set},
{"cspacec::csMouseEventData_Modifiers_get", _wrap_csMouseEventData_Modifiers_get},
{"cspacec::new_csMouseEventData", _wrap_new_csMouseEventData},
{"cspacec::delete_csMouseEventData", _wrap_delete_csMouseEventData},
{"cspacec::csJoystickEventData_number_set", _wrap_csJoystickEventData_number_set},
{"cspacec::csJoystickEventData_number_get", _wrap_csJoystickEventData_number_get},
{"cspacec::csJoystickEventData_axes_set", _wrap_csJoystickEventData_axes_set},
{"cspacec::csJoystickEventData_axes_get", _wrap_csJoystickEventData_axes_get},
{"cspacec::csJoystickEventData_numAxes_set", _wrap_csJoystickEventData_numAxes_set},
{"cspacec::csJoystickEventData_numAxes_get", _wrap_csJoystickEventData_numAxes_get},
{"cspacec::csJoystickEventData_axesChanged_set", _wrap_csJoystickEventData_axesChanged_set},
{"cspacec::csJoystickEventData_axesChanged_get", _wrap_csJoystickEventData_axesChanged_get},
{"cspacec::csJoystickEventData_Button_set", _wrap_csJoystickEventData_Button_set},
{"cspacec::csJoystickEventData_Button_get", _wrap_csJoystickEventData_Button_get},
{"cspacec::csJoystickEventData_Modifiers_set", _wrap_csJoystickEventData_Modifiers_set},
{"cspacec::csJoystickEventData_Modifiers_get", _wrap_csJoystickEventData_Modifiers_get},
{"cspacec::new_csJoystickEventData", _wrap_new_csJoystickEventData},
{"cspacec::delete_csJoystickEventData", _wrap_delete_csJoystickEventData},
{"cspacec::csCommandEventData_Code_set", _wrap_csCommandEventData_Code_set},
{"cspacec::csCommandEventData_Code_get", _wrap_csCommandEventData_Code_get},
{"cspacec::csCommandEventData_Info_set", _wrap_csCommandEventData_Info_set},
{"cspacec::csCommandEventData_Info_get", _wrap_csCommandEventData_Info_get},
{"cspacec::new_csCommandEventData", _wrap_new_csCommandEventData},
{"cspacec::delete_csCommandEventData", _wrap_delete_csCommandEventData},
{"cspacec::iEvent_Name_set", _wrap_iEvent_Name_set},
{"cspacec::iEvent_Name_get", _wrap_iEvent_Name_get},
{"cspacec::iEvent_GetName", _wrap_iEvent_GetName},
{"cspacec::iEvent_Time_set", _wrap_iEvent_Time_set},
{"cspacec::iEvent_Time_get", _wrap_iEvent_Time_get},
{"cspacec::iEvent_Broadcast_set", _wrap_iEvent_Broadcast_set},
{"cspacec::iEvent_Broadcast_get", _wrap_iEvent_Broadcast_get},
{"cspacec::iEvent_AddInt8", _wrap_iEvent_AddInt8},
{"cspacec::iEvent_AddUInt8", _wrap_iEvent_AddUInt8},
{"cspacec::iEvent_AddInt16", _wrap_iEvent_AddInt16},
{"cspacec::iEvent_AddUInt16", _wrap_iEvent_AddUInt16},
{"cspacec::iEvent_AddInt32", _wrap_iEvent_AddInt32},
{"cspacec::iEvent_AddUInt32", _wrap_iEvent_AddUInt32},
{"cspacec::iEvent_AddFloat", _wrap_iEvent_AddFloat},
{"cspacec::iEvent_AddDouble", _wrap_iEvent_AddDouble},
{"cspacec::iEvent_AddBool", _wrap_iEvent_AddBool},
{"cspacec::iEvent_Add", _wrap_iEvent_Add},
{"cspacec::iEvent_RetrieveInt8", _wrap_iEvent_RetrieveInt8},
{"cspacec::iEvent_RetrieveUInt8", _wrap_iEvent_RetrieveUInt8},
{"cspacec::iEvent_RetrieveInt16", _wrap_iEvent_RetrieveInt16},
{"cspacec::iEvent_RetrieveUInt16", _wrap_iEvent_RetrieveUInt16},
{"cspacec::iEvent_RetrieveInt32", _wrap_iEvent_RetrieveInt32},
{"cspacec::iEvent_RetrieveUInt32", _wrap_iEvent_RetrieveUInt32},
{"cspacec::iEvent_RetrieveFloat", _wrap_iEvent_RetrieveFloat},
{"cspacec::iEvent_RetrieveDouble", _wrap_iEvent_RetrieveDouble},
{"cspacec::iEvent_RetrieveBool", _wrap_iEvent_RetrieveBool},
{"cspacec::iEvent_Retrieve", _wrap_iEvent_Retrieve},
{"cspacec::iEvent_AttributeExists", _wrap_iEvent_AttributeExists},
{"cspacec::iEvent_GetAttributeType", _wrap_iEvent_GetAttributeType},
{"cspacec::iEvent_Remove", _wrap_iEvent_Remove},
{"cspacec::iEvent_RemoveAll", _wrap_iEvent_RemoveAll},
{"cspacec::iEvent_GetAttributeIterator", _wrap_iEvent_GetAttributeIterator},
{"cspacec::iEvent_RetrieveString", _wrap_iEvent_RetrieveString},
{"cspacec::delete_iEvent", _wrap_delete_iEvent},
{"cspacec::iEvent_scfGetVersion", _wrap_iEvent_scfGetVersion},
{"cspacec::iEvent_Mouse_get", _wrap_iEvent_Mouse_get},
{"cspacec::iEvent_Joystick_get", _wrap_iEvent_Joystick_get},
{"cspacec::iEvent_Command_get", _wrap_iEvent_Command_get},
{"cspacec::iEventPlug_GetPotentiallyConflictingEvents", _wrap_iEventPlug_GetPotentiallyConflictingEvents},
{"cspacec::iEventPlug_QueryEventPriority", _wrap_iEventPlug_QueryEventPriority},
{"cspacec::iEventPlug_EnableEvents", _wrap_iEventPlug_EnableEvents},
{"cspacec::delete_iEventPlug", _wrap_delete_iEventPlug},
{"cspacec::iEventOutlet_CreateEvent", _wrap_iEventOutlet_CreateEvent},
{"cspacec::iEventOutlet_Post", _wrap_iEventOutlet_Post},
{"cspacec::iEventOutlet_Key", _wrap_iEventOutlet_Key},
{"cspacec::iEventOutlet_Mouse", _wrap_iEventOutlet_Mouse},
{"cspacec::iEventOutlet_Joystick", _wrap_iEventOutlet_Joystick},
{"cspacec::iEventOutlet_Broadcast", _wrap_iEventOutlet_Broadcast},
{"cspacec::iEventOutlet_ImmediateBroadcast", _wrap_iEventOutlet_ImmediateBroadcast},
{"cspacec::delete_iEventOutlet", _wrap_delete_iEventOutlet},
{"cspacec::iEventCord_Insert", _wrap_iEventCord_Insert},
{"cspacec::iEventCord_Remove", _wrap_iEventCord_Remove},
{"cspacec::iEventCord_GetPass", _wrap_iEventCord_GetPass},
{"cspacec::iEventCord_SetPass", _wrap_iEventCord_SetPass},
{"cspacec::iEventCord_GetName", _wrap_iEventCord_GetName},
{"cspacec::delete_iEventCord", _wrap_delete_iEventCord},
{"cspacec::csKeyEventHelper_GetRawCode", _wrap_csKeyEventHelper_GetRawCode},
{"cspacec::csKeyEventHelper_GetCookedCode", _wrap_csKeyEventHelper_GetCookedCode},
{"cspacec::csKeyEventHelper_GetEventType", _wrap_csKeyEventHelper_GetEventType},
{"cspacec::csKeyEventHelper_GetAutoRepeat", _wrap_csKeyEventHelper_GetAutoRepeat},
{"cspacec::csKeyEventHelper_GetCharacterType", _wrap_csKeyEventHelper_GetCharacterType},
{"cspacec::csKeyEventHelper_GetEventData", _wrap_csKeyEventHelper_GetEventData},
{"cspacec::csKeyEventHelper_GetModifiersBits", _wrap_csKeyEventHelper_GetModifiersBits},
{"cspacec::csKeyEventHelper_GetModifiers", _wrap_csKeyEventHelper_GetModifiers},
{"cspacec::new_csKeyEventHelper", _wrap_new_csKeyEventHelper},
{"cspacec::delete_csKeyEventHelper", _wrap_delete_csKeyEventHelper},
{"cspacec::csMouseEventHelper_NewEvent", _wrap_csMouseEventHelper_NewEvent},
{"cspacec::csMouseEventHelper_GetEventType", _wrap_csMouseEventHelper_GetEventType},
{"cspacec::csMouseEventHelper_GetNumber", _wrap_csMouseEventHelper_GetNumber},
{"cspacec::csMouseEventHelper_GetX", _wrap_csMouseEventHelper_GetX},
{"cspacec::csMouseEventHelper_GetY", _wrap_csMouseEventHelper_GetY},
{"cspacec::csMouseEventHelper_GetAxis", _wrap_csMouseEventHelper_GetAxis},
{"cspacec::csMouseEventHelper_GetNumAxes", _wrap_csMouseEventHelper_GetNumAxes},
{"cspacec::csMouseEventHelper_GetButton", _wrap_csMouseEventHelper_GetButton},
{"cspacec::csMouseEventHelper_GetButtonState", _wrap_csMouseEventHelper_GetButtonState},
{"cspacec::csMouseEventHelper_GetButtonMask", _wrap_csMouseEventHelper_GetButtonMask},
{"cspacec::csMouseEventHelper_GetModifiers", _wrap_csMouseEventHelper_GetModifiers},
{"cspacec::csMouseEventHelper_GetEventData", _wrap_csMouseEventHelper_GetEventData},
{"cspacec::new_csMouseEventHelper", _wrap_new_csMouseEventHelper},
{"cspacec::delete_csMouseEventHelper", _wrap_delete_csMouseEventHelper},
{"cspacec::csJoystickEventHelper_NewEvent", _wrap_csJoystickEventHelper_NewEvent},
{"cspacec::csJoystickEventHelper_GetNumber", _wrap_csJoystickEventHelper_GetNumber},
{"cspacec::csJoystickEventHelper_GetAxis", _wrap_csJoystickEventHelper_GetAxis},
{"cspacec::csJoystickEventHelper_GetNumAxes", _wrap_csJoystickEventHelper_GetNumAxes},
{"cspacec::csJoystickEventHelper_GetButton", _wrap_csJoystickEventHelper_GetButton},
{"cspacec::csJoystickEventHelper_GetButtonState", _wrap_csJoystickEventHelper_GetButtonState},
{"cspacec::csJoystickEventHelper_GetButtonMask", _wrap_csJoystickEventHelper_GetButtonMask},
{"cspacec::csJoystickEventHelper_GetModifiers", _wrap_csJoystickEventHelper_GetModifiers},
{"cspacec::csJoystickEventHelper_GetEventData", _wrap_csJoystickEventHelper_GetEventData},
{"cspacec::new_csJoystickEventHelper", _wrap_new_csJoystickEventHelper},
{"cspacec::delete_csJoystickEventHelper", _wrap_delete_csJoystickEventHelper},
{"cspacec::csInputEventHelper_GetButton", _wrap_csInputEventHelper_GetButton},
{"cspacec::csInputEventHelper_GetButtonState", _wrap_csInputEventHelper_GetButtonState},
{"cspacec::new_csInputEventHelper", _wrap_new_csInputEventHelper},
{"cspacec::delete_csInputEventHelper", _wrap_delete_csInputEventHelper},
{"cspacec::csCommandEventHelper_NewEvent", _wrap_csCommandEventHelper_NewEvent},
{"cspacec::csCommandEventHelper_GetCode", _wrap_csCommandEventHelper_GetCode},
{"cspacec::csCommandEventHelper_GetInfo", _wrap_csCommandEventHelper_GetInfo},
{"cspacec::csCommandEventHelper_GetEventData", _wrap_csCommandEventHelper_GetEventData},
{"cspacec::new_csCommandEventHelper", _wrap_new_csCommandEventHelper},
{"cspacec::delete_csCommandEventHelper", _wrap_delete_csCommandEventHelper},
{"cspacec::RegisterWeakListener", _wrap_RegisterWeakListener},
{"cspacec::RemoveWeakListener", _wrap_RemoveWeakListener},
{"cspacec::csKeyModifiers_modifiers_set", _wrap_csKeyModifiers_modifiers_set},
{"cspacec::csKeyModifiers_modifiers_get", _wrap_csKeyModifiers_modifiers_get},
{"cspacec::new_csKeyModifiers", _wrap_new_csKeyModifiers},
{"cspacec::delete_csKeyModifiers", _wrap_delete_csKeyModifiers},
{"cspacec::iEventQueue_Process", _wrap_iEventQueue_Process},
{"cspacec::iEventQueue_Dispatch", _wrap_iEventQueue_Dispatch},
{"cspacec::iEventQueue_Subscribe", _wrap_iEventQueue_Subscribe},
{"cspacec::iEventQueue_Unsubscribe", _wrap_iEventQueue_Unsubscribe},
{"cspacec::iEventQueue_RegisterListener", _wrap_iEventQueue_RegisterListener},
{"cspacec::iEventQueue_RemoveListener", _wrap_iEventQueue_RemoveListener},
{"cspacec::iEventQueue_CreateEventOutlet", _wrap_iEventQueue_CreateEventOutlet},
{"cspacec::iEventQueue_GetEventOutlet", _wrap_iEventQueue_GetEventOutlet},
{"cspacec::iEventQueue_GetEventCord", _wrap_iEventQueue_GetEventCord},
{"cspacec::iEventQueue_CreateEvent", _wrap_iEventQueue_CreateEvent},
{"cspacec::iEventQueue_CreateBroadcastEvent", _wrap_iEventQueue_CreateBroadcastEvent},
{"cspacec::iEventQueue_Post", _wrap_iEventQueue_Post},
{"cspacec::iEventQueue_Get", _wrap_iEventQueue_Get},
{"cspacec::iEventQueue_Clear", _wrap_iEventQueue_Clear},
{"cspacec::iEventQueue_IsEmpty", _wrap_iEventQueue_IsEmpty},
{"cspacec::iEventQueue_RemoveAllListeners", _wrap_iEventQueue_RemoveAllListeners},
{"cspacec::delete_iEventQueue", _wrap_delete_iEventQueue},
{"cspacec::iEventQueue_scfGetVersion", _wrap_iEventQueue_scfGetVersion},
{"cspacec::csHashCompute", _wrap_csHashCompute},
{"cspacec::new_csStrKey", _wrap_new_csStrKey},
{"cspacec::delete_csStrKey", _wrap_delete_csStrKey},
{"cspacec::csStrKey___copy__", _wrap_csStrKey___copy__},
{"cspacec::csStrKey_GetHash", _wrap_csStrKey_GetHash},
{"cspacec::iEventNameRegistry_GetID", _wrap_iEventNameRegistry_GetID},
{"cspacec::iEventNameRegistry_GetString", _wrap_iEventNameRegistry_GetString},
{"cspacec::iEventNameRegistry_GetParentID", _wrap_iEventNameRegistry_GetParentID},
{"cspacec::iEventNameRegistry_IsImmediateChildOf", _wrap_iEventNameRegistry_IsImmediateChildOf},
{"cspacec::iEventNameRegistry_IsKindOf", _wrap_iEventNameRegistry_IsKindOf},
{"cspacec::delete_iEventNameRegistry", _wrap_delete_iEventNameRegistry},
{"cspacec::iEventNameRegistry_scfGetVersion", _wrap_iEventNameRegistry_scfGetVersion},
{"cspacec::delete_csEventNameRegistry", _wrap_delete_csEventNameRegistry},
{"cspacec::csEventNameRegistry_GetString", _wrap_csEventNameRegistry_GetString},
{"cspacec::csEventNameRegistry_GetParentID", _wrap_csEventNameRegistry_GetParentID},
{"cspacec::csEventNameRegistry_IsImmediateChildOf", _wrap_csEventNameRegistry_IsImmediateChildOf},
{"cspacec::csEventNameRegistry_GetRegistry", _wrap_csEventNameRegistry_GetRegistry},
{"cspacec::csEventNameRegistry_GetID", _wrap_csEventNameRegistry_GetID},
{"cspacec::csEventNameRegistry_IsKindOf", _wrap_csEventNameRegistry_IsKindOf},
{"cspacec::csevMouse", _wrap_csevMouse},
{"cspacec::csevMouseOp", _wrap_csevMouseOp},
{"cspacec::csevJoystick", _wrap_csevJoystick},
{"cspacec::csevJoystickOp", _wrap_csevJoystickOp},
{"cspacec::csevCanvasOp", _wrap_csevCanvasOp},
{"cspacec::csevPreProcess", _wrap_csevPreProcess},
{"cspacec::csevProcess", _wrap_csevProcess},
{"cspacec::csevPostProcess", _wrap_csevPostProcess},
{"cspacec::csevFinalProcess", _wrap_csevFinalProcess},
{"cspacec::iEventHandler_HandleEvent", _wrap_iEventHandler_HandleEvent},
{"cspacec::iEventHandler_GenericName", _wrap_iEventHandler_GenericName},
{"cspacec::iEventHandler_GenericID", _wrap_iEventHandler_GenericID},
{"cspacec::iEventHandler_GenericPrec", _wrap_iEventHandler_GenericPrec},
{"cspacec::iEventHandler_GenericSucc", _wrap_iEventHandler_GenericSucc},
{"cspacec::iEventHandler_InstancePrec", _wrap_iEventHandler_InstancePrec},
{"cspacec::iEventHandler_InstanceSucc", _wrap_iEventHandler_InstanceSucc},
{"cspacec::delete_iEventHandler", _wrap_delete_iEventHandler},
{"cspacec::iEventHandler_scfGetVersion", _wrap_iEventHandler_scfGetVersion},
{"cspacec::iPluginIterator_HasNext", _wrap_iPluginIterator_HasNext},
{"cspacec::iPluginIterator_Next", _wrap_iPluginIterator_Next},
{"cspacec::delete_iPluginIterator", _wrap_delete_iPluginIterator},
{"cspacec::iPluginManager_LoadPlugin", _wrap_iPluginManager_LoadPlugin},
{"cspacec::iPluginManager_QueryPlugin", _wrap_iPluginManager_QueryPlugin},
{"cspacec::iPluginManager_UnloadPlugin", _wrap_iPluginManager_UnloadPlugin},
{"cspacec::iPluginManager_RegisterPlugin", _wrap_iPluginManager_RegisterPlugin},
{"cspacec::iPluginManager_GetPlugins", _wrap_iPluginManager_GetPlugins},
{"cspacec::iPluginManager_Clear", _wrap_iPluginManager_Clear},
{"cspacec::iPluginManager_QueryOptions", _wrap_iPluginManager_QueryOptions},
{"cspacec::delete_iPluginManager", _wrap_delete_iPluginManager},
{"cspacec::iPluginManager_scfGetVersion", _wrap_iPluginManager_scfGetVersion},
{"cspacec::csLoadPluginAlways", _wrap_csLoadPluginAlways},
{"cspacec::iKeyComposer_HandleKey", _wrap_iKeyComposer_HandleKey},
{"cspacec::iKeyComposer_ResetState", _wrap_iKeyComposer_ResetState},
{"cspacec::delete_iKeyComposer", _wrap_delete_iKeyComposer},
{"cspacec::iKeyboardDriver_Reset", _wrap_iKeyboardDriver_Reset},
{"cspacec::iKeyboardDriver_DoKey", _wrap_iKeyboardDriver_DoKey},
{"cspacec::iKeyboardDriver_GetModifierState", _wrap_iKeyboardDriver_GetModifierState},
{"cspacec::iKeyboardDriver_CreateKeyComposer", _wrap_iKeyboardDriver_CreateKeyComposer},
{"cspacec::iKeyboardDriver_SynthesizeCooked", _wrap_iKeyboardDriver_SynthesizeCooked},
{"cspacec::delete_iKeyboardDriver", _wrap_delete_iKeyboardDriver},
{"cspacec::iKeyboardDriver_scfGetVersion", _wrap_iKeyboardDriver_scfGetVersion},
{"cspacec::iKeyboardDriver_GetKeyState", _wrap_iKeyboardDriver_GetKeyState},
{"cspacec::iMouseDriver_SetDoubleClickTime", _wrap_iMouseDriver_SetDoubleClickTime},
{"cspacec::iMouseDriver_Reset", _wrap_iMouseDriver_Reset},
{"cspacec::iMouseDriver_GetLastX", _wrap_iMouseDriver_GetLastX},
{"cspacec::iMouseDriver_GetLastY", _wrap_iMouseDriver_GetLastY},
{"cspacec::iMouseDriver_GetLast", _wrap_iMouseDriver_GetLast},
{"cspacec::iMouseDriver_GetLastButton", _wrap_iMouseDriver_GetLastButton},
{"cspacec::iMouseDriver_DoButton", _wrap_iMouseDriver_DoButton},
{"cspacec::iMouseDriver_DoMotion", _wrap_iMouseDriver_DoMotion},
{"cspacec::delete_iMouseDriver", _wrap_delete_iMouseDriver},
{"cspacec::iMouseDriver_scfGetVersion", _wrap_iMouseDriver_scfGetVersion},
{"cspacec::iJoystickDriver_Reset", _wrap_iJoystickDriver_Reset},
{"cspacec::iJoystickDriver_GetLastX", _wrap_iJoystickDriver_GetLastX},
{"cspacec::iJoystickDriver_GetLastY", _wrap_iJoystickDriver_GetLastY},
{"cspacec::iJoystickDriver_GetLast", _wrap_iJoystickDriver_GetLast},
{"cspacec::iJoystickDriver_GetLastButton", _wrap_iJoystickDriver_GetLastButton},
{"cspacec::iJoystickDriver_DoButton", _wrap_iJoystickDriver_DoButton},
{"cspacec::iJoystickDriver_DoMotion", _wrap_iJoystickDriver_DoMotion},
{"cspacec::delete_iJoystickDriver", _wrap_delete_iJoystickDriver},
{"cspacec::iConfigFile_GetFileName", _wrap_iConfigFile_GetFileName},
{"cspacec::iConfigFile_GetVFS", _wrap_iConfigFile_GetVFS},
{"cspacec::iConfigFile_SetFileName", _wrap_iConfigFile_SetFileName},
{"cspacec::iConfigFile_Load", _wrap_iConfigFile_Load},
{"cspacec::iConfigFile_Save", _wrap_iConfigFile_Save},
{"cspacec::iConfigFile_Clear", _wrap_iConfigFile_Clear},
{"cspacec::iConfigFile_Enumerate", _wrap_iConfigFile_Enumerate},
{"cspacec::iConfigFile_KeyExists", _wrap_iConfigFile_KeyExists},
{"cspacec::iConfigFile_SubsectionExists", _wrap_iConfigFile_SubsectionExists},
{"cspacec::iConfigFile_GetInt", _wrap_iConfigFile_GetInt},
{"cspacec::iConfigFile_GetFloat", _wrap_iConfigFile_GetFloat},
{"cspacec::iConfigFile_GetStr", _wrap_iConfigFile_GetStr},
{"cspacec::iConfigFile_GetBool", _wrap_iConfigFile_GetBool},
{"cspacec::iConfigFile_GetTuple", _wrap_iConfigFile_GetTuple},
{"cspacec::iConfigFile_GetComment", _wrap_iConfigFile_GetComment},
{"cspacec::iConfigFile_SetStr", _wrap_iConfigFile_SetStr},
{"cspacec::iConfigFile_SetInt", _wrap_iConfigFile_SetInt},
{"cspacec::iConfigFile_SetFloat", _wrap_iConfigFile_SetFloat},
{"cspacec::iConfigFile_SetBool", _wrap_iConfigFile_SetBool},
{"cspacec::iConfigFile_SetTuple", _wrap_iConfigFile_SetTuple},
{"cspacec::iConfigFile_SetComment", _wrap_iConfigFile_SetComment},
{"cspacec::iConfigFile_DeleteKey", _wrap_iConfigFile_DeleteKey},
{"cspacec::iConfigFile_GetEOFComment", _wrap_iConfigFile_GetEOFComment},
{"cspacec::iConfigFile_SetEOFComment", _wrap_iConfigFile_SetEOFComment},
{"cspacec::delete_iConfigFile", _wrap_delete_iConfigFile},
{"cspacec::iConfigFile_scfGetVersion", _wrap_iConfigFile_scfGetVersion},
{"cspacec::iConfigIterator_GetConfigFile", _wrap_iConfigIterator_GetConfigFile},
{"cspacec::iConfigIterator_GetSubsection", _wrap_iConfigIterator_GetSubsection},
{"cspacec::iConfigIterator_Rewind", _wrap_iConfigIterator_Rewind},
{"cspacec::iConfigIterator_Next", _wrap_iConfigIterator_Next},
{"cspacec::iConfigIterator_HasNext", _wrap_iConfigIterator_HasNext},
{"cspacec::iConfigIterator_GetKey", _wrap_iConfigIterator_GetKey},
{"cspacec::iConfigIterator_GetInt", _wrap_iConfigIterator_GetInt},
{"cspacec::iConfigIterator_GetFloat", _wrap_iConfigIterator_GetFloat},
{"cspacec::iConfigIterator_GetStr", _wrap_iConfigIterator_GetStr},
{"cspacec::iConfigIterator_GetBool", _wrap_iConfigIterator_GetBool},
{"cspacec::iConfigIterator_GetTuple", _wrap_iConfigIterator_GetTuple},
{"cspacec::iConfigIterator_GetComment", _wrap_iConfigIterator_GetComment},
{"cspacec::delete_iConfigIterator", _wrap_delete_iConfigIterator},
{"cspacec::iConfigIterator_scfGetVersion", _wrap_iConfigIterator_scfGetVersion},
{"cspacec::iConfigManager_AddDomain", _wrap_iConfigManager_AddDomain},
{"cspacec::iConfigManager_RemoveDomain", _wrap_iConfigManager_RemoveDomain},
{"cspacec::iConfigManager_LookupDomain", _wrap_iConfigManager_LookupDomain},
{"cspacec::iConfigManager_SetDomainPriority", _wrap_iConfigManager_SetDomainPriority},
{"cspacec::iConfigManager_GetDomainPriority", _wrap_iConfigManager_GetDomainPriority},
{"cspacec::iConfigManager_SetDynamicDomain", _wrap_iConfigManager_SetDynamicDomain},
{"cspacec::iConfigManager_GetDynamicDomain", _wrap_iConfigManager_GetDynamicDomain},
{"cspacec::iConfigManager_SetDynamicDomainPriority", _wrap_iConfigManager_SetDynamicDomainPriority},
{"cspacec::iConfigManager_GetDynamicDomainPriority", _wrap_iConfigManager_GetDynamicDomainPriority},
{"cspacec::iConfigManager_FlushRemoved", _wrap_iConfigManager_FlushRemoved},
{"cspacec::delete_iConfigManager", _wrap_delete_iConfigManager},
{"cspacec::iConfigManager_scfGetVersion", _wrap_iConfigManager_scfGetVersion},
{"cspacec::iStringArray_GetSize", _wrap_iStringArray_GetSize},
{"cspacec::iStringArray_Length", _wrap_iStringArray_Length},
{"cspacec::iStringArray_Push", _wrap_iStringArray_Push},
{"cspacec::iStringArray_Pop", _wrap_iStringArray_Pop},
{"cspacec::iStringArray_Get", _wrap_iStringArray_Get},
{"cspacec::iStringArray_Find", _wrap_iStringArray_Find},
{"cspacec::iStringArray_FindCaseInsensitive", _wrap_iStringArray_FindCaseInsensitive},
{"cspacec::iStringArray_FindSortedKey", _wrap_iStringArray_FindSortedKey},
{"cspacec::iStringArray_Contains", _wrap_iStringArray_Contains},
{"cspacec::iStringArray_Sort", _wrap_iStringArray_Sort},
{"cspacec::iStringArray_DeleteIndex", _wrap_iStringArray_DeleteIndex},
{"cspacec::iStringArray_Insert", _wrap_iStringArray_Insert},
{"cspacec::iStringArray_Empty", _wrap_iStringArray_Empty},
{"cspacec::iStringArray_DeleteAll", _wrap_iStringArray_DeleteAll},
{"cspacec::iStringArray_IsEmpty", _wrap_iStringArray_IsEmpty},
{"cspacec::delete_iStringArray", _wrap_delete_iStringArray},
{"cspacec::iStringArray_scfGetVersion", _wrap_iStringArray_scfGetVersion},
{"cspacec::iDocumentAttributeIterator_HasNext", _wrap_iDocumentAttributeIterator_HasNext},
{"cspacec::iDocumentAttributeIterator_Next", _wrap_iDocumentAttributeIterator_Next},
{"cspacec::delete_iDocumentAttributeIterator", _wrap_delete_iDocumentAttributeIterator},
{"cspacec::iDocumentAttribute_GetName", _wrap_iDocumentAttribute_GetName},
{"cspacec::iDocumentAttribute_GetValue", _wrap_iDocumentAttribute_GetValue},
{"cspacec::iDocumentAttribute_GetValueAsInt", _wrap_iDocumentAttribute_GetValueAsInt},
{"cspacec::iDocumentAttribute_GetValueAsFloat", _wrap_iDocumentAttribute_GetValueAsFloat},
{"cspacec::iDocumentAttribute_GetValueAsBool", _wrap_iDocumentAttribute_GetValueAsBool},
{"cspacec::iDocumentAttribute_SetName", _wrap_iDocumentAttribute_SetName},
{"cspacec::iDocumentAttribute_SetValue", _wrap_iDocumentAttribute_SetValue},
{"cspacec::iDocumentAttribute_SetValueAsInt", _wrap_iDocumentAttribute_SetValueAsInt},
{"cspacec::iDocumentAttribute_SetValueAsFloat", _wrap_iDocumentAttribute_SetValueAsFloat},
{"cspacec::delete_iDocumentAttribute", _wrap_delete_iDocumentAttribute},
{"cspacec::iDocumentNodeIterator_HasNext", _wrap_iDocumentNodeIterator_HasNext},
{"cspacec::iDocumentNodeIterator_Next", _wrap_iDocumentNodeIterator_Next},
{"cspacec::delete_iDocumentNodeIterator", _wrap_delete_iDocumentNodeIterator},
{"cspacec::iDocumentNode_GetType", _wrap_iDocumentNode_GetType},
{"cspacec::iDocumentNode_Equals", _wrap_iDocumentNode_Equals},
{"cspacec::iDocumentNode_GetValue", _wrap_iDocumentNode_GetValue},
{"cspacec::iDocumentNode_SetValue", _wrap_iDocumentNode_SetValue},
{"cspacec::iDocumentNode_SetValueAsInt", _wrap_iDocumentNode_SetValueAsInt},
{"cspacec::iDocumentNode_SetValueAsFloat", _wrap_iDocumentNode_SetValueAsFloat},
{"cspacec::iDocumentNode_GetParent", _wrap_iDocumentNode_GetParent},
{"cspacec::iDocumentNode_GetNodes", _wrap_iDocumentNode_GetNodes},
{"cspacec::iDocumentNode_GetNode", _wrap_iDocumentNode_GetNode},
{"cspacec::iDocumentNode_RemoveNode", _wrap_iDocumentNode_RemoveNode},
{"cspacec::iDocumentNode_RemoveNodes", _wrap_iDocumentNode_RemoveNodes},
{"cspacec::iDocumentNode_CreateNodeBefore", _wrap_iDocumentNode_CreateNodeBefore},
{"cspacec::iDocumentNode_GetContentsValue", _wrap_iDocumentNode_GetContentsValue},
{"cspacec::iDocumentNode_GetContentsValueAsInt", _wrap_iDocumentNode_GetContentsValueAsInt},
{"cspacec::iDocumentNode_GetContentsValueAsFloat", _wrap_iDocumentNode_GetContentsValueAsFloat},
{"cspacec::iDocumentNode_GetAttributes", _wrap_iDocumentNode_GetAttributes},
{"cspacec::iDocumentNode_GetAttribute", _wrap_iDocumentNode_GetAttribute},
{"cspacec::iDocumentNode_GetAttributeValue", _wrap_iDocumentNode_GetAttributeValue},
{"cspacec::iDocumentNode_GetAttributeValueAsInt", _wrap_iDocumentNode_GetAttributeValueAsInt},
{"cspacec::iDocumentNode_GetAttributeValueAsFloat", _wrap_iDocumentNode_GetAttributeValueAsFloat},
{"cspacec::iDocumentNode_GetAttributeValueAsBool", _wrap_iDocumentNode_GetAttributeValueAsBool},
{"cspacec::iDocumentNode_RemoveAttribute", _wrap_iDocumentNode_RemoveAttribute},
{"cspacec::iDocumentNode_RemoveAttributes", _wrap_iDocumentNode_RemoveAttributes},
{"cspacec::iDocumentNode_SetAttribute", _wrap_iDocumentNode_SetAttribute},
{"cspacec::iDocumentNode_SetAttributeAsInt", _wrap_iDocumentNode_SetAttributeAsInt},
{"cspacec::iDocumentNode_SetAttributeAsFloat", _wrap_iDocumentNode_SetAttributeAsFloat},
{"cspacec::delete_iDocumentNode", _wrap_delete_iDocumentNode},
{"cspacec::iDocument_Clear", _wrap_iDocument_Clear},
{"cspacec::iDocument_CreateRoot", _wrap_iDocument_CreateRoot},
{"cspacec::iDocument_GetRoot", _wrap_iDocument_GetRoot},
{"cspacec::iDocument_Parse", _wrap_iDocument_Parse},
{"cspacec::iDocument_Write", _wrap_iDocument_Write},
{"cspacec::iDocument_Changeable", _wrap_iDocument_Changeable},
{"cspacec::delete_iDocument", _wrap_delete_iDocument},
{"cspacec::iDocument_scfGetVersion", _wrap_iDocument_scfGetVersion},
{"cspacec::iDocumentSystem_CreateDocument", _wrap_iDocumentSystem_CreateDocument},
{"cspacec::delete_iDocumentSystem", _wrap_delete_iDocumentSystem},
{"cspacec::iDocumentSystem_scfGetVersion", _wrap_iDocumentSystem_scfGetVersion},
{"cspacec::new_csTinyDocumentSystem", _wrap_new_csTinyDocumentSystem},
{"cspacec::delete_csTinyDocumentSystem", _wrap_delete_csTinyDocumentSystem},
{"cspacec::csTinyDocumentSystem_CreateDocument", _wrap_csTinyDocumentSystem_CreateDocument},
{"cspacec::iDataBuffer_GetSize", _wrap_iDataBuffer_GetSize},
{"cspacec::iDataBuffer_GetData", _wrap_iDataBuffer_GetData},
{"cspacec::iDataBuffer___ref__", _wrap_iDataBuffer___ref__},
{"cspacec::iDataBuffer_GetUint8", _wrap_iDataBuffer_GetUint8},
{"cspacec::delete_iDataBuffer", _wrap_delete_iDataBuffer},
{"cspacec::iDataBuffer_scfGetVersion", _wrap_iDataBuffer_scfGetVersion},
{"cspacec::iDataBuffer___string__", _wrap_iDataBuffer___string__},
{"cspacec::iDataBuffer___sv__", _wrap_iDataBuffer___sv__},
{"cspacec::csPixelCoord_x_set", _wrap_csPixelCoord_x_set},
{"cspacec::csPixelCoord_x_get", _wrap_csPixelCoord_x_get},
{"cspacec::csPixelCoord_y_set", _wrap_csPixelCoord_y_set},
{"cspacec::csPixelCoord_y_get", _wrap_csPixelCoord_y_get},
{"cspacec::new_csPixelCoord", _wrap_new_csPixelCoord},
{"cspacec::delete_csPixelCoord", _wrap_delete_csPixelCoord},
{"cspacec::csPixelFormat_RedMask_set", _wrap_csPixelFormat_RedMask_set},
{"cspacec::csPixelFormat_RedMask_get", _wrap_csPixelFormat_RedMask_get},
{"cspacec::csPixelFormat_GreenMask_set", _wrap_csPixelFormat_GreenMask_set},
{"cspacec::csPixelFormat_GreenMask_get", _wrap_csPixelFormat_GreenMask_get},
{"cspacec::csPixelFormat_BlueMask_set", _wrap_csPixelFormat_BlueMask_set},
{"cspacec::csPixelFormat_BlueMask_get", _wrap_csPixelFormat_BlueMask_get},
{"cspacec::csPixelFormat_AlphaMask_set", _wrap_csPixelFormat_AlphaMask_set},
{"cspacec::csPixelFormat_AlphaMask_get", _wrap_csPixelFormat_AlphaMask_get},
{"cspacec::csPixelFormat_RedShift_set", _wrap_csPixelFormat_RedShift_set},
{"cspacec::csPixelFormat_RedShift_get", _wrap_csPixelFormat_RedShift_get},
{"cspacec::csPixelFormat_GreenShift_set", _wrap_csPixelFormat_GreenShift_set},
{"cspacec::csPixelFormat_GreenShift_get", _wrap_csPixelFormat_GreenShift_get},
{"cspacec::csPixelFormat_BlueShift_set", _wrap_csPixelFormat_BlueShift_set},
{"cspacec::csPixelFormat_BlueShift_get", _wrap_csPixelFormat_BlueShift_get},
{"cspacec::csPixelFormat_AlphaShift_set", _wrap_csPixelFormat_AlphaShift_set},
{"cspacec::csPixelFormat_AlphaShift_get", _wrap_csPixelFormat_AlphaShift_get},
{"cspacec::csPixelFormat_RedBits_set", _wrap_csPixelFormat_RedBits_set},
{"cspacec::csPixelFormat_RedBits_get", _wrap_csPixelFormat_RedBits_get},
{"cspacec::csPixelFormat_GreenBits_set", _wrap_csPixelFormat_GreenBits_set},
{"cspacec::csPixelFormat_GreenBits_get", _wrap_csPixelFormat_GreenBits_get},
{"cspacec::csPixelFormat_BlueBits_set", _wrap_csPixelFormat_BlueBits_set},
{"cspacec::csPixelFormat_BlueBits_get", _wrap_csPixelFormat_BlueBits_get},
{"cspacec::csPixelFormat_AlphaBits_set", _wrap_csPixelFormat_AlphaBits_set},
{"cspacec::csPixelFormat_AlphaBits_get", _wrap_csPixelFormat_AlphaBits_get},
{"cspacec::csPixelFormat_PalEntries_set", _wrap_csPixelFormat_PalEntries_set},
{"cspacec::csPixelFormat_PalEntries_get", _wrap_csPixelFormat_PalEntries_get},
{"cspacec::csPixelFormat_PixelBytes_set", _wrap_csPixelFormat_PixelBytes_set},
{"cspacec::csPixelFormat_PixelBytes_get", _wrap_csPixelFormat_PixelBytes_get},
{"cspacec::csPixelFormat_complete", _wrap_csPixelFormat_complete},
{"cspacec::new_csPixelFormat", _wrap_new_csPixelFormat},
{"cspacec::delete_csPixelFormat", _wrap_delete_csPixelFormat},
{"cspacec::csImageArea_x_set", _wrap_csImageArea_x_set},
{"cspacec::csImageArea_x_get", _wrap_csImageArea_x_get},
{"cspacec::csImageArea_y_set", _wrap_csImageArea_y_set},
{"cspacec::csImageArea_y_get", _wrap_csImageArea_y_get},
{"cspacec::csImageArea_w_set", _wrap_csImageArea_w_set},
{"cspacec::csImageArea_w_get", _wrap_csImageArea_w_get},
{"cspacec::csImageArea_h_set", _wrap_csImageArea_h_set},
{"cspacec::csImageArea_h_get", _wrap_csImageArea_h_get},
{"cspacec::csImageArea_data_set", _wrap_csImageArea_data_set},
{"cspacec::csImageArea_data_get", _wrap_csImageArea_data_get},
{"cspacec::new_csImageArea", _wrap_new_csImageArea},
{"cspacec::delete_csImageArea", _wrap_delete_csImageArea},
{"cspacec::iOffscreenCanvasCallback_FinishDraw", _wrap_iOffscreenCanvasCallback_FinishDraw},
{"cspacec::iOffscreenCanvasCallback_SetRGB", _wrap_iOffscreenCanvasCallback_SetRGB},
{"cspacec::delete_iOffscreenCanvasCallback", _wrap_delete_iOffscreenCanvasCallback},
{"cspacec::iGraphics2D_Open", _wrap_iGraphics2D_Open},
{"cspacec::iGraphics2D_Close", _wrap_iGraphics2D_Close},
{"cspacec::iGraphics2D_GetWidth", _wrap_iGraphics2D_GetWidth},
{"cspacec::iGraphics2D_GetHeight", _wrap_iGraphics2D_GetHeight},
{"cspacec::iGraphics2D_GetPage", _wrap_iGraphics2D_GetPage},
{"cspacec::iGraphics2D_DoubleBuffer", _wrap_iGraphics2D_DoubleBuffer},
{"cspacec::iGraphics2D_GetDoubleBufferState", _wrap_iGraphics2D_GetDoubleBufferState},
{"cspacec::iGraphics2D_GetPixelFormat", _wrap_iGraphics2D_GetPixelFormat},
{"cspacec::iGraphics2D_GetPixelBytes", _wrap_iGraphics2D_GetPixelBytes},
{"cspacec::iGraphics2D_GetPalEntryCount", _wrap_iGraphics2D_GetPalEntryCount},
{"cspacec::iGraphics2D_GetPalette", _wrap_iGraphics2D_GetPalette},
{"cspacec::iGraphics2D_SetRGB", _wrap_iGraphics2D_SetRGB},
{"cspacec::iGraphics2D_FindRGB", _wrap_iGraphics2D_FindRGB},
{"cspacec::iGraphics2D_GetRGB", _wrap_iGraphics2D_GetRGB},
{"cspacec::iGraphics2D_GetRGBA", _wrap_iGraphics2D_GetRGBA},
{"cspacec::iGraphics2D_SetClipRect", _wrap_iGraphics2D_SetClipRect},
{"cspacec::iGraphics2D_GetClipRect", _wrap_iGraphics2D_GetClipRect},
{"cspacec::iGraphics2D_BeginDraw", _wrap_iGraphics2D_BeginDraw},
{"cspacec::iGraphics2D_FinishDraw", _wrap_iGraphics2D_FinishDraw},
{"cspacec::iGraphics2D_Print", _wrap_iGraphics2D_Print},
{"cspacec::iGraphics2D_Clear", _wrap_iGraphics2D_Clear},
{"cspacec::iGraphics2D_ClearAll", _wrap_iGraphics2D_ClearAll},
{"cspacec::iGraphics2D_DrawLine", _wrap_iGraphics2D_DrawLine},
{"cspacec::iGraphics2D_DrawBox", _wrap_iGraphics2D_DrawBox},
{"cspacec::iGraphics2D_ClipLine", _wrap_iGraphics2D_ClipLine},
{"cspacec::iGraphics2D_DrawPixel", _wrap_iGraphics2D_DrawPixel},
{"cspacec::iGraphics2D_DrawPixels", _wrap_iGraphics2D_DrawPixels},
{"cspacec::iGraphics2D_Blit", _wrap_iGraphics2D_Blit},
{"cspacec::iGraphics2D_GetPixelAt", _wrap_iGraphics2D_GetPixelAt},
{"cspacec::iGraphics2D_GetPixel", _wrap_iGraphics2D_GetPixel},
{"cspacec::iGraphics2D_SaveArea", _wrap_iGraphics2D_SaveArea},
{"cspacec::iGraphics2D_RestoreArea", _wrap_iGraphics2D_RestoreArea},
{"cspacec::iGraphics2D_FreeArea", _wrap_iGraphics2D_FreeArea},
{"cspacec::iGraphics2D_WriteBaseline", _wrap_iGraphics2D_WriteBaseline},
{"cspacec::iGraphics2D_AllowResize", _wrap_iGraphics2D_AllowResize},
{"cspacec::iGraphics2D_Resize", _wrap_iGraphics2D_Resize},
{"cspacec::iGraphics2D_GetFontServer", _wrap_iGraphics2D_GetFontServer},
{"cspacec::iGraphics2D_PerformExtension", _wrap_iGraphics2D_PerformExtension},
{"cspacec::iGraphics2D_ScreenShot", _wrap_iGraphics2D_ScreenShot},
{"cspacec::iGraphics2D_GetNativeWindow", _wrap_iGraphics2D_GetNativeWindow},
{"cspacec::iGraphics2D_GetFullScreen", _wrap_iGraphics2D_GetFullScreen},
{"cspacec::iGraphics2D_SetFullScreen", _wrap_iGraphics2D_SetFullScreen},
{"cspacec::iGraphics2D_SetMousePosition", _wrap_iGraphics2D_SetMousePosition},
{"cspacec::iGraphics2D_SetMouseCursor", _wrap_iGraphics2D_SetMouseCursor},
{"cspacec::iGraphics2D_SetGamma", _wrap_iGraphics2D_SetGamma},
{"cspacec::iGraphics2D_GetGamma", _wrap_iGraphics2D_GetGamma},
{"cspacec::iGraphics2D_GetName", _wrap_iGraphics2D_GetName},
{"cspacec::iGraphics2D_CreateOffscreenCanvas", _wrap_iGraphics2D_CreateOffscreenCanvas},
{"cspacec::iGraphics2D_Write", _wrap_iGraphics2D_Write},
{"cspacec::delete_iGraphics2D", _wrap_delete_iGraphics2D},
{"cspacec::iGraphics2D_scfGetVersion", _wrap_iGraphics2D_scfGetVersion},
{"cspacec::csAlphaMode_autoAlphaMode_set", _wrap_csAlphaMode_autoAlphaMode_set},
{"cspacec::csAlphaMode_autoAlphaMode_get", _wrap_csAlphaMode_autoAlphaMode_get},
{"cspacec::new_csAlphaMode", _wrap_new_csAlphaMode},
{"cspacec::delete_csAlphaMode", _wrap_delete_csAlphaMode},
{"cspacec::csGraphics3DCaps_minTexHeight_set", _wrap_csGraphics3DCaps_minTexHeight_set},
{"cspacec::csGraphics3DCaps_minTexHeight_get", _wrap_csGraphics3DCaps_minTexHeight_get},
{"cspacec::csGraphics3DCaps_minTexWidth_set", _wrap_csGraphics3DCaps_minTexWidth_set},
{"cspacec::csGraphics3DCaps_minTexWidth_get", _wrap_csGraphics3DCaps_minTexWidth_get},
{"cspacec::csGraphics3DCaps_maxTexHeight_set", _wrap_csGraphics3DCaps_maxTexHeight_set},
{"cspacec::csGraphics3DCaps_maxTexHeight_get", _wrap_csGraphics3DCaps_maxTexHeight_get},
{"cspacec::csGraphics3DCaps_maxTexWidth_set", _wrap_csGraphics3DCaps_maxTexWidth_set},
{"cspacec::csGraphics3DCaps_maxTexWidth_get", _wrap_csGraphics3DCaps_maxTexWidth_get},
{"cspacec::csGraphics3DCaps_SupportsPointSprites_set", _wrap_csGraphics3DCaps_SupportsPointSprites_set},
{"cspacec::csGraphics3DCaps_SupportsPointSprites_get", _wrap_csGraphics3DCaps_SupportsPointSprites_get},
{"cspacec::csGraphics3DCaps_DestinationAlpha_set", _wrap_csGraphics3DCaps_DestinationAlpha_set},
{"cspacec::csGraphics3DCaps_DestinationAlpha_get", _wrap_csGraphics3DCaps_DestinationAlpha_get},
{"cspacec::csGraphics3DCaps_StencilShadows_set", _wrap_csGraphics3DCaps_StencilShadows_set},
{"cspacec::csGraphics3DCaps_StencilShadows_get", _wrap_csGraphics3DCaps_StencilShadows_get},
{"cspacec::new_csGraphics3DCaps", _wrap_new_csGraphics3DCaps},
{"cspacec::delete_csGraphics3DCaps", _wrap_delete_csGraphics3DCaps},
{"cspacec::csSimpleRenderMesh_meshtype_set", _wrap_csSimpleRenderMesh_meshtype_set},
{"cspacec::csSimpleRenderMesh_meshtype_get", _wrap_csSimpleRenderMesh_meshtype_get},
{"cspacec::csSimpleRenderMesh_indexCount_set", _wrap_csSimpleRenderMesh_indexCount_set},
{"cspacec::csSimpleRenderMesh_indexCount_get", _wrap_csSimpleRenderMesh_indexCount_get},
{"cspacec::csSimpleRenderMesh_indices_set", _wrap_csSimpleRenderMesh_indices_set},
{"cspacec::csSimpleRenderMesh_indices_get", _wrap_csSimpleRenderMesh_indices_get},
{"cspacec::csSimpleRenderMesh_vertexCount_set", _wrap_csSimpleRenderMesh_vertexCount_set},
{"cspacec::csSimpleRenderMesh_vertexCount_get", _wrap_csSimpleRenderMesh_vertexCount_get},
{"cspacec::csSimpleRenderMesh_vertices_set", _wrap_csSimpleRenderMesh_vertices_set},
{"cspacec::csSimpleRenderMesh_vertices_get", _wrap_csSimpleRenderMesh_vertices_get},
{"cspacec::csSimpleRenderMesh_texcoords_set", _wrap_csSimpleRenderMesh_texcoords_set},
{"cspacec::csSimpleRenderMesh_texcoords_get", _wrap_csSimpleRenderMesh_texcoords_get},
{"cspacec::csSimpleRenderMesh_colors_set", _wrap_csSimpleRenderMesh_colors_set},
{"cspacec::csSimpleRenderMesh_colors_get", _wrap_csSimpleRenderMesh_colors_get},
{"cspacec::csSimpleRenderMesh_texture_set", _wrap_csSimpleRenderMesh_texture_set},
{"cspacec::csSimpleRenderMesh_texture_get", _wrap_csSimpleRenderMesh_texture_get},
{"cspacec::csSimpleRenderMesh_shader_set", _wrap_csSimpleRenderMesh_shader_set},
{"cspacec::csSimpleRenderMesh_shader_get", _wrap_csSimpleRenderMesh_shader_get},
{"cspacec::csSimpleRenderMesh_dynDomain_set", _wrap_csSimpleRenderMesh_dynDomain_set},
{"cspacec::csSimpleRenderMesh_dynDomain_get", _wrap_csSimpleRenderMesh_dynDomain_get},
{"cspacec::csSimpleRenderMesh_alphaType_set", _wrap_csSimpleRenderMesh_alphaType_set},
{"cspacec::csSimpleRenderMesh_alphaType_get", _wrap_csSimpleRenderMesh_alphaType_get},
{"cspacec::csSimpleRenderMesh_z_buf_mode_set", _wrap_csSimpleRenderMesh_z_buf_mode_set},
{"cspacec::csSimpleRenderMesh_z_buf_mode_get", _wrap_csSimpleRenderMesh_z_buf_mode_get},
{"cspacec::csSimpleRenderMesh_mixmode_set", _wrap_csSimpleRenderMesh_mixmode_set},
{"cspacec::csSimpleRenderMesh_mixmode_get", _wrap_csSimpleRenderMesh_mixmode_get},
{"cspacec::csSimpleRenderMesh_object2world_set", _wrap_csSimpleRenderMesh_object2world_set},
{"cspacec::csSimpleRenderMesh_object2world_get", _wrap_csSimpleRenderMesh_object2world_get},
{"cspacec::new_csSimpleRenderMesh", _wrap_new_csSimpleRenderMesh},
{"cspacec::delete_csSimpleRenderMesh", _wrap_delete_csSimpleRenderMesh},
{"cspacec::iGraphics3D_Open", _wrap_iGraphics3D_Open},
{"cspacec::iGraphics3D_Close", _wrap_iGraphics3D_Close},
{"cspacec::iGraphics3D_GetDriver2D", _wrap_iGraphics3D_GetDriver2D},
{"cspacec::iGraphics3D_GetTextureManager", _wrap_iGraphics3D_GetTextureManager},
{"cspacec::iGraphics3D_SetDimensions", _wrap_iGraphics3D_SetDimensions},
{"cspacec::iGraphics3D_GetWidth", _wrap_iGraphics3D_GetWidth},
{"cspacec::iGraphics3D_GetHeight", _wrap_iGraphics3D_GetHeight},
{"cspacec::iGraphics3D_GetCaps", _wrap_iGraphics3D_GetCaps},
{"cspacec::iGraphics3D_SetPerspectiveCenter", _wrap_iGraphics3D_SetPerspectiveCenter},
{"cspacec::iGraphics3D_GetPerspectiveCenter", _wrap_iGraphics3D_GetPerspectiveCenter},
{"cspacec::iGraphics3D_SetPerspectiveAspect", _wrap_iGraphics3D_SetPerspectiveAspect},
{"cspacec::iGraphics3D_GetPerspectiveAspect", _wrap_iGraphics3D_GetPerspectiveAspect},
{"cspacec::iGraphics3D_SetRenderTarget", _wrap_iGraphics3D_SetRenderTarget},
{"cspacec::iGraphics3D_GetRenderTarget", _wrap_iGraphics3D_GetRenderTarget},
{"cspacec::iGraphics3D_BeginDraw", _wrap_iGraphics3D_BeginDraw},
{"cspacec::iGraphics3D_FinishDraw", _wrap_iGraphics3D_FinishDraw},
{"cspacec::iGraphics3D_Print", _wrap_iGraphics3D_Print},
{"cspacec::iGraphics3D_DrawMesh", _wrap_iGraphics3D_DrawMesh},
{"cspacec::iGraphics3D_DrawSimpleMesh", _wrap_iGraphics3D_DrawSimpleMesh},
{"cspacec::iGraphics3D_DrawPixmap", _wrap_iGraphics3D_DrawPixmap},
{"cspacec::iGraphics3D_DrawLine", _wrap_iGraphics3D_DrawLine},
{"cspacec::iGraphics3D_ActivateBuffers", _wrap_iGraphics3D_ActivateBuffers},
{"cspacec::iGraphics3D_DeactivateBuffers", _wrap_iGraphics3D_DeactivateBuffers},
{"cspacec::iGraphics3D_SetTextureState", _wrap_iGraphics3D_SetTextureState},
{"cspacec::iGraphics3D_SetClipper", _wrap_iGraphics3D_SetClipper},
{"cspacec::iGraphics3D_GetClipper", _wrap_iGraphics3D_GetClipper},
{"cspacec::iGraphics3D_GetClipType", _wrap_iGraphics3D_GetClipType},
{"cspacec::iGraphics3D_SetNearPlane", _wrap_iGraphics3D_SetNearPlane},
{"cspacec::iGraphics3D_ResetNearPlane", _wrap_iGraphics3D_ResetNearPlane},
{"cspacec::iGraphics3D_GetNearPlane", _wrap_iGraphics3D_GetNearPlane},
{"cspacec::iGraphics3D_HasNearPlane", _wrap_iGraphics3D_HasNearPlane},
{"cspacec::iGraphics3D_SetRenderState", _wrap_iGraphics3D_SetRenderState},
{"cspacec::iGraphics3D_GetRenderState", _wrap_iGraphics3D_GetRenderState},
{"cspacec::iGraphics3D_SetOption", _wrap_iGraphics3D_SetOption},
{"cspacec::iGraphics3D_SetWriteMask", _wrap_iGraphics3D_SetWriteMask},
{"cspacec::iGraphics3D_GetWriteMask", _wrap_iGraphics3D_GetWriteMask},
{"cspacec::iGraphics3D_SetZMode", _wrap_iGraphics3D_SetZMode},
{"cspacec::iGraphics3D_GetZMode", _wrap_iGraphics3D_GetZMode},
{"cspacec::iGraphics3D_EnableZOffset", _wrap_iGraphics3D_EnableZOffset},
{"cspacec::iGraphics3D_DisableZOffset", _wrap_iGraphics3D_DisableZOffset},
{"cspacec::iGraphics3D_SetShadowState", _wrap_iGraphics3D_SetShadowState},
{"cspacec::iGraphics3D_GetZBuffValue", _wrap_iGraphics3D_GetZBuffValue},
{"cspacec::iGraphics3D_OpenPortal", _wrap_iGraphics3D_OpenPortal},
{"cspacec::iGraphics3D_ClosePortal", _wrap_iGraphics3D_ClosePortal},
{"cspacec::iGraphics3D_CreateHalo", _wrap_iGraphics3D_CreateHalo},
{"cspacec::iGraphics3D_RemoveFromCache", _wrap_iGraphics3D_RemoveFromCache},
{"cspacec::iGraphics3D_SetWorldToCamera", _wrap_iGraphics3D_SetWorldToCamera},
{"cspacec::iGraphics3D_PerformExtension", _wrap_iGraphics3D_PerformExtension},
{"cspacec::iGraphics3D_GetWorldToCamera", _wrap_iGraphics3D_GetWorldToCamera},
{"cspacec::delete_iGraphics3D", _wrap_delete_iGraphics3D},
{"cspacec::iGraphics3D_scfGetVersion", _wrap_iGraphics3D_scfGetVersion},
{"cspacec::iNativeWindowManager_Alert", _wrap_iNativeWindowManager_Alert},
{"cspacec::delete_iNativeWindowManager", _wrap_delete_iNativeWindowManager},
{"cspacec::iNativeWindow_SetTitle", _wrap_iNativeWindow_SetTitle},
{"cspacec::delete_iNativeWindow", _wrap_delete_iNativeWindow},
{"cspacec::iFontDeleteNotify_BeforeDelete", _wrap_iFontDeleteNotify_BeforeDelete},
{"cspacec::delete_iFontDeleteNotify", _wrap_delete_iFontDeleteNotify},
{"cspacec::csBitmapMetrics_width_set", _wrap_csBitmapMetrics_width_set},
{"cspacec::csBitmapMetrics_width_get", _wrap_csBitmapMetrics_width_get},
{"cspacec::csBitmapMetrics_height_set", _wrap_csBitmapMetrics_height_set},
{"cspacec::csBitmapMetrics_height_get", _wrap_csBitmapMetrics_height_get},
{"cspacec::csBitmapMetrics_left_set", _wrap_csBitmapMetrics_left_set},
{"cspacec::csBitmapMetrics_left_get", _wrap_csBitmapMetrics_left_get},
{"cspacec::csBitmapMetrics_top_set", _wrap_csBitmapMetrics_top_set},
{"cspacec::csBitmapMetrics_top_get", _wrap_csBitmapMetrics_top_get},
{"cspacec::new_csBitmapMetrics", _wrap_new_csBitmapMetrics},
{"cspacec::delete_csBitmapMetrics", _wrap_delete_csBitmapMetrics},
{"cspacec::csGlyphMetrics_advance_set", _wrap_csGlyphMetrics_advance_set},
{"cspacec::csGlyphMetrics_advance_get", _wrap_csGlyphMetrics_advance_get},
{"cspacec::new_csGlyphMetrics", _wrap_new_csGlyphMetrics},
{"cspacec::delete_csGlyphMetrics", _wrap_delete_csGlyphMetrics},
{"cspacec::iFont_AddDeleteCallback", _wrap_iFont_AddDeleteCallback},
{"cspacec::iFont_RemoveDeleteCallback", _wrap_iFont_RemoveDeleteCallback},
{"cspacec::iFont_GetSize", _wrap_iFont_GetSize},
{"cspacec::iFont_GetMaxSize", _wrap_iFont_GetMaxSize},
{"cspacec::iFont_GetGlyphMetrics", _wrap_iFont_GetGlyphMetrics},
{"cspacec::iFont_GetGlyphBitmap", _wrap_iFont_GetGlyphBitmap},
{"cspacec::iFont_GetGlyphAlphaBitmap", _wrap_iFont_GetGlyphAlphaBitmap},
{"cspacec::iFont_GetDimensions", _wrap_iFont_GetDimensions},
{"cspacec::iFont_GetLength", _wrap_iFont_GetLength},
{"cspacec::iFont_GetDescent", _wrap_iFont_GetDescent},
{"cspacec::iFont_GetAscent", _wrap_iFont_GetAscent},
{"cspacec::iFont_HasGlyph", _wrap_iFont_HasGlyph},
{"cspacec::iFont_GetTextHeight", _wrap_iFont_GetTextHeight},
{"cspacec::iFont_GetUnderlinePosition", _wrap_iFont_GetUnderlinePosition},
{"cspacec::iFont_GetUnderlineThickness", _wrap_iFont_GetUnderlineThickness},
{"cspacec::delete_iFont", _wrap_delete_iFont},
{"cspacec::iFont_scfGetVersion", _wrap_iFont_scfGetVersion},
{"cspacec::iFontServer_LoadFont", _wrap_iFontServer_LoadFont},
{"cspacec::iFontServer_SetWarnOnError", _wrap_iFontServer_SetWarnOnError},
{"cspacec::iFontServer_GetWarnOnError", _wrap_iFontServer_GetWarnOnError},
{"cspacec::delete_iFontServer", _wrap_delete_iFontServer},
{"cspacec::iFontServer_scfGetVersion", _wrap_iFontServer_scfGetVersion},
{"cspacec::iHalo_GetWidth", _wrap_iHalo_GetWidth},
{"cspacec::iHalo_GetHeight", _wrap_iHalo_GetHeight},
{"cspacec::iHalo_SetColor", _wrap_iHalo_SetColor},
{"cspacec::iHalo_GetColor", _wrap_iHalo_GetColor},
{"cspacec::iHalo_Draw", _wrap_iHalo_Draw},
{"cspacec::delete_iHalo", _wrap_delete_iHalo},
{"cspacec::iHalo_scfGetVersion", _wrap_iHalo_scfGetVersion},
{"cspacec::delete_iShaderVarStack", _wrap_delete_iShaderVarStack},
{"cspacec::csGetShaderVariableFromStack", _wrap_csGetShaderVariableFromStack},
{"cspacec::iShaderVariableContext_AddVariable", _wrap_iShaderVariableContext_AddVariable},
{"cspacec::iShaderVariableContext_GetVariable", _wrap_iShaderVariableContext_GetVariable},
{"cspacec::iShaderVariableContext_GetVariableAdd", _wrap_iShaderVariableContext_GetVariableAdd},
{"cspacec::iShaderVariableContext_GetShaderVariables", _wrap_iShaderVariableContext_GetShaderVariables},
{"cspacec::iShaderVariableContext_PushVariables", _wrap_iShaderVariableContext_PushVariables},
{"cspacec::iShaderVariableContext_IsEmpty", _wrap_iShaderVariableContext_IsEmpty},
{"cspacec::iShaderVariableContext_ReplaceVariable", _wrap_iShaderVariableContext_ReplaceVariable},
{"cspacec::iShaderVariableContext_Clear", _wrap_iShaderVariableContext_Clear},
{"cspacec::iShaderVariableContext_RemoveVariable", _wrap_iShaderVariableContext_RemoveVariable},
{"cspacec::delete_iShaderVariableContext", _wrap_delete_iShaderVariableContext},
{"cspacec::iShaderVariableContext_scfGetVersion", _wrap_iShaderVariableContext_scfGetVersion},
{"cspacec::iShaderManager_RegisterShader", _wrap_iShaderManager_RegisterShader},
{"cspacec::iShaderManager_UnregisterShader", _wrap_iShaderManager_UnregisterShader},
{"cspacec::iShaderManager_GetShader", _wrap_iShaderManager_GetShader},
{"cspacec::iShaderManager_GetShaders", _wrap_iShaderManager_GetShaders},
{"cspacec::iShaderManager_RegisterCompiler", _wrap_iShaderManager_RegisterCompiler},
{"cspacec::iShaderManager_GetCompiler", _wrap_iShaderManager_GetCompiler},
{"cspacec::iShaderManager_GetShaderVariableStack", _wrap_iShaderManager_GetShaderVariableStack},
{"cspacec::iShaderManager_SetTagOptions", _wrap_iShaderManager_SetTagOptions},
{"cspacec::iShaderManager_GetTagOptions", _wrap_iShaderManager_GetTagOptions},
{"cspacec::iShaderManager_GetTags", _wrap_iShaderManager_GetTags},
{"cspacec::iShaderManager_SetActiveLights", _wrap_iShaderManager_SetActiveLights},
{"cspacec::iShaderManager_GetActiveLights", _wrap_iShaderManager_GetActiveLights},
{"cspacec::delete_iShaderManager", _wrap_delete_iShaderManager},
{"cspacec::iShaderManager_scfGetVersion", _wrap_iShaderManager_scfGetVersion},
{"cspacec::csShaderMetadata_description_set", _wrap_csShaderMetadata_description_set},
{"cspacec::csShaderMetadata_description_get", _wrap_csShaderMetadata_description_get},
{"cspacec::csShaderMetadata_numberOfLights_set", _wrap_csShaderMetadata_numberOfLights_set},
{"cspacec::csShaderMetadata_numberOfLights_get", _wrap_csShaderMetadata_numberOfLights_get},
{"cspacec::new_csShaderMetadata", _wrap_new_csShaderMetadata},
{"cspacec::delete_csShaderMetadata", _wrap_delete_csShaderMetadata},
{"cspacec::iShader_QueryObject", _wrap_iShader_QueryObject},
{"cspacec::iShader_GetFileName", _wrap_iShader_GetFileName},
{"cspacec::iShader_SetFileName", _wrap_iShader_SetFileName},
{"cspacec::iShader_GetTicket", _wrap_iShader_GetTicket},
{"cspacec::iShader_GetNumberOfPasses", _wrap_iShader_GetNumberOfPasses},
{"cspacec::iShader_ActivatePass", _wrap_iShader_ActivatePass},
{"cspacec::iShader_SetupPass", _wrap_iShader_SetupPass},
{"cspacec::iShader_TeardownPass", _wrap_iShader_TeardownPass},
{"cspacec::iShader_DeactivatePass", _wrap_iShader_DeactivatePass},
{"cspacec::iShader_GetMetadata", _wrap_iShader_GetMetadata},
{"cspacec::delete_iShader", _wrap_delete_iShader},
{"cspacec::iShaderPriorityList_GetCount", _wrap_iShaderPriorityList_GetCount},
{"cspacec::iShaderPriorityList_GetPriority", _wrap_iShaderPriorityList_GetPriority},
{"cspacec::delete_iShaderPriorityList", _wrap_delete_iShaderPriorityList},
{"cspacec::iShaderCompiler_GetName", _wrap_iShaderCompiler_GetName},
{"cspacec::iShaderCompiler_CompileShader", _wrap_iShaderCompiler_CompileShader},
{"cspacec::iShaderCompiler_ValidateTemplate", _wrap_iShaderCompiler_ValidateTemplate},
{"cspacec::iShaderCompiler_IsTemplateToCompiler", _wrap_iShaderCompiler_IsTemplateToCompiler},
{"cspacec::iShaderCompiler_GetPriorities", _wrap_iShaderCompiler_GetPriorities},
{"cspacec::delete_iShaderCompiler", _wrap_delete_iShaderCompiler},
{"cspacec::iTextureHandle_GetFlags", _wrap_iTextureHandle_GetFlags},
{"cspacec::iTextureHandle_SetKeyColor", _wrap_iTextureHandle_SetKeyColor},
{"cspacec::iTextureHandle_GetKeyColorStatus", _wrap_iTextureHandle_GetKeyColorStatus},
{"cspacec::iTextureHandle_GetKeyColor", _wrap_iTextureHandle_GetKeyColor},
{"cspacec::iTextureHandle_GetRendererDimensions", _wrap_iTextureHandle_GetRendererDimensions},
{"cspacec::iTextureHandle_GetOriginalDimensions", _wrap_iTextureHandle_GetOriginalDimensions},
{"cspacec::iTextureHandle_GetTextureTarget", _wrap_iTextureHandle_GetTextureTarget},
{"cspacec::iTextureHandle_Blit", _wrap_iTextureHandle_Blit},
{"cspacec::iTextureHandle_GetImageName", _wrap_iTextureHandle_GetImageName},
{"cspacec::iTextureHandle_GetPrivateObject", _wrap_iTextureHandle_GetPrivateObject},
{"cspacec::iTextureHandle_GetAlphaMap", _wrap_iTextureHandle_GetAlphaMap},
{"cspacec::iTextureHandle_GetAlphaType", _wrap_iTextureHandle_GetAlphaType},
{"cspacec::iTextureHandle_Precache", _wrap_iTextureHandle_Precache},
{"cspacec::iTextureHandle_SetTextureClass", _wrap_iTextureHandle_SetTextureClass},
{"cspacec::iTextureHandle_GetTextureClass", _wrap_iTextureHandle_GetTextureClass},
{"cspacec::iTextureHandle_SetAlphaType", _wrap_iTextureHandle_SetAlphaType},
{"cspacec::delete_iTextureHandle", _wrap_delete_iTextureHandle},
{"cspacec::iTextureHandle_scfGetVersion", _wrap_iTextureHandle_scfGetVersion},
{"cspacec::iRendererLightmap_GetSLMCoords", _wrap_iRendererLightmap_GetSLMCoords},
{"cspacec::iRendererLightmap_SetData", _wrap_iRendererLightmap_SetData},
{"cspacec::iRendererLightmap_SetLightCellSize", _wrap_iRendererLightmap_SetLightCellSize},
{"cspacec::delete_iRendererLightmap", _wrap_delete_iRendererLightmap},
{"cspacec::iSuperLightmap_RegisterLightmap", _wrap_iSuperLightmap_RegisterLightmap},
{"cspacec::iSuperLightmap_Dump", _wrap_iSuperLightmap_Dump},
{"cspacec::iSuperLightmap_GetTexture", _wrap_iSuperLightmap_GetTexture},
{"cspacec::delete_iSuperLightmap", _wrap_delete_iSuperLightmap},
{"cspacec::iTextureManager_RegisterTexture", _wrap_iTextureManager_RegisterTexture},
{"cspacec::iTextureManager_GetTextureFormat", _wrap_iTextureManager_GetTextureFormat},
{"cspacec::iTextureManager_CreateSuperLightmap", _wrap_iTextureManager_CreateSuperLightmap},
{"cspacec::iTextureManager_GetMaxTextureSize", _wrap_iTextureManager_GetMaxTextureSize},
{"cspacec::delete_iTextureManager", _wrap_delete_iTextureManager},
{"cspacec::iTextureManager_scfGetVersion", _wrap_iTextureManager_scfGetVersion},
{"cspacec::iMaterial_SetShader", _wrap_iMaterial_SetShader},
{"cspacec::iMaterial_GetShader", _wrap_iMaterial_GetShader},
{"cspacec::iMaterial_GetShaders", _wrap_iMaterial_GetShaders},
{"cspacec::iMaterial_GetTexture", _wrap_iMaterial_GetTexture},
{"cspacec::iMaterial_GetFlatColor", _wrap_iMaterial_GetFlatColor},
{"cspacec::iMaterial_SetFlatColor", _wrap_iMaterial_SetFlatColor},
{"cspacec::delete_iMaterial", _wrap_delete_iMaterial},
{"cspacec::iMaterial_scfGetVersion", _wrap_iMaterial_scfGetVersion},
{"cspacec::iImage_GetImageData", _wrap_iImage_GetImageData},
{"cspacec::iImage_GetWidth", _wrap_iImage_GetWidth},
{"cspacec::iImage_GetHeight", _wrap_iImage_GetHeight},
{"cspacec::iImage_GetDepth", _wrap_iImage_GetDepth},
{"cspacec::iImage_SetName", _wrap_iImage_SetName},
{"cspacec::iImage_GetName", _wrap_iImage_GetName},
{"cspacec::iImage_GetFormat", _wrap_iImage_GetFormat},
{"cspacec::iImage_GetPalette", _wrap_iImage_GetPalette},
{"cspacec::iImage_GetAlpha", _wrap_iImage_GetAlpha},
{"cspacec::iImage_HasKeyColor", _wrap_iImage_HasKeyColor},
{"cspacec::iImage_HasKeycolor", _wrap_iImage_HasKeycolor},
{"cspacec::iImage_GetKeyColor", _wrap_iImage_GetKeyColor},
{"cspacec::iImage_GetKeycolor", _wrap_iImage_GetKeycolor},
{"cspacec::iImage_HasMipmaps", _wrap_iImage_HasMipmaps},
{"cspacec::iImage_GetMipmap", _wrap_iImage_GetMipmap},
{"cspacec::iImage_GetRawFormat", _wrap_iImage_GetRawFormat},
{"cspacec::iImage_GetRawData", _wrap_iImage_GetRawData},
{"cspacec::iImage_GetImageType", _wrap_iImage_GetImageType},
{"cspacec::iImage_HasSubImages", _wrap_iImage_HasSubImages},
{"cspacec::iImage_GetSubImage", _wrap_iImage_GetSubImage},
{"cspacec::delete_iImage", _wrap_delete_iImage},
{"cspacec::iImage_scfGetVersion", _wrap_iImage_scfGetVersion},
{"cspacec::delete_csImageIOFileFormatDescriptions", _wrap_delete_csImageIOFileFormatDescriptions},
{"cspacec::new_csImageIOFileFormatDescriptions", _wrap_new_csImageIOFileFormatDescriptions},
{"cspacec::csImageIOFileFormatDescriptions_GetSize", _wrap_csImageIOFileFormatDescriptions_GetSize},
{"cspacec::csImageIOFileFormatDescriptions_Length", _wrap_csImageIOFileFormatDescriptions_Length},
{"cspacec::csImageIOFileFormatDescriptions_Get", _wrap_csImageIOFileFormatDescriptions_Get},
{"cspacec::csImageIOFileFormatDescriptions_Put", _wrap_csImageIOFileFormatDescriptions_Put},
{"cspacec::csImageIOFileFormatDescriptions_Push", _wrap_csImageIOFileFormatDescriptions_Push},
{"cspacec::csImageIOFileFormatDescriptions_Pop", _wrap_csImageIOFileFormatDescriptions_Pop},
{"cspacec::csImageIOFileFormatDescriptions_Top", _wrap_csImageIOFileFormatDescriptions_Top},
{"cspacec::csImageIOFileFormatDescriptions_Insert", _wrap_csImageIOFileFormatDescriptions_Insert},
{"cspacec::csImageIOFileFormatDescriptions_Contains", _wrap_csImageIOFileFormatDescriptions_Contains},
{"cspacec::csImageIOFileFormatDescriptions_Truncate", _wrap_csImageIOFileFormatDescriptions_Truncate},
{"cspacec::csImageIOFileFormatDescriptions_Empty", _wrap_csImageIOFileFormatDescriptions_Empty},
{"cspacec::csImageIOFileFormatDescriptions_IsEmpty", _wrap_csImageIOFileFormatDescriptions_IsEmpty},
{"cspacec::csImageIOFileFormatDescriptions_SetMinimalCapacity", _wrap_csImageIOFileFormatDescriptions_SetMinimalCapacity},
{"cspacec::csImageIOFileFormatDescriptions_DeleteIndex", _wrap_csImageIOFileFormatDescriptions_DeleteIndex},
{"cspacec::csImageIOFileFormatDescriptions_DeleteIndexFast", _wrap_csImageIOFileFormatDescriptions_DeleteIndexFast},
{"cspacec::csImageIOFileFormatDescriptions_DeleteRange", _wrap_csImageIOFileFormatDescriptions_DeleteRange},
{"cspacec::csImageIOFileFormatDescriptions___eq__", _wrap_csImageIOFileFormatDescriptions___eq__},
{"cspacec::csImageIOFileFormatDescriptions___ne__", _wrap_csImageIOFileFormatDescriptions___ne__},
{"cspacec::csImageIOFileFormatDescriptions_GetAllocator", _wrap_csImageIOFileFormatDescriptions_GetAllocator},
{"cspacec::csImageIOFileFormatDescription_mime_get", _wrap_csImageIOFileFormatDescription_mime_get},
{"cspacec::csImageIOFileFormatDescription_subtype_get", _wrap_csImageIOFileFormatDescription_subtype_get},
{"cspacec::csImageIOFileFormatDescription_cap_set", _wrap_csImageIOFileFormatDescription_cap_set},
{"cspacec::csImageIOFileFormatDescription_cap_get", _wrap_csImageIOFileFormatDescription_cap_get},
{"cspacec::new_csImageIOFileFormatDescription", _wrap_new_csImageIOFileFormatDescription},
{"cspacec::delete_csImageIOFileFormatDescription", _wrap_delete_csImageIOFileFormatDescription},
{"cspacec::iImageIO_GetDescription", _wrap_iImageIO_GetDescription},
{"cspacec::iImageIO_Load", _wrap_iImageIO_Load},
{"cspacec::iImageIO_SetDithering", _wrap_iImageIO_SetDithering},
{"cspacec::iImageIO_Save", _wrap_iImageIO_Save},
{"cspacec::delete_iImageIO", _wrap_delete_iImageIO},
{"cspacec::iImageIO_scfGetVersion", _wrap_iImageIO_scfGetVersion},
{"cspacec::iReporterListener_Report", _wrap_iReporterListener_Report},
{"cspacec::delete_iReporterListener", _wrap_delete_iReporterListener},
{"cspacec::iReporterListener_scfGetVersion", _wrap_iReporterListener_scfGetVersion},
{"cspacec::iReporterIterator_HasNext", _wrap_iReporterIterator_HasNext},
{"cspacec::iReporterIterator_Next", _wrap_iReporterIterator_Next},
{"cspacec::iReporterIterator_GetMessageSeverity", _wrap_iReporterIterator_GetMessageSeverity},
{"cspacec::iReporterIterator_GetMessageId", _wrap_iReporterIterator_GetMessageId},
{"cspacec::iReporterIterator_GetMessageDescription", _wrap_iReporterIterator_GetMessageDescription},
{"cspacec::delete_iReporterIterator", _wrap_delete_iReporterIterator},
{"cspacec::iReporterIterator_scfGetVersion", _wrap_iReporterIterator_scfGetVersion},
{"cspacec::iReporter_Report", _wrap_iReporter_Report},
{"cspacec::iReporter_Clear", _wrap_iReporter_Clear},
{"cspacec::iReporter_GetMessageIterator", _wrap_iReporter_GetMessageIterator},
{"cspacec::iReporter_AddReporterListener", _wrap_iReporter_AddReporterListener},
{"cspacec::iReporter_RemoveReporterListener", _wrap_iReporter_RemoveReporterListener},
{"cspacec::iReporter_FindReporterListener", _wrap_iReporter_FindReporterListener},
{"cspacec::iReporter_ReportError", _wrap_iReporter_ReportError},
{"cspacec::iReporter_ReportWarning", _wrap_iReporter_ReportWarning},
{"cspacec::iReporter_ReportNotify", _wrap_iReporter_ReportNotify},
{"cspacec::iReporter_ReportBug", _wrap_iReporter_ReportBug},
{"cspacec::iReporter_ReportDebug", _wrap_iReporter_ReportDebug},
{"cspacec::delete_iReporter", _wrap_delete_iReporter},
{"cspacec::iReporter_scfGetVersion", _wrap_iReporter_scfGetVersion},
{"cspacec::csReporterHelper_Report", _wrap_csReporterHelper_Report},
{"cspacec::new_csReporterHelper", _wrap_new_csReporterHelper},
{"cspacec::delete_csReporterHelper", _wrap_delete_csReporterHelper},
{"cspacec::iConsoleWatcher_ConsoleVisibilityChanged", _wrap_iConsoleWatcher_ConsoleVisibilityChanged},
{"cspacec::delete_iConsoleWatcher", _wrap_delete_iConsoleWatcher},
{"cspacec::iConsoleOutput_PutText", _wrap_iConsoleOutput_PutText},
{"cspacec::iConsoleOutput_GetLine", _wrap_iConsoleOutput_GetLine},
{"cspacec::iConsoleOutput_Draw2D", _wrap_iConsoleOutput_Draw2D},
{"cspacec::iConsoleOutput_Draw3D", _wrap_iConsoleOutput_Draw3D},
{"cspacec::iConsoleOutput_Clear", _wrap_iConsoleOutput_Clear},
{"cspacec::iConsoleOutput_SetBufferSize", _wrap_iConsoleOutput_SetBufferSize},
{"cspacec::iConsoleOutput_GetTransparency", _wrap_iConsoleOutput_GetTransparency},
{"cspacec::iConsoleOutput_SetTransparency", _wrap_iConsoleOutput_SetTransparency},
{"cspacec::iConsoleOutput_GetFont", _wrap_iConsoleOutput_GetFont},
{"cspacec::iConsoleOutput_SetFont", _wrap_iConsoleOutput_SetFont},
{"cspacec::iConsoleOutput_GetTopLine", _wrap_iConsoleOutput_GetTopLine},
{"cspacec::iConsoleOutput_ScrollTo", _wrap_iConsoleOutput_ScrollTo},
{"cspacec::iConsoleOutput_GetCursorStyle", _wrap_iConsoleOutput_GetCursorStyle},
{"cspacec::iConsoleOutput_SetCursorStyle", _wrap_iConsoleOutput_SetCursorStyle},
{"cspacec::iConsoleOutput_SetVisible", _wrap_iConsoleOutput_SetVisible},
{"cspacec::iConsoleOutput_GetVisible", _wrap_iConsoleOutput_GetVisible},
{"cspacec::iConsoleOutput_AutoUpdate", _wrap_iConsoleOutput_AutoUpdate},
{"cspacec::iConsoleOutput_SetCursorPos", _wrap_iConsoleOutput_SetCursorPos},
{"cspacec::iConsoleOutput_GetMaxLineWidth", _wrap_iConsoleOutput_GetMaxLineWidth},
{"cspacec::iConsoleOutput_RegisterWatcher", _wrap_iConsoleOutput_RegisterWatcher},
{"cspacec::iConsoleOutput_PerformExtension", _wrap_iConsoleOutput_PerformExtension},
{"cspacec::delete_iConsoleOutput", _wrap_delete_iConsoleOutput},
{"cspacec::iStandardReporterListener_SetOutputConsole", _wrap_iStandardReporterListener_SetOutputConsole},
{"cspacec::iStandardReporterListener_SetNativeWindowManager", _wrap_iStandardReporterListener_SetNativeWindowManager},
{"cspacec::iStandardReporterListener_SetReporter", _wrap_iStandardReporterListener_SetReporter},
{"cspacec::iStandardReporterListener_SetDebugFile", _wrap_iStandardReporterListener_SetDebugFile},
{"cspacec::iStandardReporterListener_SetDefaults", _wrap_iStandardReporterListener_SetDefaults},
{"cspacec::iStandardReporterListener_SetMessageDestination", _wrap_iStandardReporterListener_SetMessageDestination},
{"cspacec::iStandardReporterListener_RemoveMessages", _wrap_iStandardReporterListener_RemoveMessages},
{"cspacec::iStandardReporterListener_ShowMessageID", _wrap_iStandardReporterListener_ShowMessageID},
{"cspacec::iStandardReporterListener_GetDebugFile", _wrap_iStandardReporterListener_GetDebugFile},
{"cspacec::delete_iStandardReporterListener", _wrap_delete_iStandardReporterListener},
{"cspacec::iStandardReporterListener_scfGetVersion", _wrap_iStandardReporterListener_scfGetVersion},
{"cspacec::iView_GetEngine", _wrap_iView_GetEngine},
{"cspacec::iView_SetEngine", _wrap_iView_SetEngine},
{"cspacec::iView_GetCamera", _wrap_iView_GetCamera},
{"cspacec::iView_SetCamera", _wrap_iView_SetCamera},
{"cspacec::iView_GetContext", _wrap_iView_GetContext},
{"cspacec::iView_SetContext", _wrap_iView_SetContext},
{"cspacec::iView_SetRectangle", _wrap_iView_SetRectangle},
{"cspacec::iView_ClearView", _wrap_iView_ClearView},
{"cspacec::iView_AddViewVertex", _wrap_iView_AddViewVertex},
{"cspacec::iView_RestrictClipperToScreen", _wrap_iView_RestrictClipperToScreen},
{"cspacec::iView_UpdateClipper", _wrap_iView_UpdateClipper},
{"cspacec::iView_GetClipper", _wrap_iView_GetClipper},
{"cspacec::iView_Draw", _wrap_iView_Draw},
{"cspacec::iView_SetAutoResize", _wrap_iView_SetAutoResize},
{"cspacec::delete_iView", _wrap_delete_iView},
{"cspacec::iView_scfGetVersion", _wrap_iView_scfGetVersion},
{"cspacec::csCollisionPair_a1_set", _wrap_csCollisionPair_a1_set},
{"cspacec::csCollisionPair_a1_get", _wrap_csCollisionPair_a1_get},
{"cspacec::csCollisionPair_b1_set", _wrap_csCollisionPair_b1_set},
{"cspacec::csCollisionPair_b1_get", _wrap_csCollisionPair_b1_get},
{"cspacec::csCollisionPair_c1_set", _wrap_csCollisionPair_c1_set},
{"cspacec::csCollisionPair_c1_get", _wrap_csCollisionPair_c1_get},
{"cspacec::csCollisionPair_a2_set", _wrap_csCollisionPair_a2_set},
{"cspacec::csCollisionPair_a2_get", _wrap_csCollisionPair_a2_get},
{"cspacec::csCollisionPair_b2_set", _wrap_csCollisionPair_b2_set},
{"cspacec::csCollisionPair_b2_get", _wrap_csCollisionPair_b2_get},
{"cspacec::csCollisionPair_c2_set", _wrap_csCollisionPair_c2_set},
{"cspacec::csCollisionPair_c2_get", _wrap_csCollisionPair_c2_get},
{"cspacec::new_csCollisionPair", _wrap_new_csCollisionPair},
{"cspacec::delete_csCollisionPair", _wrap_delete_csCollisionPair},
{"cspacec::csIntersectingTriangle_a_set", _wrap_csIntersectingTriangle_a_set},
{"cspacec::csIntersectingTriangle_a_get", _wrap_csIntersectingTriangle_a_get},
{"cspacec::csIntersectingTriangle_b_set", _wrap_csIntersectingTriangle_b_set},
{"cspacec::csIntersectingTriangle_b_get", _wrap_csIntersectingTriangle_b_get},
{"cspacec::csIntersectingTriangle_c_set", _wrap_csIntersectingTriangle_c_set},
{"cspacec::csIntersectingTriangle_c_get", _wrap_csIntersectingTriangle_c_get},
{"cspacec::new_csIntersectingTriangle", _wrap_new_csIntersectingTriangle},
{"cspacec::delete_csIntersectingTriangle", _wrap_delete_csIntersectingTriangle},
{"cspacec::iCollider_GetColliderType", _wrap_iCollider_GetColliderType},
{"cspacec::delete_iCollider", _wrap_delete_iCollider},
{"cspacec::iCollider_scfGetVersion", _wrap_iCollider_scfGetVersion},
{"cspacec::iCollideSystem_CreateCollider", _wrap_iCollideSystem_CreateCollider},
{"cspacec::iCollideSystem_Collide", _wrap_iCollideSystem_Collide},
{"cspacec::iCollideSystem_GetCollisionPairs", _wrap_iCollideSystem_GetCollisionPairs},
{"cspacec::iCollideSystem_GetCollisionPairCount", _wrap_iCollideSystem_GetCollisionPairCount},
{"cspacec::iCollideSystem_ResetCollisionPairs", _wrap_iCollideSystem_ResetCollisionPairs},
{"cspacec::iCollideSystem_CollideRay", _wrap_iCollideSystem_CollideRay},
{"cspacec::iCollideSystem_CollideSegment", _wrap_iCollideSystem_CollideSegment},
{"cspacec::iCollideSystem_GetIntersectingTriangles", _wrap_iCollideSystem_GetIntersectingTriangles},
{"cspacec::iCollideSystem_SetOneHitOnly", _wrap_iCollideSystem_SetOneHitOnly},
{"cspacec::iCollideSystem_GetOneHitOnly", _wrap_iCollideSystem_GetOneHitOnly},
{"cspacec::delete_iCollideSystem", _wrap_delete_iCollideSystem},
{"cspacec::iCollideSystem_scfGetVersion", _wrap_iCollideSystem_scfGetVersion},
{"cspacec::iCollideSystem_GetCollisionPairByIndex", _wrap_iCollideSystem_GetCollisionPairByIndex},
{"cspacec::iDynamics_CreateSystem", _wrap_iDynamics_CreateSystem},
{"cspacec::iDynamics_RemoveSystem", _wrap_iDynamics_RemoveSystem},
{"cspacec::iDynamics_RemoveSystems", _wrap_iDynamics_RemoveSystems},
{"cspacec::iDynamics_FindSystem", _wrap_iDynamics_FindSystem},
{"cspacec::iDynamics_Step", _wrap_iDynamics_Step},
{"cspacec::delete_iDynamics", _wrap_delete_iDynamics},
{"cspacec::iDynamics_scfGetVersion", _wrap_iDynamics_scfGetVersion},
{"cspacec::iDynamicSystem_QueryObject", _wrap_iDynamicSystem_QueryObject},
{"cspacec::iDynamicSystem_SetGravity", _wrap_iDynamicSystem_SetGravity},
{"cspacec::iDynamicSystem_GetGravity", _wrap_iDynamicSystem_GetGravity},
{"cspacec::iDynamicSystem_SetLinearDampener", _wrap_iDynamicSystem_SetLinearDampener},
{"cspacec::iDynamicSystem_GetLinearDampener", _wrap_iDynamicSystem_GetLinearDampener},
{"cspacec::iDynamicSystem_SetRollingDampener", _wrap_iDynamicSystem_SetRollingDampener},
{"cspacec::iDynamicSystem_GetRollingDampener", _wrap_iDynamicSystem_GetRollingDampener},
{"cspacec::iDynamicSystem_EnableAutoDisable", _wrap_iDynamicSystem_EnableAutoDisable},
{"cspacec::iDynamicSystem_AutoDisableEnabled", _wrap_iDynamicSystem_AutoDisableEnabled},
{"cspacec::iDynamicSystem_SetAutoDisableParams", _wrap_iDynamicSystem_SetAutoDisableParams},
{"cspacec::iDynamicSystem_Step", _wrap_iDynamicSystem_Step},
{"cspacec::iDynamicSystem_CreateBody", _wrap_iDynamicSystem_CreateBody},
{"cspacec::iDynamicSystem_RemoveBody", _wrap_iDynamicSystem_RemoveBody},
{"cspacec::iDynamicSystem_FindBody", _wrap_iDynamicSystem_FindBody},
{"cspacec::iDynamicSystem_GetBody", _wrap_iDynamicSystem_GetBody},
{"cspacec::iDynamicSystem_GetBodysCount", _wrap_iDynamicSystem_GetBodysCount},
{"cspacec::iDynamicSystem_CreateGroup", _wrap_iDynamicSystem_CreateGroup},
{"cspacec::iDynamicSystem_RemoveGroup", _wrap_iDynamicSystem_RemoveGroup},
{"cspacec::iDynamicSystem_CreateJoint", _wrap_iDynamicSystem_CreateJoint},
{"cspacec::iDynamicSystem_RemoveJoint", _wrap_iDynamicSystem_RemoveJoint},
{"cspacec::iDynamicSystem_GetDefaultMoveCallback", _wrap_iDynamicSystem_GetDefaultMoveCallback},
{"cspacec::iDynamicSystem_AttachColliderMesh", _wrap_iDynamicSystem_AttachColliderMesh},
{"cspacec::iDynamicSystem_AttachColliderCylinder", _wrap_iDynamicSystem_AttachColliderCylinder},
{"cspacec::iDynamicSystem_AttachColliderBox", _wrap_iDynamicSystem_AttachColliderBox},
{"cspacec::iDynamicSystem_AttachColliderSphere", _wrap_iDynamicSystem_AttachColliderSphere},
{"cspacec::iDynamicSystem_AttachColliderPlane", _wrap_iDynamicSystem_AttachColliderPlane},
{"cspacec::iDynamicSystem_DestroyColliders", _wrap_iDynamicSystem_DestroyColliders},
{"cspacec::iDynamicSystem_DestroyCollider", _wrap_iDynamicSystem_DestroyCollider},
{"cspacec::iDynamicSystem_AttachCollider", _wrap_iDynamicSystem_AttachCollider},
{"cspacec::iDynamicSystem_CreateCollider", _wrap_iDynamicSystem_CreateCollider},
{"cspacec::iDynamicSystem_GetCollider", _wrap_iDynamicSystem_GetCollider},
{"cspacec::iDynamicSystem_GetColliderCount", _wrap_iDynamicSystem_GetColliderCount},
{"cspacec::delete_iDynamicSystem", _wrap_delete_iDynamicSystem},
{"cspacec::iDynamicSystem_scfGetVersion", _wrap_iDynamicSystem_scfGetVersion},
{"cspacec::iDynamicsMoveCallback_Execute", _wrap_iDynamicsMoveCallback_Execute},
{"cspacec::delete_iDynamicsMoveCallback", _wrap_delete_iDynamicsMoveCallback},
{"cspacec::iDynamicsCollisionCallback_Execute", _wrap_iDynamicsCollisionCallback_Execute},
{"cspacec::delete_iDynamicsCollisionCallback", _wrap_delete_iDynamicsCollisionCallback},
{"cspacec::iBodyGroup_AddBody", _wrap_iBodyGroup_AddBody},
{"cspacec::iBodyGroup_RemoveBody", _wrap_iBodyGroup_RemoveBody},
{"cspacec::iBodyGroup_BodyInGroup", _wrap_iBodyGroup_BodyInGroup},
{"cspacec::delete_iBodyGroup", _wrap_delete_iBodyGroup},
{"cspacec::iBodyGroup_scfGetVersion", _wrap_iBodyGroup_scfGetVersion},
{"cspacec::iRigidBody_QueryObject", _wrap_iRigidBody_QueryObject},
{"cspacec::iRigidBody_MakeStatic", _wrap_iRigidBody_MakeStatic},
{"cspacec::iRigidBody_MakeDynamic", _wrap_iRigidBody_MakeDynamic},
{"cspacec::iRigidBody_IsStatic", _wrap_iRigidBody_IsStatic},
{"cspacec::iRigidBody_Disable", _wrap_iRigidBody_Disable},
{"cspacec::iRigidBody_Enable", _wrap_iRigidBody_Enable},
{"cspacec::iRigidBody_IsEnabled", _wrap_iRigidBody_IsEnabled},
{"cspacec::iRigidBody_GetGroup", _wrap_iRigidBody_GetGroup},
{"cspacec::iRigidBody_AttachColliderMesh", _wrap_iRigidBody_AttachColliderMesh},
{"cspacec::iRigidBody_AttachColliderCylinder", _wrap_iRigidBody_AttachColliderCylinder},
{"cspacec::iRigidBody_AttachColliderBox", _wrap_iRigidBody_AttachColliderBox},
{"cspacec::iRigidBody_AttachColliderSphere", _wrap_iRigidBody_AttachColliderSphere},
{"cspacec::iRigidBody_AttachColliderPlane", _wrap_iRigidBody_AttachColliderPlane},
{"cspacec::iRigidBody_AttachCollider", _wrap_iRigidBody_AttachCollider},
{"cspacec::iRigidBody_DestroyColliders", _wrap_iRigidBody_DestroyColliders},
{"cspacec::iRigidBody_DestroyCollider", _wrap_iRigidBody_DestroyCollider},
{"cspacec::iRigidBody_SetPosition", _wrap_iRigidBody_SetPosition},
{"cspacec::iRigidBody_GetPosition", _wrap_iRigidBody_GetPosition},
{"cspacec::iRigidBody_SetOrientation", _wrap_iRigidBody_SetOrientation},
{"cspacec::iRigidBody_GetOrientation", _wrap_iRigidBody_GetOrientation},
{"cspacec::iRigidBody_SetTransform", _wrap_iRigidBody_SetTransform},
{"cspacec::iRigidBody_GetTransform", _wrap_iRigidBody_GetTransform},
{"cspacec::iRigidBody_SetLinearVelocity", _wrap_iRigidBody_SetLinearVelocity},
{"cspacec::iRigidBody_GetLinearVelocity", _wrap_iRigidBody_GetLinearVelocity},
{"cspacec::iRigidBody_SetAngularVelocity", _wrap_iRigidBody_SetAngularVelocity},
{"cspacec::iRigidBody_GetAngularVelocity", _wrap_iRigidBody_GetAngularVelocity},
{"cspacec::iRigidBody_SetProperties", _wrap_iRigidBody_SetProperties},
{"cspacec::iRigidBody_GetProperties", _wrap_iRigidBody_GetProperties},
{"cspacec::iRigidBody_GetMass", _wrap_iRigidBody_GetMass},
{"cspacec::iRigidBody_GetCenter", _wrap_iRigidBody_GetCenter},
{"cspacec::iRigidBody_GetInertia", _wrap_iRigidBody_GetInertia},
{"cspacec::iRigidBody_AdjustTotalMass", _wrap_iRigidBody_AdjustTotalMass},
{"cspacec::iRigidBody_AddForce", _wrap_iRigidBody_AddForce},
{"cspacec::iRigidBody_AddTorque", _wrap_iRigidBody_AddTorque},
{"cspacec::iRigidBody_AddRelForce", _wrap_iRigidBody_AddRelForce},
{"cspacec::iRigidBody_AddRelTorque", _wrap_iRigidBody_AddRelTorque},
{"cspacec::iRigidBody_AddForceAtPos", _wrap_iRigidBody_AddForceAtPos},
{"cspacec::iRigidBody_AddForceAtRelPos", _wrap_iRigidBody_AddForceAtRelPos},
{"cspacec::iRigidBody_AddRelForceAtPos", _wrap_iRigidBody_AddRelForceAtPos},
{"cspacec::iRigidBody_AddRelForceAtRelPos", _wrap_iRigidBody_AddRelForceAtRelPos},
{"cspacec::iRigidBody_GetForce", _wrap_iRigidBody_GetForce},
{"cspacec::iRigidBody_GetTorque", _wrap_iRigidBody_GetTorque},
{"cspacec::iRigidBody_AttachMesh", _wrap_iRigidBody_AttachMesh},
{"cspacec::iRigidBody_GetAttachedMesh", _wrap_iRigidBody_GetAttachedMesh},
{"cspacec::iRigidBody_AttachLight", _wrap_iRigidBody_AttachLight},
{"cspacec::iRigidBody_GetAttachedLight", _wrap_iRigidBody_GetAttachedLight},
{"cspacec::iRigidBody_AttachCamera", _wrap_iRigidBody_AttachCamera},
{"cspacec::iRigidBody_GetAttachedCamera", _wrap_iRigidBody_GetAttachedCamera},
{"cspacec::iRigidBody_SetMoveCallback", _wrap_iRigidBody_SetMoveCallback},
{"cspacec::iRigidBody_SetCollisionCallback", _wrap_iRigidBody_SetCollisionCallback},
{"cspacec::iRigidBody_Collision", _wrap_iRigidBody_Collision},
{"cspacec::iRigidBody_Update", _wrap_iRigidBody_Update},
{"cspacec::iRigidBody_GetCollider", _wrap_iRigidBody_GetCollider},
{"cspacec::iRigidBody_GetColliderCount", _wrap_iRigidBody_GetColliderCount},
{"cspacec::delete_iRigidBody", _wrap_delete_iRigidBody},
{"cspacec::iDynamicsColliderCollisionCallback_Execute", _wrap_iDynamicsColliderCollisionCallback_Execute},
{"cspacec::delete_iDynamicsColliderCollisionCallback", _wrap_delete_iDynamicsColliderCollisionCallback},
{"cspacec::iDynamicsSystemCollider_CreateSphereGeometry", _wrap_iDynamicsSystemCollider_CreateSphereGeometry},
{"cspacec::iDynamicsSystemCollider_CreatePlaneGeometry", _wrap_iDynamicsSystemCollider_CreatePlaneGeometry},
{"cspacec::iDynamicsSystemCollider_CreateMeshGeometry", _wrap_iDynamicsSystemCollider_CreateMeshGeometry},
{"cspacec::iDynamicsSystemCollider_CreateBoxGeometry", _wrap_iDynamicsSystemCollider_CreateBoxGeometry},
{"cspacec::iDynamicsSystemCollider_CreateCCylinderGeometry", _wrap_iDynamicsSystemCollider_CreateCCylinderGeometry},
{"cspacec::iDynamicsSystemCollider_SetCollisionCallback", _wrap_iDynamicsSystemCollider_SetCollisionCallback},
{"cspacec::iDynamicsSystemCollider_SetFriction", _wrap_iDynamicsSystemCollider_SetFriction},
{"cspacec::iDynamicsSystemCollider_SetSoftness", _wrap_iDynamicsSystemCollider_SetSoftness},
{"cspacec::iDynamicsSystemCollider_SetDensity", _wrap_iDynamicsSystemCollider_SetDensity},
{"cspacec::iDynamicsSystemCollider_SetElasticity", _wrap_iDynamicsSystemCollider_SetElasticity},
{"cspacec::iDynamicsSystemCollider_GetFriction", _wrap_iDynamicsSystemCollider_GetFriction},
{"cspacec::iDynamicsSystemCollider_GetSoftness", _wrap_iDynamicsSystemCollider_GetSoftness},
{"cspacec::iDynamicsSystemCollider_GetDensity", _wrap_iDynamicsSystemCollider_GetDensity},
{"cspacec::iDynamicsSystemCollider_GetElasticity", _wrap_iDynamicsSystemCollider_GetElasticity},
{"cspacec::iDynamicsSystemCollider_FillWithColliderGeometry", _wrap_iDynamicsSystemCollider_FillWithColliderGeometry},
{"cspacec::iDynamicsSystemCollider_GetGeometryType", _wrap_iDynamicsSystemCollider_GetGeometryType},
{"cspacec::iDynamicsSystemCollider_GetTransform", _wrap_iDynamicsSystemCollider_GetTransform},
{"cspacec::iDynamicsSystemCollider_GetLocalTransform", _wrap_iDynamicsSystemCollider_GetLocalTransform},
{"cspacec::iDynamicsSystemCollider_SetTransform", _wrap_iDynamicsSystemCollider_SetTransform},
{"cspacec::iDynamicsSystemCollider_GetBoxGeometry", _wrap_iDynamicsSystemCollider_GetBoxGeometry},
{"cspacec::iDynamicsSystemCollider_GetSphereGeometry", _wrap_iDynamicsSystemCollider_GetSphereGeometry},
{"cspacec::iDynamicsSystemCollider_GetPlaneGeometry", _wrap_iDynamicsSystemCollider_GetPlaneGeometry},
{"cspacec::iDynamicsSystemCollider_GetCylinderGeometry", _wrap_iDynamicsSystemCollider_GetCylinderGeometry},
{"cspacec::iDynamicsSystemCollider_MakeStatic", _wrap_iDynamicsSystemCollider_MakeStatic},
{"cspacec::iDynamicsSystemCollider_MakeDynamic", _wrap_iDynamicsSystemCollider_MakeDynamic},
{"cspacec::iDynamicsSystemCollider_IsStatic", _wrap_iDynamicsSystemCollider_IsStatic},
{"cspacec::delete_iDynamicsSystemCollider", _wrap_delete_iDynamicsSystemCollider},
{"cspacec::iJoint_Attach", _wrap_iJoint_Attach},
{"cspacec::iJoint_GetAttachedBody", _wrap_iJoint_GetAttachedBody},
{"cspacec::iJoint_SetTransform", _wrap_iJoint_SetTransform},
{"cspacec::iJoint_GetTransform", _wrap_iJoint_GetTransform},
{"cspacec::iJoint_SetTransConstraints", _wrap_iJoint_SetTransConstraints},
{"cspacec::iJoint_IsXTransConstrained", _wrap_iJoint_IsXTransConstrained},
{"cspacec::iJoint_IsYTransConstrained", _wrap_iJoint_IsYTransConstrained},
{"cspacec::iJoint_IsZTransConstrained", _wrap_iJoint_IsZTransConstrained},
{"cspacec::iJoint_SetMinimumDistance", _wrap_iJoint_SetMinimumDistance},
{"cspacec::iJoint_GetMinimumDistance", _wrap_iJoint_GetMinimumDistance},
{"cspacec::iJoint_SetMaximumDistance", _wrap_iJoint_SetMaximumDistance},
{"cspacec::iJoint_GetMaximumDistance", _wrap_iJoint_GetMaximumDistance},
{"cspacec::iJoint_SetRotConstraints", _wrap_iJoint_SetRotConstraints},
{"cspacec::iJoint_IsXRotConstrained", _wrap_iJoint_IsXRotConstrained},
{"cspacec::iJoint_IsYRotConstrained", _wrap_iJoint_IsYRotConstrained},
{"cspacec::iJoint_IsZRotConstrained", _wrap_iJoint_IsZRotConstrained},
{"cspacec::iJoint_SetMinimumAngle", _wrap_iJoint_SetMinimumAngle},
{"cspacec::iJoint_GetMinimumAngle", _wrap_iJoint_GetMinimumAngle},
{"cspacec::iJoint_SetMaximumAngle", _wrap_iJoint_SetMaximumAngle},
{"cspacec::iJoint_GetMaximumAngle", _wrap_iJoint_GetMaximumAngle},
{"cspacec::iJoint_SetBounce", _wrap_iJoint_SetBounce},
{"cspacec::iJoint_GetBounce", _wrap_iJoint_GetBounce},
{"cspacec::iJoint_SetDesiredVelocity", _wrap_iJoint_SetDesiredVelocity},
{"cspacec::iJoint_GetDesiredVelocity", _wrap_iJoint_GetDesiredVelocity},
{"cspacec::iJoint_SetMaxForce", _wrap_iJoint_SetMaxForce},
{"cspacec::iJoint_GetMaxForce", _wrap_iJoint_GetMaxForce},
{"cspacec::iJoint_SetAngularConstraintAxis", _wrap_iJoint_SetAngularConstraintAxis},
{"cspacec::iJoint_GetAngularConstraintAxis", _wrap_iJoint_GetAngularConstraintAxis},
{"cspacec::delete_iJoint", _wrap_delete_iJoint},
{"cspacec::iJoint_scfGetVersion", _wrap_iJoint_scfGetVersion},
{"cspacec::iODEFrameUpdateCallback_Execute", _wrap_iODEFrameUpdateCallback_Execute},
{"cspacec::delete_iODEFrameUpdateCallback", _wrap_delete_iODEFrameUpdateCallback},
{"cspacec::iODEDynamicState_SetGlobalERP", _wrap_iODEDynamicState_SetGlobalERP},
{"cspacec::iODEDynamicState_GlobalERP", _wrap_iODEDynamicState_GlobalERP},
{"cspacec::iODEDynamicState_SetGlobalCFM", _wrap_iODEDynamicState_SetGlobalCFM},
{"cspacec::iODEDynamicState_GlobalCFM", _wrap_iODEDynamicState_GlobalCFM},
{"cspacec::iODEDynamicState_EnableStepFast", _wrap_iODEDynamicState_EnableStepFast},
{"cspacec::iODEDynamicState_StepFastEnabled", _wrap_iODEDynamicState_StepFastEnabled},
{"cspacec::iODEDynamicState_SetStepFastIterations", _wrap_iODEDynamicState_SetStepFastIterations},
{"cspacec::iODEDynamicState_StepFastIterations", _wrap_iODEDynamicState_StepFastIterations},
{"cspacec::iODEDynamicState_EnableQuickStep", _wrap_iODEDynamicState_EnableQuickStep},
{"cspacec::iODEDynamicState_QuickStepEnabled", _wrap_iODEDynamicState_QuickStepEnabled},
{"cspacec::iODEDynamicState_SetQuickStepIterations", _wrap_iODEDynamicState_SetQuickStepIterations},
{"cspacec::iODEDynamicState_QuickStepIterations", _wrap_iODEDynamicState_QuickStepIterations},
{"cspacec::iODEDynamicState_EnableFrameRate", _wrap_iODEDynamicState_EnableFrameRate},
{"cspacec::iODEDynamicState_FrameRateEnabled", _wrap_iODEDynamicState_FrameRateEnabled},
{"cspacec::iODEDynamicState_SetFrameRate", _wrap_iODEDynamicState_SetFrameRate},
{"cspacec::iODEDynamicState_FrameRate", _wrap_iODEDynamicState_FrameRate},
{"cspacec::iODEDynamicState_SetFrameLimit", _wrap_iODEDynamicState_SetFrameLimit},
{"cspacec::iODEDynamicState_FrameLimit", _wrap_iODEDynamicState_FrameLimit},
{"cspacec::iODEDynamicState_AddFrameUpdateCallback", _wrap_iODEDynamicState_AddFrameUpdateCallback},
{"cspacec::iODEDynamicState_RemoveFrameUpdateCallback", _wrap_iODEDynamicState_RemoveFrameUpdateCallback},
{"cspacec::iODEDynamicState_EnableEventProcessing", _wrap_iODEDynamicState_EnableEventProcessing},
{"cspacec::iODEDynamicState_EventProcessingEnabled", _wrap_iODEDynamicState_EventProcessingEnabled},
{"cspacec::iODEDynamicState_EnableFastObjects", _wrap_iODEDynamicState_EnableFastObjects},
{"cspacec::iODEDynamicState_FastObjectsEnabled", _wrap_iODEDynamicState_FastObjectsEnabled},
{"cspacec::delete_iODEDynamicState", _wrap_delete_iODEDynamicState},
{"cspacec::iODEDynamicState_scfGetVersion", _wrap_iODEDynamicState_scfGetVersion},
{"cspacec::iODEDynamicSystemState_SetERP", _wrap_iODEDynamicSystemState_SetERP},
{"cspacec::iODEDynamicSystemState_ERP", _wrap_iODEDynamicSystemState_ERP},
{"cspacec::iODEDynamicSystemState_SetCFM", _wrap_iODEDynamicSystemState_SetCFM},
{"cspacec::iODEDynamicSystemState_CFM", _wrap_iODEDynamicSystemState_CFM},
{"cspacec::iODEDynamicSystemState_EnableStepFast", _wrap_iODEDynamicSystemState_EnableStepFast},
{"cspacec::iODEDynamicSystemState_StepFastEnabled", _wrap_iODEDynamicSystemState_StepFastEnabled},
{"cspacec::iODEDynamicSystemState_SetStepFastIterations", _wrap_iODEDynamicSystemState_SetStepFastIterations},
{"cspacec::iODEDynamicSystemState_StepFastIterations", _wrap_iODEDynamicSystemState_StepFastIterations},
{"cspacec::iODEDynamicSystemState_EnableQuickStep", _wrap_iODEDynamicSystemState_EnableQuickStep},
{"cspacec::iODEDynamicSystemState_QuickStepEnabled", _wrap_iODEDynamicSystemState_QuickStepEnabled},
{"cspacec::iODEDynamicSystemState_SetQuickStepIterations", _wrap_iODEDynamicSystemState_SetQuickStepIterations},
{"cspacec::iODEDynamicSystemState_QuickStepIterations", _wrap_iODEDynamicSystemState_QuickStepIterations},
{"cspacec::iODEDynamicSystemState_EnableAutoDisable", _wrap_iODEDynamicSystemState_EnableAutoDisable},
{"cspacec::iODEDynamicSystemState_AutoDisableEnabled", _wrap_iODEDynamicSystemState_AutoDisableEnabled},
{"cspacec::iODEDynamicSystemState_SetAutoDisableParams", _wrap_iODEDynamicSystemState_SetAutoDisableParams},
{"cspacec::iODEDynamicSystemState_EnableFrameRate", _wrap_iODEDynamicSystemState_EnableFrameRate},
{"cspacec::iODEDynamicSystemState_FrameRateEnabled", _wrap_iODEDynamicSystemState_FrameRateEnabled},
{"cspacec::iODEDynamicSystemState_SetFrameRate", _wrap_iODEDynamicSystemState_SetFrameRate},
{"cspacec::iODEDynamicSystemState_FrameRate", _wrap_iODEDynamicSystemState_FrameRate},
{"cspacec::iODEDynamicSystemState_SetFrameLimit", _wrap_iODEDynamicSystemState_SetFrameLimit},
{"cspacec::iODEDynamicSystemState_FrameLimit", _wrap_iODEDynamicSystemState_FrameLimit},
{"cspacec::iODEDynamicSystemState_AddFrameUpdateCallback", _wrap_iODEDynamicSystemState_AddFrameUpdateCallback},
{"cspacec::iODEDynamicSystemState_RemoveFrameUpdateCallback", _wrap_iODEDynamicSystemState_RemoveFrameUpdateCallback},
{"cspacec::iODEDynamicSystemState_EnableFastObjects", _wrap_iODEDynamicSystemState_EnableFastObjects},
{"cspacec::iODEDynamicSystemState_FastObjectsEnabled", _wrap_iODEDynamicSystemState_FastObjectsEnabled},
{"cspacec::iODEDynamicSystemState_CreateBallJoint", _wrap_iODEDynamicSystemState_CreateBallJoint},
{"cspacec::iODEDynamicSystemState_CreateHingeJoint", _wrap_iODEDynamicSystemState_CreateHingeJoint},
{"cspacec::iODEDynamicSystemState_CreateHinge2Joint", _wrap_iODEDynamicSystemState_CreateHinge2Joint},
{"cspacec::iODEDynamicSystemState_CreateAMotorJoint", _wrap_iODEDynamicSystemState_CreateAMotorJoint},
{"cspacec::iODEDynamicSystemState_CreateUniversalJoint", _wrap_iODEDynamicSystemState_CreateUniversalJoint},
{"cspacec::iODEDynamicSystemState_CreateSliderJoint", _wrap_iODEDynamicSystemState_CreateSliderJoint},
{"cspacec::iODEDynamicSystemState_RemoveJoint", _wrap_iODEDynamicSystemState_RemoveJoint},
{"cspacec::iODEDynamicSystemState_SetContactMaxCorrectingVel", _wrap_iODEDynamicSystemState_SetContactMaxCorrectingVel},
{"cspacec::iODEDynamicSystemState_GetContactMaxCorrectingVel", _wrap_iODEDynamicSystemState_GetContactMaxCorrectingVel},
{"cspacec::iODEDynamicSystemState_SetContactSurfaceLayer", _wrap_iODEDynamicSystemState_SetContactSurfaceLayer},
{"cspacec::iODEDynamicSystemState_GetContactSurfaceLayer", _wrap_iODEDynamicSystemState_GetContactSurfaceLayer},
{"cspacec::delete_iODEDynamicSystemState", _wrap_delete_iODEDynamicSystemState},
{"cspacec::iODEDynamicSystemState_scfGetVersion", _wrap_iODEDynamicSystemState_scfGetVersion},
{"cspacec::iODEJointState_GetType", _wrap_iODEJointState_GetType},
{"cspacec::iODEJointState_SetLoStop", _wrap_iODEJointState_SetLoStop},
{"cspacec::iODEJointState_SetHiStop", _wrap_iODEJointState_SetHiStop},
{"cspacec::iODEJointState_SetVel", _wrap_iODEJointState_SetVel},
{"cspacec::iODEJointState_SetFMax", _wrap_iODEJointState_SetFMax},
{"cspacec::iODEJointState_SetFudgeFactor", _wrap_iODEJointState_SetFudgeFactor},
{"cspacec::iODEJointState_SetBounce", _wrap_iODEJointState_SetBounce},
{"cspacec::iODEJointState_SetCFM", _wrap_iODEJointState_SetCFM},
{"cspacec::iODEJointState_SetStopERP", _wrap_iODEJointState_SetStopERP},
{"cspacec::iODEJointState_SetStopCFM", _wrap_iODEJointState_SetStopCFM},
{"cspacec::iODEJointState_SetSuspensionERP", _wrap_iODEJointState_SetSuspensionERP},
{"cspacec::iODEJointState_SetSuspensionCFM", _wrap_iODEJointState_SetSuspensionCFM},
{"cspacec::iODEJointState_GetLoStop", _wrap_iODEJointState_GetLoStop},
{"cspacec::iODEJointState_GetHiStop", _wrap_iODEJointState_GetHiStop},
{"cspacec::iODEJointState_GetVel", _wrap_iODEJointState_GetVel},
{"cspacec::iODEJointState_GetMaxForce", _wrap_iODEJointState_GetMaxForce},
{"cspacec::iODEJointState_GetFudgeFactor", _wrap_iODEJointState_GetFudgeFactor},
{"cspacec::iODEJointState_GetBounce", _wrap_iODEJointState_GetBounce},
{"cspacec::iODEJointState_GetCFM", _wrap_iODEJointState_GetCFM},
{"cspacec::iODEJointState_GetStopERP", _wrap_iODEJointState_GetStopERP},
{"cspacec::iODEJointState_GetStopCFM", _wrap_iODEJointState_GetStopCFM},
{"cspacec::iODEJointState_GetSuspensionERP", _wrap_iODEJointState_GetSuspensionERP},
{"cspacec::iODEJointState_GetSuspensionCFM", _wrap_iODEJointState_GetSuspensionCFM},
{"cspacec::delete_iODEJointState", _wrap_delete_iODEJointState},
{"cspacec::iODEJointState_scfGetVersion", _wrap_iODEJointState_scfGetVersion},
{"cspacec::iODEGeneralJointState_SetLoStop", _wrap_iODEGeneralJointState_SetLoStop},
{"cspacec::iODEGeneralJointState_SetHiStop", _wrap_iODEGeneralJointState_SetHiStop},
{"cspacec::iODEGeneralJointState_SetVel", _wrap_iODEGeneralJointState_SetVel},
{"cspacec::iODEGeneralJointState_SetFMax", _wrap_iODEGeneralJointState_SetFMax},
{"cspacec::iODEGeneralJointState_SetFudgeFactor", _wrap_iODEGeneralJointState_SetFudgeFactor},
{"cspacec::iODEGeneralJointState_SetBounce", _wrap_iODEGeneralJointState_SetBounce},
{"cspacec::iODEGeneralJointState_SetCFM", _wrap_iODEGeneralJointState_SetCFM},
{"cspacec::iODEGeneralJointState_SetStopERP", _wrap_iODEGeneralJointState_SetStopERP},
{"cspacec::iODEGeneralJointState_SetStopCFM", _wrap_iODEGeneralJointState_SetStopCFM},
{"cspacec::iODEGeneralJointState_SetSuspensionERP", _wrap_iODEGeneralJointState_SetSuspensionERP},
{"cspacec::iODEGeneralJointState_SetSuspensionCFM", _wrap_iODEGeneralJointState_SetSuspensionCFM},
{"cspacec::iODEGeneralJointState_GetLoStop", _wrap_iODEGeneralJointState_GetLoStop},
{"cspacec::iODEGeneralJointState_GetHiStop", _wrap_iODEGeneralJointState_GetHiStop},
{"cspacec::iODEGeneralJointState_GetVel", _wrap_iODEGeneralJointState_GetVel},
{"cspacec::iODEGeneralJointState_GetFMax", _wrap_iODEGeneralJointState_GetFMax},
{"cspacec::iODEGeneralJointState_GetFudgeFactor", _wrap_iODEGeneralJointState_GetFudgeFactor},
{"cspacec::iODEGeneralJointState_GetBounce", _wrap_iODEGeneralJointState_GetBounce},
{"cspacec::iODEGeneralJointState_GetCFM", _wrap_iODEGeneralJointState_GetCFM},
{"cspacec::iODEGeneralJointState_GetStopERP", _wrap_iODEGeneralJointState_GetStopERP},
{"cspacec::iODEGeneralJointState_GetStopCFM", _wrap_iODEGeneralJointState_GetStopCFM},
{"cspacec::iODEGeneralJointState_GetSuspensionERP", _wrap_iODEGeneralJointState_GetSuspensionERP},
{"cspacec::iODEGeneralJointState_GetSuspensionCFM", _wrap_iODEGeneralJointState_GetSuspensionCFM},
{"cspacec::iODEGeneralJointState_Attach", _wrap_iODEGeneralJointState_Attach},
{"cspacec::iODEGeneralJointState_GetAttachedBody", _wrap_iODEGeneralJointState_GetAttachedBody},
{"cspacec::iODEGeneralJointState_GetFeedbackForce1", _wrap_iODEGeneralJointState_GetFeedbackForce1},
{"cspacec::iODEGeneralJointState_GetFeedbackTorque1", _wrap_iODEGeneralJointState_GetFeedbackTorque1},
{"cspacec::iODEGeneralJointState_GetFeedbackForce2", _wrap_iODEGeneralJointState_GetFeedbackForce2},
{"cspacec::iODEGeneralJointState_GetFeedbackTorque2", _wrap_iODEGeneralJointState_GetFeedbackTorque2},
{"cspacec::delete_iODEGeneralJointState", _wrap_delete_iODEGeneralJointState},
{"cspacec::iODESliderJoint_SetSliderAxis", _wrap_iODESliderJoint_SetSliderAxis},
{"cspacec::iODESliderJoint_GetSliderAxis", _wrap_iODESliderJoint_GetSliderAxis},
{"cspacec::iODESliderJoint_GetSliderPosition", _wrap_iODESliderJoint_GetSliderPosition},
{"cspacec::iODESliderJoint_GetSliderPositionRate", _wrap_iODESliderJoint_GetSliderPositionRate},
{"cspacec::delete_iODESliderJoint", _wrap_delete_iODESliderJoint},
{"cspacec::iODESliderJoint_scfGetVersion", _wrap_iODESliderJoint_scfGetVersion},
{"cspacec::iODEUniversalJoint_SetUniversalAnchor", _wrap_iODEUniversalJoint_SetUniversalAnchor},
{"cspacec::iODEUniversalJoint_SetUniversalAxis1", _wrap_iODEUniversalJoint_SetUniversalAxis1},
{"cspacec::iODEUniversalJoint_SetUniversalAxis2", _wrap_iODEUniversalJoint_SetUniversalAxis2},
{"cspacec::iODEUniversalJoint_GetUniversalAnchor1", _wrap_iODEUniversalJoint_GetUniversalAnchor1},
{"cspacec::iODEUniversalJoint_GetUniversalAnchor2", _wrap_iODEUniversalJoint_GetUniversalAnchor2},
{"cspacec::iODEUniversalJoint_GetUniversalAxis1", _wrap_iODEUniversalJoint_GetUniversalAxis1},
{"cspacec::iODEUniversalJoint_GetUniversalAxis2", _wrap_iODEUniversalJoint_GetUniversalAxis2},
{"cspacec::delete_iODEUniversalJoint", _wrap_delete_iODEUniversalJoint},
{"cspacec::iODEUniversalJoint_scfGetVersion", _wrap_iODEUniversalJoint_scfGetVersion},
{"cspacec::iODEAMotorJoint_SetAMotorMode", _wrap_iODEAMotorJoint_SetAMotorMode},
{"cspacec::iODEAMotorJoint_GetAMotorMode", _wrap_iODEAMotorJoint_GetAMotorMode},
{"cspacec::iODEAMotorJoint_SetAMotorNumAxes", _wrap_iODEAMotorJoint_SetAMotorNumAxes},
{"cspacec::iODEAMotorJoint_GetAMotorNumAxes", _wrap_iODEAMotorJoint_GetAMotorNumAxes},
{"cspacec::iODEAMotorJoint_SetAMotorAxis", _wrap_iODEAMotorJoint_SetAMotorAxis},
{"cspacec::iODEAMotorJoint_GetAMotorAxis", _wrap_iODEAMotorJoint_GetAMotorAxis},
{"cspacec::iODEAMotorJoint_GetAMotorAxisRelOrientation", _wrap_iODEAMotorJoint_GetAMotorAxisRelOrientation},
{"cspacec::iODEAMotorJoint_SetAMotorAngle", _wrap_iODEAMotorJoint_SetAMotorAngle},
{"cspacec::iODEAMotorJoint_GetAMotorAngle", _wrap_iODEAMotorJoint_GetAMotorAngle},
{"cspacec::iODEAMotorJoint_GetAMotorAngleRate", _wrap_iODEAMotorJoint_GetAMotorAngleRate},
{"cspacec::delete_iODEAMotorJoint", _wrap_delete_iODEAMotorJoint},
{"cspacec::iODEAMotorJoint_scfGetVersion", _wrap_iODEAMotorJoint_scfGetVersion},
{"cspacec::iODEHinge2Joint_SetHingeAnchor", _wrap_iODEHinge2Joint_SetHingeAnchor},
{"cspacec::iODEHinge2Joint_SetHingeAxis1", _wrap_iODEHinge2Joint_SetHingeAxis1},
{"cspacec::iODEHinge2Joint_SetHingeAxis2", _wrap_iODEHinge2Joint_SetHingeAxis2},
{"cspacec::iODEHinge2Joint_GetHingeAnchor1", _wrap_iODEHinge2Joint_GetHingeAnchor1},
{"cspacec::iODEHinge2Joint_GetHingeAnchor2", _wrap_iODEHinge2Joint_GetHingeAnchor2},
{"cspacec::iODEHinge2Joint_GetHingeAxis1", _wrap_iODEHinge2Joint_GetHingeAxis1},
{"cspacec::iODEHinge2Joint_GetHingeAxis2", _wrap_iODEHinge2Joint_GetHingeAxis2},
{"cspacec::iODEHinge2Joint_GetHingeAngle", _wrap_iODEHinge2Joint_GetHingeAngle},
{"cspacec::iODEHinge2Joint_GetHingeAngleRate1", _wrap_iODEHinge2Joint_GetHingeAngleRate1},
{"cspacec::iODEHinge2Joint_GetHingeAngleRate2", _wrap_iODEHinge2Joint_GetHingeAngleRate2},
{"cspacec::iODEHinge2Joint_GetAnchorError", _wrap_iODEHinge2Joint_GetAnchorError},
{"cspacec::delete_iODEHinge2Joint", _wrap_delete_iODEHinge2Joint},
{"cspacec::iODEHingeJoint_SetHingeAnchor", _wrap_iODEHingeJoint_SetHingeAnchor},
{"cspacec::iODEHingeJoint_SetHingeAxis", _wrap_iODEHingeJoint_SetHingeAxis},
{"cspacec::iODEHingeJoint_GetHingeAnchor1", _wrap_iODEHingeJoint_GetHingeAnchor1},
{"cspacec::iODEHingeJoint_GetHingeAnchor2", _wrap_iODEHingeJoint_GetHingeAnchor2},
{"cspacec::iODEHingeJoint_GetHingeAxis", _wrap_iODEHingeJoint_GetHingeAxis},
{"cspacec::iODEHingeJoint_GetHingeAngle", _wrap_iODEHingeJoint_GetHingeAngle},
{"cspacec::iODEHingeJoint_GetHingeAngleRate", _wrap_iODEHingeJoint_GetHingeAngleRate},
{"cspacec::iODEHingeJoint_GetAnchorError", _wrap_iODEHingeJoint_GetAnchorError},
{"cspacec::delete_iODEHingeJoint", _wrap_delete_iODEHingeJoint},
{"cspacec::iODEHingeJoint_scfGetVersion", _wrap_iODEHingeJoint_scfGetVersion},
{"cspacec::iODEBallJoint_SetBallAnchor", _wrap_iODEBallJoint_SetBallAnchor},
{"cspacec::iODEBallJoint_GetBallAnchor1", _wrap_iODEBallJoint_GetBallAnchor1},
{"cspacec::iODEBallJoint_GetBallAnchor2", _wrap_iODEBallJoint_GetBallAnchor2},
{"cspacec::iODEBallJoint_GetAnchorError", _wrap_iODEBallJoint_GetAnchorError},
{"cspacec::iODEBallJoint_Attach", _wrap_iODEBallJoint_Attach},
{"cspacec::iODEBallJoint_GetAttachedBody", _wrap_iODEBallJoint_GetAttachedBody},
{"cspacec::iODEBallJoint_GetFeedbackForce1", _wrap_iODEBallJoint_GetFeedbackForce1},
{"cspacec::iODEBallJoint_GetFeedbackTorque1", _wrap_iODEBallJoint_GetFeedbackTorque1},
{"cspacec::iODEBallJoint_GetFeedbackForce2", _wrap_iODEBallJoint_GetFeedbackForce2},
{"cspacec::iODEBallJoint_GetFeedbackTorque2", _wrap_iODEBallJoint_GetFeedbackTorque2},
{"cspacec::delete_iODEBallJoint", _wrap_delete_iODEBallJoint},
{"cspacec::iODEBallJoint_scfGetVersion", _wrap_iODEBallJoint_scfGetVersion},
{"cspacec::iParameterESM_GetValue", _wrap_iParameterESM_GetValue},
{"cspacec::iParameterESM_IsConstant", _wrap_iParameterESM_IsConstant},
{"cspacec::delete_iParameterESM", _wrap_delete_iParameterESM},
{"cspacec::iEngineSequenceParameters_GetParameterCount", _wrap_iEngineSequenceParameters_GetParameterCount},
{"cspacec::iEngineSequenceParameters_GetParameter", _wrap_iEngineSequenceParameters_GetParameter},
{"cspacec::iEngineSequenceParameters_GetParameterIdx", _wrap_iEngineSequenceParameters_GetParameterIdx},
{"cspacec::iEngineSequenceParameters_GetParameterName", _wrap_iEngineSequenceParameters_GetParameterName},
{"cspacec::iEngineSequenceParameters_AddParameter", _wrap_iEngineSequenceParameters_AddParameter},
{"cspacec::iEngineSequenceParameters_SetParameter", _wrap_iEngineSequenceParameters_SetParameter},
{"cspacec::iEngineSequenceParameters_CreateParameterESM", _wrap_iEngineSequenceParameters_CreateParameterESM},
{"cspacec::delete_iEngineSequenceParameters", _wrap_delete_iEngineSequenceParameters},
{"cspacec::iSequenceWrapper_QueryObject", _wrap_iSequenceWrapper_QueryObject},
{"cspacec::iSequenceWrapper_GetSequence", _wrap_iSequenceWrapper_GetSequence},
{"cspacec::iSequenceWrapper_CreateBaseParameterBlock", _wrap_iSequenceWrapper_CreateBaseParameterBlock},
{"cspacec::iSequenceWrapper_GetBaseParameterBlock", _wrap_iSequenceWrapper_GetBaseParameterBlock},
{"cspacec::iSequenceWrapper_CreateParameterBlock", _wrap_iSequenceWrapper_CreateParameterBlock},
{"cspacec::iSequenceWrapper_AddOperationSetVariable", _wrap_iSequenceWrapper_AddOperationSetVariable},
{"cspacec::iSequenceWrapper_AddOperationSetMaterial", _wrap_iSequenceWrapper_AddOperationSetMaterial},
{"cspacec::iSequenceWrapper_AddOperationSetPolygonMaterial", _wrap_iSequenceWrapper_AddOperationSetPolygonMaterial},
{"cspacec::iSequenceWrapper_AddOperationSetLight", _wrap_iSequenceWrapper_AddOperationSetLight},
{"cspacec::iSequenceWrapper_AddOperationFadeLight", _wrap_iSequenceWrapper_AddOperationFadeLight},
{"cspacec::iSequenceWrapper_AddOperationSetAmbient", _wrap_iSequenceWrapper_AddOperationSetAmbient},
{"cspacec::iSequenceWrapper_AddOperationFadeAmbient", _wrap_iSequenceWrapper_AddOperationFadeAmbient},
{"cspacec::iSequenceWrapper_AddOperationRandomDelay", _wrap_iSequenceWrapper_AddOperationRandomDelay},
{"cspacec::iSequenceWrapper_AddOperationSetMeshColor", _wrap_iSequenceWrapper_AddOperationSetMeshColor},
{"cspacec::iSequenceWrapper_AddOperationFadeMeshColor", _wrap_iSequenceWrapper_AddOperationFadeMeshColor},
{"cspacec::iSequenceWrapper_AddOperationSetFog", _wrap_iSequenceWrapper_AddOperationSetFog},
{"cspacec::iSequenceWrapper_AddOperationFadeFog", _wrap_iSequenceWrapper_AddOperationFadeFog},
{"cspacec::iSequenceWrapper_AddOperationRotateDuration", _wrap_iSequenceWrapper_AddOperationRotateDuration},
{"cspacec::iSequenceWrapper_AddOperationMoveDuration", _wrap_iSequenceWrapper_AddOperationMoveDuration},
{"cspacec::iSequenceWrapper_AddOperationTriggerState", _wrap_iSequenceWrapper_AddOperationTriggerState},
{"cspacec::iSequenceWrapper_AddOperationCheckTrigger", _wrap_iSequenceWrapper_AddOperationCheckTrigger},
{"cspacec::iSequenceWrapper_AddOperationTestTrigger", _wrap_iSequenceWrapper_AddOperationTestTrigger},
{"cspacec::delete_iSequenceWrapper", _wrap_delete_iSequenceWrapper},
{"cspacec::iSequenceTrigger_QueryObject", _wrap_iSequenceTrigger_QueryObject},
{"cspacec::iSequenceTrigger_AddConditionInSector", _wrap_iSequenceTrigger_AddConditionInSector},
{"cspacec::iSequenceTrigger_AddConditionSectorVisible", _wrap_iSequenceTrigger_AddConditionSectorVisible},
{"cspacec::iSequenceTrigger_AddConditionMeshClick", _wrap_iSequenceTrigger_AddConditionMeshClick},
{"cspacec::iSequenceTrigger_AddConditionLightChange", _wrap_iSequenceTrigger_AddConditionLightChange},
{"cspacec::iSequenceTrigger_AddConditionManual", _wrap_iSequenceTrigger_AddConditionManual},
{"cspacec::iSequenceTrigger_SetEnabled", _wrap_iSequenceTrigger_SetEnabled},
{"cspacec::iSequenceTrigger_IsEnabled", _wrap_iSequenceTrigger_IsEnabled},
{"cspacec::iSequenceTrigger_ClearConditions", _wrap_iSequenceTrigger_ClearConditions},
{"cspacec::iSequenceTrigger_Trigger", _wrap_iSequenceTrigger_Trigger},
{"cspacec::iSequenceTrigger_SetParameters", _wrap_iSequenceTrigger_SetParameters},
{"cspacec::iSequenceTrigger_GetParameters", _wrap_iSequenceTrigger_GetParameters},
{"cspacec::iSequenceTrigger_FireSequence", _wrap_iSequenceTrigger_FireSequence},
{"cspacec::iSequenceTrigger_GetFiredSequence", _wrap_iSequenceTrigger_GetFiredSequence},
{"cspacec::iSequenceTrigger_TestConditions", _wrap_iSequenceTrigger_TestConditions},
{"cspacec::iSequenceTrigger_CheckState", _wrap_iSequenceTrigger_CheckState},
{"cspacec::iSequenceTrigger_ForceFire", _wrap_iSequenceTrigger_ForceFire},
{"cspacec::delete_iSequenceTrigger", _wrap_delete_iSequenceTrigger},
{"cspacec::iSequenceTimedOperation_Do", _wrap_iSequenceTimedOperation_Do},
{"cspacec::delete_iSequenceTimedOperation", _wrap_delete_iSequenceTimedOperation},
{"cspacec::iEngineSequenceManager_GetSequenceManager", _wrap_iEngineSequenceManager_GetSequenceManager},
{"cspacec::iEngineSequenceManager_CreateParameterESM", _wrap_iEngineSequenceManager_CreateParameterESM},
{"cspacec::iEngineSequenceManager_CreateTrigger", _wrap_iEngineSequenceManager_CreateTrigger},
{"cspacec::iEngineSequenceManager_RemoveTrigger", _wrap_iEngineSequenceManager_RemoveTrigger},
{"cspacec::iEngineSequenceManager_RemoveTriggers", _wrap_iEngineSequenceManager_RemoveTriggers},
{"cspacec::iEngineSequenceManager_GetTriggerCount", _wrap_iEngineSequenceManager_GetTriggerCount},
{"cspacec::iEngineSequenceManager_GetTrigger", _wrap_iEngineSequenceManager_GetTrigger},
{"cspacec::iEngineSequenceManager_FindTriggerByName", _wrap_iEngineSequenceManager_FindTriggerByName},
{"cspacec::iEngineSequenceManager_FireTriggerByName", _wrap_iEngineSequenceManager_FireTriggerByName},
{"cspacec::iEngineSequenceManager_CreateSequence", _wrap_iEngineSequenceManager_CreateSequence},
{"cspacec::iEngineSequenceManager_RemoveSequence", _wrap_iEngineSequenceManager_RemoveSequence},
{"cspacec::iEngineSequenceManager_RemoveSequences", _wrap_iEngineSequenceManager_RemoveSequences},
{"cspacec::iEngineSequenceManager_GetSequenceCount", _wrap_iEngineSequenceManager_GetSequenceCount},
{"cspacec::iEngineSequenceManager_GetSequence", _wrap_iEngineSequenceManager_GetSequence},
{"cspacec::iEngineSequenceManager_FindSequenceByName", _wrap_iEngineSequenceManager_FindSequenceByName},
{"cspacec::iEngineSequenceManager_RunSequenceByName", _wrap_iEngineSequenceManager_RunSequenceByName},
{"cspacec::iEngineSequenceManager_FireTimedOperation", _wrap_iEngineSequenceManager_FireTimedOperation},
{"cspacec::iEngineSequenceManager_DestroyTimedOperations", _wrap_iEngineSequenceManager_DestroyTimedOperations},
{"cspacec::delete_iEngineSequenceManager", _wrap_delete_iEngineSequenceManager},
{"cspacec::iMovieRecorder_Start", _wrap_iMovieRecorder_Start},
{"cspacec::iMovieRecorder_Stop", _wrap_iMovieRecorder_Stop},
{"cspacec::iMovieRecorder_IsRecording", _wrap_iMovieRecorder_IsRecording},
{"cspacec::iMovieRecorder_Pause", _wrap_iMovieRecorder_Pause},
{"cspacec::iMovieRecorder_UnPause", _wrap_iMovieRecorder_UnPause},
{"cspacec::iMovieRecorder_IsPaused", _wrap_iMovieRecorder_IsPaused},
{"cspacec::delete_iMovieRecorder", _wrap_delete_iMovieRecorder},
{"cspacec::iMovieRecorder_scfGetVersion", _wrap_iMovieRecorder_scfGetVersion},
{"cspacec::iMapNode_QueryObject", _wrap_iMapNode_QueryObject},
{"cspacec::iMapNode_SetPosition", _wrap_iMapNode_SetPosition},
{"cspacec::iMapNode_GetPosition", _wrap_iMapNode_GetPosition},
{"cspacec::iMapNode_SetXVector", _wrap_iMapNode_SetXVector},
{"cspacec::iMapNode_GetXVector", _wrap_iMapNode_GetXVector},
{"cspacec::iMapNode_SetYVector", _wrap_iMapNode_SetYVector},
{"cspacec::iMapNode_GetYVector", _wrap_iMapNode_GetYVector},
{"cspacec::iMapNode_SetZVector", _wrap_iMapNode_SetZVector},
{"cspacec::iMapNode_GetZVector", _wrap_iMapNode_GetZVector},
{"cspacec::iMapNode_SetSector", _wrap_iMapNode_SetSector},
{"cspacec::iMapNode_GetSector", _wrap_iMapNode_GetSector},
{"cspacec::delete_iMapNode", _wrap_delete_iMapNode},
{"cspacec::iMapNode_scfGetVersion", _wrap_iMapNode_scfGetVersion},
{"cspacec::iScriptObject_IsType", _wrap_iScriptObject_IsType},
{"cspacec::iScriptObject_GetPointer", _wrap_iScriptObject_GetPointer},
{"cspacec::iScriptObject_SetPointer", _wrap_iScriptObject_SetPointer},
{"cspacec::iScriptObject_IntCall", _wrap_iScriptObject_IntCall},
{"cspacec::iScriptObject_FloatCall", _wrap_iScriptObject_FloatCall},
{"cspacec::iScriptObject_DoubleCall", _wrap_iScriptObject_DoubleCall},
{"cspacec::iScriptObject_Call", _wrap_iScriptObject_Call},
{"cspacec::iScriptObject_ObjectCall", _wrap_iScriptObject_ObjectCall},
{"cspacec::iScriptObject_SetInt", _wrap_iScriptObject_SetInt},
{"cspacec::iScriptObject_SetFloat", _wrap_iScriptObject_SetFloat},
{"cspacec::iScriptObject_SetDouble", _wrap_iScriptObject_SetDouble},
{"cspacec::iScriptObject_SetString", _wrap_iScriptObject_SetString},
{"cspacec::iScriptObject_Set", _wrap_iScriptObject_Set},
{"cspacec::iScriptObject_SetTruth", _wrap_iScriptObject_SetTruth},
{"cspacec::iScriptObject_Get", _wrap_iScriptObject_Get},
{"cspacec::iScriptObject_GetTruth", _wrap_iScriptObject_GetTruth},
{"cspacec::delete_iScriptObject", _wrap_delete_iScriptObject},
{"cspacec::iScriptObject_scfGetVersion", _wrap_iScriptObject_scfGetVersion},
{"cspacec::iScript_Initialize", _wrap_iScript_Initialize},
{"cspacec::iScript_RunText", _wrap_iScript_RunText},
{"cspacec::iScript_LoadModule", _wrap_iScript_LoadModule},
{"cspacec::iScript_IntCall", _wrap_iScript_IntCall},
{"cspacec::iScript_FloatCall", _wrap_iScript_FloatCall},
{"cspacec::iScript_DoubleCall", _wrap_iScript_DoubleCall},
{"cspacec::iScript_Call", _wrap_iScript_Call},
{"cspacec::iScript_ObjectCall", _wrap_iScript_ObjectCall},
{"cspacec::iScript_NewObject", _wrap_iScript_NewObject},
{"cspacec::iScript_StoreInt", _wrap_iScript_StoreInt},
{"cspacec::iScript_StoreFloat", _wrap_iScript_StoreFloat},
{"cspacec::iScript_StoreDouble", _wrap_iScript_StoreDouble},
{"cspacec::iScript_StoreString", _wrap_iScript_StoreString},
{"cspacec::iScript_Store", _wrap_iScript_Store},
{"cspacec::iScript_SetTruth", _wrap_iScript_SetTruth},
{"cspacec::iScript_Retrieve", _wrap_iScript_Retrieve},
{"cspacec::iScript_GetTruth", _wrap_iScript_GetTruth},
{"cspacec::iScript_Remove", _wrap_iScript_Remove},
{"cspacec::delete_iScript", _wrap_delete_iScript},
{"cspacec::iScript_scfGetVersion", _wrap_iScript_scfGetVersion},
{"cspacec::iSimpleFormerState_SetHeightmap", _wrap_iSimpleFormerState_SetHeightmap},
{"cspacec::iSimpleFormerState_SetScale", _wrap_iSimpleFormerState_SetScale},
{"cspacec::iSimpleFormerState_SetOffset", _wrap_iSimpleFormerState_SetOffset},
{"cspacec::iSimpleFormerState_SetIntegerMap", _wrap_iSimpleFormerState_SetIntegerMap},
{"cspacec::iSimpleFormerState_SetFloatMap", _wrap_iSimpleFormerState_SetFloatMap},
{"cspacec::iSimpleFormerState_GetFloatMap", _wrap_iSimpleFormerState_GetFloatMap},
{"cspacec::iSimpleFormerState_SetMaterialScale", _wrap_iSimpleFormerState_SetMaterialScale},
{"cspacec::delete_iSimpleFormerState", _wrap_delete_iSimpleFormerState},
{"cspacec::iSimpleFormerState_scfGetVersion", _wrap_iSimpleFormerState_scfGetVersion},
{"cspacec::iTerraFormer_GetSampler", _wrap_iTerraFormer_GetSampler},
{"cspacec::iTerraFormer_GetIntegerMapSize", _wrap_iTerraFormer_GetIntegerMapSize},
{"cspacec::iTerraFormer_SampleFloat", _wrap_iTerraFormer_SampleFloat},
{"cspacec::iTerraFormer_SampleVector2", _wrap_iTerraFormer_SampleVector2},
{"cspacec::iTerraFormer_SampleVector3", _wrap_iTerraFormer_SampleVector3},
{"cspacec::iTerraFormer_SampleInteger", _wrap_iTerraFormer_SampleInteger},
{"cspacec::iTerraFormer_QueryObject", _wrap_iTerraFormer_QueryObject},
{"cspacec::delete_iTerraFormer", _wrap_delete_iTerraFormer},
{"cspacec::iTerraFormer_scfGetVersion", _wrap_iTerraFormer_scfGetVersion},
{"cspacec::iTerraSampler_SampleFloat", _wrap_iTerraSampler_SampleFloat},
{"cspacec::iTerraSampler_SampleVector2", _wrap_iTerraSampler_SampleVector2},
{"cspacec::iTerraSampler_SampleVector3", _wrap_iTerraSampler_SampleVector3},
{"cspacec::iTerraSampler_SampleInteger", _wrap_iTerraSampler_SampleInteger},
{"cspacec::iTerraSampler_GetMaterialPalette", _wrap_iTerraSampler_GetMaterialPalette},
{"cspacec::iTerraSampler_GetRegion", _wrap_iTerraSampler_GetRegion},
{"cspacec::iTerraSampler_GetResolution", _wrap_iTerraSampler_GetResolution},
{"cspacec::iTerraSampler_GetVersion", _wrap_iTerraSampler_GetVersion},
{"cspacec::iTerraSampler_Cleanup", _wrap_iTerraSampler_Cleanup},
{"cspacec::delete_iTerraSampler", _wrap_delete_iTerraSampler},
{"cspacec::iTerraSampler_scfGetVersion", _wrap_iTerraSampler_scfGetVersion},
{"cspacec::new_csObject", _wrap_new_csObject},
{"cspacec::delete_csObject", _wrap_delete_csObject},
{"cspacec::csObject_SetName", _wrap_csObject_SetName},
{"cspacec::csObject_GetName", _wrap_csObject_GetName},
{"cspacec::csObject_GetID", _wrap_csObject_GetID},
{"cspacec::csObject_SetObjectParent", _wrap_csObject_SetObjectParent},
{"cspacec::csObject_GetObjectParent", _wrap_csObject_GetObjectParent},
{"cspacec::csObject_ObjAdd", _wrap_csObject_ObjAdd},
{"cspacec::csObject_ObjRemove", _wrap_csObject_ObjRemove},
{"cspacec::csObject_ObjRemoveAll", _wrap_csObject_ObjRemoveAll},
{"cspacec::csObject_ObjAddChildren", _wrap_csObject_ObjAddChildren},
{"cspacec::csObject_GetChild", _wrap_csObject_GetChild},
{"cspacec::csObject_GetIterator", _wrap_csObject_GetIterator},
{"cspacec::csObject_AddNameChangeListener", _wrap_csObject_AddNameChangeListener},
{"cspacec::csObject_RemoveNameChangeListener", _wrap_csObject_RemoveNameChangeListener},
{"cspacec::csObject_ObjReleaseOld", _wrap_csObject_ObjReleaseOld},
{"cspacec::new_csColliderWrapper", _wrap_new_csColliderWrapper},
{"cspacec::delete_csColliderWrapper", _wrap_delete_csColliderWrapper},
{"cspacec::csColliderWrapper_GetCollider", _wrap_csColliderWrapper_GetCollider},
{"cspacec::csColliderWrapper_GetCollideSystem", _wrap_csColliderWrapper_GetCollideSystem},
{"cspacec::csColliderWrapper_Collide", _wrap_csColliderWrapper_Collide},
{"cspacec::csColliderWrapper_GetColliderWrapper", _wrap_csColliderWrapper_GetColliderWrapper},
{"cspacec::csTraceBeamResult_closest_tri_set", _wrap_csTraceBeamResult_closest_tri_set},
{"cspacec::csTraceBeamResult_closest_tri_get", _wrap_csTraceBeamResult_closest_tri_get},
{"cspacec::csTraceBeamResult_closest_isect_set", _wrap_csTraceBeamResult_closest_isect_set},
{"cspacec::csTraceBeamResult_closest_isect_get", _wrap_csTraceBeamResult_closest_isect_get},
{"cspacec::csTraceBeamResult_closest_mesh_set", _wrap_csTraceBeamResult_closest_mesh_set},
{"cspacec::csTraceBeamResult_closest_mesh_get", _wrap_csTraceBeamResult_closest_mesh_get},
{"cspacec::csTraceBeamResult_sqdistance_set", _wrap_csTraceBeamResult_sqdistance_set},
{"cspacec::csTraceBeamResult_sqdistance_get", _wrap_csTraceBeamResult_sqdistance_get},
{"cspacec::csTraceBeamResult_end_sector_set", _wrap_csTraceBeamResult_end_sector_set},
{"cspacec::csTraceBeamResult_end_sector_get", _wrap_csTraceBeamResult_end_sector_get},
{"cspacec::new_csTraceBeamResult", _wrap_new_csTraceBeamResult},
{"cspacec::delete_csTraceBeamResult", _wrap_delete_csTraceBeamResult},
{"cspacec::csColliderHelper_InitializeCollisionWrapper", _wrap_csColliderHelper_InitializeCollisionWrapper},
{"cspacec::csColliderHelper_InitializeCollisionWrappers", _wrap_csColliderHelper_InitializeCollisionWrappers},
{"cspacec::csColliderHelper_CollideArray", _wrap_csColliderHelper_CollideArray},
{"cspacec::csColliderHelper_CollidePath", _wrap_csColliderHelper_CollidePath},
{"cspacec::csColliderHelper_TraceBeam", _wrap_csColliderHelper_TraceBeam},
{"cspacec::new_csColliderHelper", _wrap_new_csColliderHelper},
{"cspacec::delete_csColliderHelper", _wrap_delete_csColliderHelper},
{"cspacec::new_csColliderActor", _wrap_new_csColliderActor},
{"cspacec::csColliderActor_SetCollideSystem", _wrap_csColliderActor_SetCollideSystem},
{"cspacec::csColliderActor_SetEngine", _wrap_csColliderActor_SetEngine},
{"cspacec::csColliderActor_InitializeColliders", _wrap_csColliderActor_InitializeColliders},
{"cspacec::csColliderActor_SetCamera", _wrap_csColliderActor_SetCamera},
{"cspacec::csColliderActor_SetGravity", _wrap_csColliderActor_SetGravity},
{"cspacec::csColliderActor_GetGravity", _wrap_csColliderActor_GetGravity},
{"cspacec::csColliderActor_IsOnGround", _wrap_csColliderActor_IsOnGround},
{"cspacec::csColliderActor_SetOnGround", _wrap_csColliderActor_SetOnGround},
{"cspacec::csColliderActor_HasCD", _wrap_csColliderActor_HasCD},
{"cspacec::csColliderActor_SetCD", _wrap_csColliderActor_SetCD},
{"cspacec::csColliderActor_CheckRevertMove", _wrap_csColliderActor_CheckRevertMove},
{"cspacec::csColliderActor_EnableHitMeshes", _wrap_csColliderActor_EnableHitMeshes},
{"cspacec::csColliderActor_CheckHitMeshes", _wrap_csColliderActor_CheckHitMeshes},
{"cspacec::csColliderActor_GetHitMeshes", _wrap_csColliderActor_GetHitMeshes},
{"cspacec::csColliderActor_Move", _wrap_csColliderActor_Move},
{"cspacec::csColliderActor_GetRotation", _wrap_csColliderActor_GetRotation},
{"cspacec::csColliderActor_SetRotation", _wrap_csColliderActor_SetRotation},
{"cspacec::csColliderActor_AdjustForCollisions", _wrap_csColliderActor_AdjustForCollisions},
{"cspacec::delete_csColliderActor", _wrap_delete_csColliderActor},
{"cspacec::new_csView", _wrap_new_csView},
{"cspacec::delete_csView", _wrap_delete_csView},
{"cspacec::csView_GetEngine", _wrap_csView_GetEngine},
{"cspacec::csView_SetEngine", _wrap_csView_SetEngine},
{"cspacec::csView_GetCamera", _wrap_csView_GetCamera},
{"cspacec::csView_SetCamera", _wrap_csView_SetCamera},
{"cspacec::csView_GetContext", _wrap_csView_GetContext},
{"cspacec::csView_SetContext", _wrap_csView_SetContext},
{"cspacec::csView_SetRectangle", _wrap_csView_SetRectangle},
{"cspacec::csView_ClearView", _wrap_csView_ClearView},
{"cspacec::csView_AddViewVertex", _wrap_csView_AddViewVertex},
{"cspacec::csView_RestrictClipperToScreen", _wrap_csView_RestrictClipperToScreen},
{"cspacec::csView_SetAutoResize", _wrap_csView_SetAutoResize},
{"cspacec::csView_UpdateClipper", _wrap_csView_UpdateClipper},
{"cspacec::csView_GetClipper", _wrap_csView_GetClipper},
{"cspacec::csView_Draw", _wrap_csView_Draw},
{"cspacec::csfxInterference", _wrap_csfxInterference},
{"cspacec::csfxFadeOut", _wrap_csfxFadeOut},
{"cspacec::csfxFadeTo", _wrap_csfxFadeTo},
{"cspacec::csfxFadeToColor", _wrap_csfxFadeToColor},
{"cspacec::csfxGreenScreen", _wrap_csfxGreenScreen},
{"cspacec::csfxRedScreen", _wrap_csfxRedScreen},
{"cspacec::csfxBlueScreen", _wrap_csfxBlueScreen},
{"cspacec::csfxWhiteOut", _wrap_csfxWhiteOut},
{"cspacec::csfxShadeVert", _wrap_csfxShadeVert},
{"cspacec::csfxScreenDPFX", _wrap_csfxScreenDPFX},
{"cspacec::csfxScreenDPFXPartial", _wrap_csfxScreenDPFXPartial},
{"cspacec::new_csPixmap", _wrap_new_csPixmap},
{"cspacec::delete_csPixmap", _wrap_delete_csPixmap},
{"cspacec::csPixmap_SetTextureHandle", _wrap_csPixmap_SetTextureHandle},
{"cspacec::csPixmap_SetTextureRectangle", _wrap_csPixmap_SetTextureRectangle},
{"cspacec::csPixmap_DrawScaled", _wrap_csPixmap_DrawScaled},
{"cspacec::csPixmap_DrawTiled", _wrap_csPixmap_DrawTiled},
{"cspacec::csPixmap_Width", _wrap_csPixmap_Width},
{"cspacec::csPixmap_Height", _wrap_csPixmap_Height},
{"cspacec::csPixmap_Advance", _wrap_csPixmap_Advance},
{"cspacec::csPixmap_GetTextureHandle", _wrap_csPixmap_GetTextureHandle},
{"cspacec::CS_IS_KEYBOARD_EVENT", _wrap_CS_IS_KEYBOARD_EVENT},
{"cspacec::CS_IS_MOUSE_EVENT", _wrap_CS_IS_MOUSE_EVENT},
{"cspacec::CS_IS_JOYSTICK_EVENT", _wrap_CS_IS_JOYSTICK_EVENT},
{"cspacec::CS_IS_INPUT_EVENT", _wrap_CS_IS_INPUT_EVENT},
{"cspacec::csevAllEvents", _wrap_csevAllEvents},
{"cspacec::csevFrame", _wrap_csevFrame},
{"cspacec::csevInput", _wrap_csevInput},
{"cspacec::csevQuit", _wrap_csevQuit},
{"cspacec::csevKeyboardEvent", _wrap_csevKeyboardEvent},
{"cspacec::csevKeyboardDown", _wrap_csevKeyboardDown},
{"cspacec::csevKeyboardUp", _wrap_csevKeyboardUp},
{"cspacec::csevMouseEvent", _wrap_csevMouseEvent},
{"cspacec::csevMouseButton", _wrap_csevMouseButton},
{"cspacec::csevMouseUp", _wrap_csevMouseUp},
{"cspacec::csevMouseDown", _wrap_csevMouseDown},
{"cspacec::csevMouseClick", _wrap_csevMouseClick},
{"cspacec::csevMouseDoubleClick", _wrap_csevMouseDoubleClick},
{"cspacec::csevMouseMove", _wrap_csevMouseMove},
{"cspacec::csevJoystickEvent", _wrap_csevJoystickEvent},
{"cspacec::CS_QUERY_REGISTRY_TAG", _wrap_CS_QUERY_REGISTRY_TAG},
{"cspacec::CS_LOAD_PLUGIN_ALWAYS", _wrap_CS_LOAD_PLUGIN_ALWAYS},
{"cspacec::CS_FX_SETALPHA", _wrap_CS_FX_SETALPHA},
{"cspacec::CS_FX_SETALPHA_INT", _wrap_CS_FX_SETALPHA_INT},
{"cspacec::CS_QUERY_REGISTRY", _wrap_CS_QUERY_REGISTRY},
{"cspacec::CS_QUERY_REGISTRY_TAG_INTERFACE", _wrap_CS_QUERY_REGISTRY_TAG_INTERFACE},
{"cspacec::SCF_QUERY_INTERFACE", _wrap_SCF_QUERY_INTERFACE},
{"cspacec::SCF_QUERY_INTERFACE_SAFE", _wrap_SCF_QUERY_INTERFACE_SAFE},
{"cspacec::CS_QUERY_PLUGIN_CLASS", _wrap_CS_QUERY_PLUGIN_CLASS},
{"cspacec::CS_LOAD_PLUGIN", _wrap_CS_LOAD_PLUGIN},
{"cspacec::CS_GET_CHILD_OBJECT", _wrap_CS_GET_CHILD_OBJECT},
{"cspacec::CS_GET_NAMED_CHILD_OBJECT", _wrap_CS_GET_NAMED_CHILD_OBJECT},
{"cspacec::CS_GET_FIRST_NAMED_CHILD_OBJECT", _wrap_CS_GET_FIRST_NAMED_CHILD_OBJECT},
{"cspacec::AUTOLOAD", Autoload},
{"cspacec::csInitializer_SetupEventHandler", pl_csInitializer_SetupEventHandler},
{"cspacec::csInitializer_RequestPlugins", _csInitializer_RequestPlugins},
{"cspacec::CS_REQUEST_PLUGIN", _wrap_CS_REQUEST_PLUGIN},
{"cspacec::CS_REQUEST_VFS", _wrap_CS_REQUEST_VFS},
{"cspacec::CS_REQUEST_FONTSERVER", _wrap_CS_REQUEST_FONTSERVER},
{"cspacec::CS_REQUEST_IMAGELOADER", _wrap_CS_REQUEST_IMAGELOADER},
{"cspacec::CS_REQUEST_NULL3D", _wrap_CS_REQUEST_NULL3D},
{"cspacec::CS_REQUEST_SOFTWARE3D", _wrap_CS_REQUEST_SOFTWARE3D},
{"cspacec::CS_REQUEST_OPENGL3D", _wrap_CS_REQUEST_OPENGL3D},
{"cspacec::CS_REQUEST_ENGINE", _wrap_CS_REQUEST_ENGINE},
{"cspacec::CS_REQUEST_LEVELLOADER", _wrap_CS_REQUEST_LEVELLOADER},
{"cspacec::CS_REQUEST_LEVELSAVER", _wrap_CS_REQUEST_LEVELSAVER},
{"cspacec::CS_REQUEST_REPORTER", _wrap_CS_REQUEST_REPORTER},
{"cspacec::CS_REQUEST_REPORTERLISTENER", _wrap_CS_REQUEST_REPORTERLISTENER},
{"cspacec::CS_REQUEST_CONSOLEOUT", _wrap_CS_REQUEST_CONSOLEOUT},
{"cspacec::iCollideSystem_GetCollisionPairs", _GetCollisionPairs},
{"cspacec::CS_VEC_FORWARD", _wrap_CS_VEC_FORWARD},
{"cspacec::CS_VEC_BACKWARD", _wrap_CS_VEC_BACKWARD},
{"cspacec::CS_VEC_RIGHT", _wrap_CS_VEC_RIGHT},
{"cspacec::CS_VEC_LEFT", _wrap_CS_VEC_LEFT},
{"cspacec::CS_VEC_UP", _wrap_CS_VEC_UP},
{"cspacec::CS_VEC_DOWN", _wrap_CS_VEC_DOWN},
{"cspacec::CS_VEC_ROT_RIGHT", _wrap_CS_VEC_ROT_RIGHT},
{"cspacec::CS_VEC_ROT_LEFT", _wrap_CS_VEC_ROT_LEFT},
{"cspacec::CS_VEC_TILT_RIGHT", _wrap_CS_VEC_TILT_RIGHT},
{"cspacec::CS_VEC_TILT_LEFT", _wrap_CS_VEC_TILT_LEFT},
{"cspacec::CS_VEC_TILT_UP", _wrap_CS_VEC_TILT_UP},
{"cspacec::CS_VEC_TILT_DOWN", _wrap_CS_VEC_TILT_DOWN},
{0,0}
};
/* -----------------------------------------------------------------------------
 * 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 though 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;
  static int init_run = 0;
  
  clientdata = clientdata;
  
  if (init_run) return;
  init_run = 1;
  
  /* Initialize the swig_module */
  swig_module.type_initial = swig_type_initial;
  swig_module.cast_initial = swig_cast_initial;
  
  /* Try and load any already created modules */
  module_head = SWIG_GetModule(clientdata);
  if (module_head) {
    swig_module.next = module_head->next;
    module_head->next = &swig_module;
  } else {
    /* This is the first module loaded */
    swig_module.next = &swig_module;
    SWIG_SetModule(clientdata, &swig_module);
  }
  
  /* 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

XS(SWIG_init) {
  dXSARGS;
  int i;
  
  SWIG_InitializeModule(0);
  
  /* Install commands */
  for (i = 0; swig_commands[i].name; i++) {
    newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__);
  }
  
  /* Install variables */
  for (i = 0; swig_variables[i].name; i++) {
    SV *sv;
    sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2);
    if (swig_variables[i].type) {
      SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
    } else {
      sv_setiv(sv,(IV) 0);
    }
    swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); 
  }
  
  /* Install constant */
  for (i = 0; swig_constants[i].type; i++) {
    SV *sv;
    sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2);
    switch(swig_constants[i].type) {
    case SWIG_INT:
      sv_setiv(sv, (IV) swig_constants[i].lvalue);
      break;
    case SWIG_FLOAT:
      sv_setnv(sv, (double) swig_constants[i].dvalue);
      break;
    case SWIG_STRING:
      sv_setpv(sv, (char *) swig_constants[i].pvalue);
      break;
    case SWIG_POINTER:
      SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
      break;
    case SWIG_BINARY:
      SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
      break;
    default:
      break;
    }
    SvREADONLY_on(sv);
  }
  
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_WCHAR_T_SIZE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csWrapPtr, (void*) "cspace::csWrapPtr");
  SWIG_TypeClientData(SWIGTYPE_p_csArrayThresholdVariable, (void*) "cspace::csArrayThresholdVariable");
  SWIG_TypeClientData(SWIGTYPE_p_csArrayCapacityLinearTcsArrayThresholdVariable_t, (void*) "cspace::csArrayThresholdVariableCapacityLinear");
  SWIG_TypeClientData(SWIGTYPE_p_csArrayCapacityDefault, (void*) "cspace::csArrayCapacityDefault");
  SWIG_TypeClientData(SWIGTYPE_p_iBase, (void*) "cspace::iBase");
  SWIG_TypeClientData(SWIGTYPE_p_iSCF, (void*) "cspace::iSCF");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SCF_STATIC_CLASS_CONTEXT", TRUE | 0x2);
    sv_setsv(sv, SWIG_FromCharPtr("*static*"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iFactory, (void*) "cspace::iFactory");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SCF_VERBOSE_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SCF_VERBOSE_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SCF_VERBOSE_PLUGIN_SCAN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SCF_VERBOSE_PLUGIN_SCAN)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SCF_VERBOSE_PLUGIN_LOAD", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SCF_VERBOSE_PLUGIN_LOAD)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SCF_VERBOSE_PLUGIN_REGISTER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SCF_VERBOSE_PLUGIN_REGISTER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SCF_VERBOSE_CLASS_REGISTER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SCF_VERBOSE_CLASS_REGISTER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SCF_VERBOSE_ALL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SCF_VERBOSE_ALL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_DBGHELP_UNITTEST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_DBGHELP_BENCHMARK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_DBGHELP_TXTDUMP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_DBGHELP_GFXDUMP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(8)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_DBGHELP_STATETEST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(16)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iDebugHelper, (void*) "cspace::iDebugHelper");
  SWIG_TypeClientData(SWIGTYPE_p_iCommandLineParser, (void*) "cspace::iCommandLineParser");
  SWIG_TypeClientData(SWIGTYPE_p_csColor, (void*) "cspace::csColor");
  SWIG_TypeClientData(SWIGTYPE_p_csColor4, (void*) "cspace::csColor4");
  SWIG_TypeClientData(SWIGTYPE_p_csCommandLineHelper, (void*) "cspace::csCommandLineHelper");
  SWIG_TypeClientData(SWIGTYPE_p_csStringSet, (void*) "cspace::csStringSet");
  SWIG_TypeClientData(SWIGTYPE_p_csSetTunsigned_long_CS__Memory__AllocatorMalloc_t, (void*) "cspace::csStringIDSet");
  SWIG_TypeClientData(SWIGTYPE_p_iString, (void*) "cspace::iString");
  SWIG_TypeClientData(SWIGTYPE_p_csString, (void*) "cspace::csString");
  SWIG_TypeClientData(SWIGTYPE_p_csRefCount, (void*) "cspace::csRefCount");
  SWIG_TypeClientData(SWIGTYPE_p_csVector2, (void*) "cspace::csVector2");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_AXIS_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_AXIS_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_AXIS_X", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_AXIS_X)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_AXIS_Y", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_AXIS_Y)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_AXIS_Z", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_AXIS_Z)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_AXIS_W", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_AXIS_W)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csVector3, (void*) "cspace::csVector3");
  SWIG_TypeClientData(SWIGTYPE_p_csMatrix2, (void*) "cspace::csMatrix2");
  SWIG_TypeClientData(SWIGTYPE_p_csMatrix3, (void*) "cspace::csMatrix3");
  SWIG_TypeClientData(SWIGTYPE_p_csXRotMatrix3, (void*) "cspace::csXRotMatrix3");
  SWIG_TypeClientData(SWIGTYPE_p_csYRotMatrix3, (void*) "cspace::csYRotMatrix3");
  SWIG_TypeClientData(SWIGTYPE_p_csZRotMatrix3, (void*) "cspace::csZRotMatrix3");
  SWIG_TypeClientData(SWIGTYPE_p_csXScaleMatrix3, (void*) "cspace::csXScaleMatrix3");
  SWIG_TypeClientData(SWIGTYPE_p_csYScaleMatrix3, (void*) "cspace::csYScaleMatrix3");
  SWIG_TypeClientData(SWIGTYPE_p_csZScaleMatrix3, (void*) "cspace::csZScaleMatrix3");
  SWIG_TypeClientData(SWIGTYPE_p_csTransform, (void*) "cspace::csTransform");
  SWIG_TypeClientData(SWIGTYPE_p_csReversibleTransform, (void*) "cspace::csReversibleTransform");
  SWIG_TypeClientData(SWIGTYPE_p_csOrthoTransform, (void*) "cspace::csOrthoTransform");
  SWIG_TypeClientData(SWIGTYPE_p_csSphere, (void*) "cspace::csSphere");
  SWIG_TypeClientData(SWIGTYPE_p_csEllipsoid, (void*) "cspace::csEllipsoid");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLY_IN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLY_IN)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLY_ON", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLY_ON)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLY_OUT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLY_OUT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csPlane2, (void*) "cspace::csPlane2");
  SWIG_TypeClientData(SWIGTYPE_p_csPlane3, (void*) "cspace::csPlane3");
  SWIG_TypeClientData(SWIGTYPE_p_csMath2, (void*) "cspace::csMath2");
  SWIG_TypeClientData(SWIGTYPE_p_csIntersect2, (void*) "cspace::csIntersect2");
  SWIG_TypeClientData(SWIGTYPE_p_csPoly2D, (void*) "cspace::csPoly2D");
  SWIG_TypeClientData(SWIGTYPE_p_csPoly2DFactory, (void*) "cspace::csPoly2DFactory");
  SWIG_TypeClientData(SWIGTYPE_p_csMath3, (void*) "cspace::csMath3");
  SWIG_TypeClientData(SWIGTYPE_p_csSquaredDist, (void*) "cspace::csSquaredDist");
  SWIG_TypeClientData(SWIGTYPE_p_csIntersect3, (void*) "cspace::csIntersect3");
  SWIG_TypeClientData(SWIGTYPE_p_csGeomDebugHelper, (void*) "cspace::csGeomDebugHelper");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POL_SAME_PLANE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POL_SAME_PLANE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POL_FRONT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POL_FRONT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POL_BACK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POL_BACK)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POL_SPLIT_NEEDED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POL_SPLIT_NEEDED)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csPoly3D, (void*) "cspace::csPoly3D");
  SWIG_TypeClientData(SWIGTYPE_p_csCompressVertex, (void*) "cspace::csCompressVertex");
  SWIG_TypeClientData(SWIGTYPE_p_csVector3Array, (void*) "cspace::csVector3Array");
  SWIG_TypeClientData(SWIGTYPE_p_csTriangle, (void*) "cspace::csTriangle");
  SWIG_TypeClientData(SWIGTYPE_p_csRect, (void*) "cspace::csRect");
  SWIG_TypeClientData(SWIGTYPE_p_csRectRegion, (void*) "cspace::csRectRegion");
  SWIG_TypeClientData(SWIGTYPE_p_csQuaternion, (void*) "cspace::csQuaternion");
  SWIG_TypeClientData(SWIGTYPE_p_csSpline, (void*) "cspace::csSpline");
  SWIG_TypeClientData(SWIGTYPE_p_csCubicSpline, (void*) "cspace::csCubicSpline");
  SWIG_TypeClientData(SWIGTYPE_p_csBSpline, (void*) "cspace::csBSpline");
  SWIG_TypeClientData(SWIGTYPE_p_csCatmullRomSpline, (void*) "cspace::csCatmullRomSpline");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOUNDINGBOX_MAXVALUE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_double  SWIG_PERL_CALL_ARGS_1(static_cast< double >(1000000000.)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_xy", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_xy)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_xY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_xY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_Xy", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_Xy)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_XY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_XY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CENTER2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CENTER2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xy_Xy", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xy_Xy)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_Xy_xy", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_Xy_xy)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_Xy_XY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_Xy_XY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XY_Xy", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XY_Xy)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XY_xY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XY_xY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xY_XY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xY_XY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xY_xy", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xY_xy)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xy_xY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xy_xY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csBox2, (void*) "cspace::csBox2");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_xyz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_xyz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_xyZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_xyZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_xYz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_xYz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_xYZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_xYZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_Xyz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_Xyz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_XyZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_XyZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_XYz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_XYz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CORNER_XYZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CORNER_XYZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_CENTER3", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_CENTER3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_SIDE_x", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_SIDE_x)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_SIDE_X", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_SIDE_X)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_SIDE_y", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_SIDE_y)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_SIDE_Y", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_SIDE_Y)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_SIDE_z", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_SIDE_z)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_SIDE_Z", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_SIDE_Z)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_INSIDE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_INSIDE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_Xyz_xyz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_Xyz_xyz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xyz_Xyz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xyz_Xyz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xyz_xYz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xyz_xYz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xYz_xyz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xYz_xyz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xYz_XYz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xYz_XYz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XYz_xYz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XYz_xYz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XYz_Xyz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XYz_Xyz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_Xyz_XYz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_Xyz_XYz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_Xyz_XyZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_Xyz_XyZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XyZ_Xyz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XyZ_Xyz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XyZ_XYZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XyZ_XYZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XYZ_XyZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XYZ_XyZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XYZ_XYz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XYZ_XYz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XYz_XYZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XYz_XYZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XYZ_xYZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XYZ_xYZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xYZ_XYZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xYZ_XYZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xYZ_xYz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xYZ_xYz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xYz_xYZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xYz_xYZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xYZ_xyZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xYZ_xyZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xyZ_xYZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xyZ_xYZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xyZ_xyz", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xyZ_xyz)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xyz_xyZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xyz_xyZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_xyZ_XyZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_xyZ_XyZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BOX_EDGE_XyZ_xyZ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BOX_EDGE_XyZ_xyZ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csBox3, (void*) "cspace::csBox3");
  SWIG_TypeClientData(SWIGTYPE_p_csSegment2, (void*) "cspace::csSegment2");
  SWIG_TypeClientData(SWIGTYPE_p_csSegment3, (void*) "cspace::csSegment3");
  SWIG_TypeClientData(SWIGTYPE_p_csRGBcolor, (void*) "cspace::csRGBcolor");
  SWIG_TypeClientData(SWIGTYPE_p_csRGBpixel, (void*) "cspace::csRGBpixel");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "R_COEF", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(173)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G_COEF", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(242)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "B_COEF", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(107)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "R_COEF_SQ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(299)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G_COEF_SQ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(587)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "B_COEF_SQ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(114)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iShaderVariableAccessor, (void*) "cspace::iShaderVariableAccessor");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_UNKNOWN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::UNKNOWN)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_INT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::INT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_FLOAT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::FLOAT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_TEXTURE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::TEXTURE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_RENDERBUFFER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::RENDERBUFFER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_VECTOR2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::VECTOR2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_VECTOR3", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::VECTOR3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_VECTOR4", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::VECTOR4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_MATRIX", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::MATRIX)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_TRANSFORM", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::TRANSFORM)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_ARRAY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::ARRAY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csShaderVariable_COLOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csShaderVariable::COLOR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csShaderVariable, (void*) "cspace::csShaderVariable");
  SWIG_TypeClientData(SWIGTYPE_p_iArrayReadOnlyTcsShaderVariable_p_t, (void*) "cspace::csShaderVariableArrayReadOnly");
  SWIG_TypeClientData(SWIGTYPE_p_iArrayChangeElementsTcsShaderVariable_p_t, (void*) "cspace::csShaderVariableArrayChangeElements");
  SWIG_TypeClientData(SWIGTYPE_p_iArrayChangeAllTcsShaderVariable_p_t, (void*) "cspace::csShaderVariableArray");
  SWIG_TypeClientData(SWIGTYPE_p_csPluginRequest, (void*) "cspace::csPluginRequest");
  SWIG_TypeClientData(SWIGTYPE_p_csInitializer, (void*) "cspace::csInitializer");
  SWIG_TypeClientData(SWIGTYPE_p_csArrayTcsPluginRequest_csArrayElementHandlerTcsPluginRequest_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, (void*) "cspace::csPluginRequestArray");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsKey, (void*) "cspace::iAwsKey");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsIntKey, (void*) "cspace::iAwsIntKey");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsFloatKey, (void*) "cspace::iAwsFloatKey");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsStringKey, (void*) "cspace::iAwsStringKey");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsRectKey, (void*) "cspace::iAwsRectKey");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsRGBKey, (void*) "cspace::iAwsRGBKey");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsPointKey, (void*) "cspace::iAwsPointKey");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsConnectionKey, (void*) "cspace::iAwsConnectionKey");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsKeyContainer, (void*) "cspace::iAwsKeyContainer");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsComponentNode, (void*) "cspace::iAwsComponentNode");
  SWIG_TypeClientData(SWIGTYPE_p_iAws, (void*) "cspace::iAws");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsPrefManager, (void*) "cspace::iAwsPrefManager");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsSinkManager, (void*) "cspace::iAwsSinkManager");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsSink, (void*) "cspace::iAwsSink");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsSource, (void*) "cspace::iAwsSource");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsSlot, (void*) "cspace::iAwsSlot");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsLayoutManager, (void*) "cspace::iAwsLayoutManager");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsComponent, (void*) "cspace::iAwsComponent");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsComponentFactory, (void*) "cspace::iAwsComponentFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsKeyFactory, (void*) "cspace::iAwsKeyFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iAwsConnectionNodeFactory, (void*) "cspace::iAwsConnectionNodeFactory");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "MAX_OUTPUT_VERTICES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(64)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIP_OUTSIDE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_CLIP_OUTSIDE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIP_CLIPPED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_CLIP_CLIPPED)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIP_INSIDE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_CLIP_INSIDE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csVertexStatus, (void*) "cspace::csVertexStatus");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VERTEX_ORIGINAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VERTEX_ORIGINAL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VERTEX_ONEDGE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VERTEX_ONEDGE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VERTEX_INSIDE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VERTEX_INSIDE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iClipper2D_clipperPoly", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iClipper2D::clipperPoly)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iClipper2D_clipperBox", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iClipper2D::clipperBox)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iClipper2D, (void*) "cspace::iClipper2D");
  SWIG_TypeClientData(SWIGTYPE_p_iObjectModelListener, (void*) "cspace::iObjectModelListener");
  SWIG_TypeClientData(SWIGTYPE_p_iObjectModel, (void*) "cspace::iObjectModel");
  SWIG_TypeClientData(SWIGTYPE_p_iPath, (void*) "cspace::iPath");
  SWIG_TypeClientData(SWIGTYPE_p_scfImplementation1TcsPath_iPath_t, (void*) "cspace::scfPath");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLYMESH_CLOSED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLYMESH_CLOSED)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLYMESH_NOTCLOSED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLYMESH_NOTCLOSED)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLYMESH_CONVEX", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLYMESH_CONVEX)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLYMESH_NOTCONVEX", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLYMESH_NOTCONVEX)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLYMESH_DEFORMABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLYMESH_DEFORMABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLYMESH_TRIANGLEMESH", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_POLYMESH_TRIANGLEMESH)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csMeshedPolygon, (void*) "cspace::csMeshedPolygon");
  SWIG_TypeClientData(SWIGTYPE_p_iPolygonMesh, (void*) "cspace::iPolygonMesh");
  SWIG_TypeClientData(SWIGTYPE_p_csPath, (void*) "cspace::csPath");
  SWIG_TypeClientData(SWIGTYPE_p_csPolygonMesh, (void*) "cspace::csPolygonMesh");
  SWIG_TypeClientData(SWIGTYPE_p_csPolygonMeshBox, (void*) "cspace::csPolygonMeshBox");
  SWIG_TypeClientData(SWIGTYPE_p_iFrustumViewUserdata, (void*) "cspace::iFrustumViewUserdata");
  SWIG_TypeClientData(SWIGTYPE_p_csFrustumContext, (void*) "cspace::csFrustumContext");
  SWIG_TypeClientData(SWIGTYPE_p_iFrustumView, (void*) "cspace::iFrustumView");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHT_ACTIVEHALO", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x80000000)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHT_DYNAMICTYPE_STATIC", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_LIGHT_DYNAMICTYPE_STATIC)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHT_DYNAMICTYPE_PSEUDO", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_LIGHT_DYNAMICTYPE_PSEUDO)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHT_DYNAMICTYPE_DYNAMIC", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_LIGHT_DYNAMICTYPE_DYNAMIC)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_DEFAULT_LIGHT_LEVEL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(20)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_NORMAL_LIGHT_LEVEL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(128)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ATTN_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ATTN_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ATTN_LINEAR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ATTN_LINEAR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ATTN_INVERSE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ATTN_INVERSE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ATTN_REALISTIC", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ATTN_REALISTIC)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ATTN_CLQ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ATTN_CLQ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHT_POINTLIGHT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_LIGHT_POINTLIGHT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHT_DIRECTIONAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_LIGHT_DIRECTIONAL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHT_SPOTLIGHT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_LIGHT_SPOTLIGHT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iLightCallback, (void*) "cspace::iLightCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iLight, (void*) "cspace::iLight");
  SWIG_TypeClientData(SWIGTYPE_p_iLightList, (void*) "cspace::iLightList");
  SWIG_TypeClientData(SWIGTYPE_p_iLightingProcessData, (void*) "cspace::iLightingProcessData");
  SWIG_TypeClientData(SWIGTYPE_p_iLightingProcessInfo, (void*) "cspace::iLightingProcessInfo");
  SWIG_TypeClientData(SWIGTYPE_p_iLightIterator, (void*) "cspace::iLightIterator");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FOG_MODE_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_FOG_MODE_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FOG_MODE_LINEAR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_FOG_MODE_LINEAR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FOG_MODE_EXP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_FOG_MODE_EXP)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FOG_MODE_EXP2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_FOG_MODE_EXP2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FOG_MODE_CRYSTALSPACE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_FOG_MODE_CRYSTALSPACE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csFog, (void*) "cspace::csFog");
  SWIG_TypeClientData(SWIGTYPE_p_iSectorCallback, (void*) "cspace::iSectorCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iSectorMeshCallback, (void*) "cspace::iSectorMeshCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iLightVisibleCallback, (void*) "cspace::iLightVisibleCallback");
  SWIG_TypeClientData(SWIGTYPE_p_csSectorHitBeamResult, (void*) "cspace::csSectorHitBeamResult");
  SWIG_TypeClientData(SWIGTYPE_p_iSector, (void*) "cspace::iSector");
  SWIG_TypeClientData(SWIGTYPE_p_iSectorList, (void*) "cspace::iSectorList");
  SWIG_TypeClientData(SWIGTYPE_p_iSectorIterator, (void*) "cspace::iSectorIterator");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENGINE_CACHE_READ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENGINE_CACHE_WRITE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENGINE_CACHE_NOUPDATE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_RENDPRI_SORT_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_RENDPRI_SORT_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_RENDPRI_SORT_BACK2FRONT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_RENDPRI_SORT_BACK2FRONT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_RENDPRI_SORT_FRONT2BACK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_RENDPRI_SORT_FRONT2BACK)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iEngineFrameCallback, (void*) "cspace::iEngineFrameCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iEngineSectorCallback, (void*) "cspace::iEngineSectorCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iEngine, (void*) "cspace::iEngine");
  SWIG_TypeClientData(SWIGTYPE_p_iCameraSectorListener, (void*) "cspace::iCameraSectorListener");
  SWIG_TypeClientData(SWIGTYPE_p_iCamera, (void*) "cspace::iCamera");
  SWIG_TypeClientData(SWIGTYPE_p_iCameraPosition, (void*) "cspace::iCameraPosition");
  SWIG_TypeClientData(SWIGTYPE_p_iCameraPositionList, (void*) "cspace::iCameraPositionList");
  SWIG_TypeClientData(SWIGTYPE_p_iTextureCallback, (void*) "cspace::iTextureCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iTextureWrapper, (void*) "cspace::iTextureWrapper");
  SWIG_TypeClientData(SWIGTYPE_p_iTextureList, (void*) "cspace::iTextureList");
  SWIG_TypeClientData(SWIGTYPE_p_iMaterialWrapper, (void*) "cspace::iMaterialWrapper");
  SWIG_TypeClientData(SWIGTYPE_p_iMaterialEngine, (void*) "cspace::iMaterialEngine");
  SWIG_TypeClientData(SWIGTYPE_p_iMaterialList, (void*) "cspace::iMaterialList");
  SWIG_TypeClientData(SWIGTYPE_p_iArrayReadOnlyTiSceneNode_p_t, (void*) "cspace::iSceneNodeArrayReadOnly");
  SWIG_TypeClientData(SWIGTYPE_p_iSceneNodeArray, (void*) "cspace::iSceneNodeArray");
  SWIG_TypeClientData(SWIGTYPE_p_iSceneNode, (void*) "cspace::iSceneNode");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENTITY_DETAIL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENTITY_CAMERA", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENTITY_INVISIBLEMESH", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(8)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENTITY_NOSHADOWS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(16)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENTITY_NOLIGHTING", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(32)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENTITY_NOHITBEAM", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(64)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ENTITY_NOCLIP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(128)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHTINGUPDATE_SORTRELEVANCE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHTINGUPDATE_ALWAYSUPDATE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iMeshDrawCallback, (void*) "cspace::iMeshDrawCallback");
  SWIG_TypeClientData(SWIGTYPE_p_csHitBeamResult, (void*) "cspace::csHitBeamResult");
  SWIG_TypeClientData(SWIGTYPE_p_csScreenBoxResult, (void*) "cspace::csScreenBoxResult");
  SWIG_TypeClientData(SWIGTYPE_p_iMeshWrapper, (void*) "cspace::iMeshWrapper");
  SWIG_TypeClientData(SWIGTYPE_p_iMeshFactoryWrapper, (void*) "cspace::iMeshFactoryWrapper");
  SWIG_TypeClientData(SWIGTYPE_p_iMeshList, (void*) "cspace::iMeshList");
  SWIG_TypeClientData(SWIGTYPE_p_iMeshFactoryList, (void*) "cspace::iMeshFactoryList");
  SWIG_TypeClientData(SWIGTYPE_p_iMeshWrapperIterator, (void*) "cspace::iMeshWrapperIterator");
  SWIG_TypeClientData(SWIGTYPE_p_iMovableListener, (void*) "cspace::iMovableListener");
  SWIG_TypeClientData(SWIGTYPE_p_iMovable, (void*) "cspace::iMovable");
  SWIG_TypeClientData(SWIGTYPE_p_iRegion, (void*) "cspace::iRegion");
  SWIG_TypeClientData(SWIGTYPE_p_iRegionList, (void*) "cspace::iRegionList");
  SWIG_TypeClientData(SWIGTYPE_p_iVisibilityObjectIterator, (void*) "cspace::iVisibilityObjectIterator");
  SWIG_TypeClientData(SWIGTYPE_p_iVisibilityCullerListener, (void*) "cspace::iVisibilityCullerListener");
  SWIG_TypeClientData(SWIGTYPE_p_iVisibilityCuller, (void*) "cspace::iVisibilityCuller");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CULLER_HINT_GOODOCCLUDER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CULLER_HINT_BADOCCLUDER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(8)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iVisibilityObject, (void*) "cspace::iVisibilityObject");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_CLIPDEST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000001)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_CLIPSTRADDLING", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000002)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_ZFILL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000004)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_WARP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000008)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_MIRROR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000010)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_STATICDEST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000020)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_FLOAT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000040)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_COLLDET", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000080)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PORTAL_VISCULL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000100)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iPortalCallback, (void*) "cspace::iPortalCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iPortal, (void*) "cspace::iPortal");
  SWIG_TypeClientData(SWIGTYPE_p_iPortalContainer, (void*) "cspace::iPortalContainer");
  SWIG_TypeClientData(SWIGTYPE_p_iGeneralMeshSubMesh, (void*) "cspace::iGeneralMeshSubMesh");
  SWIG_TypeClientData(SWIGTYPE_p_iGeneralMeshCommonState, (void*) "cspace::iGeneralMeshCommonState");
  SWIG_TypeClientData(SWIGTYPE_p_iGeneralMeshState, (void*) "cspace::iGeneralMeshState");
  SWIG_TypeClientData(SWIGTYPE_p_iGeneralFactoryState, (void*) "cspace::iGeneralFactoryState");
  SWIG_TypeClientData(SWIGTYPE_p_iGenMeshAnimationControl, (void*) "cspace::iGenMeshAnimationControl");
  SWIG_TypeClientData(SWIGTYPE_p_iGenMeshAnimationControlFactory, (void*) "cspace::iGenMeshAnimationControlFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iGenMeshAnimationControlType, (void*) "cspace::iGenMeshAnimationControlType");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BTT_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BTT_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BTT_SCRIPT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BTT_SCRIPT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BTT_RIGID_BODY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BTT_RIGID_BODY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BGT_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BGT_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BGT_BOX", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BGT_BOX)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BGT_SPHERE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BGT_SPHERE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_BGT_CYLINDER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_BGT_CYLINDER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonBone, (void*) "cspace::iSkeletonBone");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonBoneUpdateCallback, (void*) "cspace::iSkeletonBoneUpdateCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonScriptKeyFrame, (void*) "cspace::iSkeletonScriptKeyFrame");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonScript, (void*) "cspace::iSkeletonScript");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonScriptCallback, (void*) "cspace::iSkeletonScriptCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonUpdateCallback, (void*) "cspace::iSkeletonUpdateCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeleton, (void*) "cspace::iSkeleton");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonSocket, (void*) "cspace::iSkeletonSocket");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonBoneRagdollInfo, (void*) "cspace::iSkeletonBoneRagdollInfo");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonBoneFactory, (void*) "cspace::iSkeletonBoneFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonSocketFactory, (void*) "cspace::iSkeletonSocketFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonFactory, (void*) "cspace::iSkeletonFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iSkeletonGraveyard, (void*) "cspace::iSkeletonGraveyard");
  SWIG_TypeClientData(SWIGTYPE_p_iGenMeshSkeletonControlState, (void*) "cspace::iGenMeshSkeletonControlState");
  SWIG_TypeClientData(SWIGTYPE_p_iArrayReadOnlyTcsSprite2DVertex_t, (void*) "cspace::csSprite2DVertexArrayReadOnly");
  SWIG_TypeClientData(SWIGTYPE_p_iArrayChangeElementsTcsSprite2DVertex_t, (void*) "cspace::csSprite2DVertexArrayChangeElements");
  SWIG_TypeClientData(SWIGTYPE_p_iArrayChangeAllTcsSprite2DVertex_t, (void*) "cspace::csSprite2DVertexArrayChangeAll");
  SWIG_TypeClientData(SWIGTYPE_p_csSprite2DVertex, (void*) "cspace::csSprite2DVertex");
  SWIG_TypeClientData(SWIGTYPE_p_iColoredVertices, (void*) "cspace::iColoredVertices");
  SWIG_TypeClientData(SWIGTYPE_p_iSprite2DUVAnimationFrame, (void*) "cspace::iSprite2DUVAnimationFrame");
  SWIG_TypeClientData(SWIGTYPE_p_iSprite2DUVAnimation, (void*) "cspace::iSprite2DUVAnimation");
  SWIG_TypeClientData(SWIGTYPE_p_iSprite2DFactoryState, (void*) "cspace::iSprite2DFactoryState");
  SWIG_TypeClientData(SWIGTYPE_p_iSprite2DState, (void*) "cspace::iSprite2DState");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LIGHTING_HQ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SPR_LIGHTING_HQ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LIGHTING_LQ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SPR_LIGHTING_LQ)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LIGHTING_FAST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SPR_LIGHTING_FAST)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LIGHTING_RANDOM", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SPR_LIGHTING_RANDOM)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LIGHT_GLOBAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LIGHT_TEMPLATE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LIGHT_LOCAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LOD_GLOBAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LOD_TEMPLATE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SPR_LOD_LOCAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iSpriteFrame, (void*) "cspace::iSpriteFrame");
  SWIG_TypeClientData(SWIGTYPE_p_iSpriteAction, (void*) "cspace::iSpriteAction");
  SWIG_TypeClientData(SWIGTYPE_p_iSpriteSocket, (void*) "cspace::iSpriteSocket");
  SWIG_TypeClientData(SWIGTYPE_p_iSprite3DFactoryState, (void*) "cspace::iSprite3DFactoryState");
  SWIG_TypeClientData(SWIGTYPE_p_iSprite3DState, (void*) "cspace::iSprite3DState");
  SWIG_TypeClientData(SWIGTYPE_p_iSpriteCal3DSocket, (void*) "cspace::iSpriteCal3DSocket");
  SWIG_TypeClientData(SWIGTYPE_p_iSpriteCal3DFactoryState, (void*) "cspace::iSpriteCal3DFactoryState");
  SWIG_TypeClientData(SWIGTYPE_p_iAnimTimeUpdateHandler, (void*) "cspace::iAnimTimeUpdateHandler");
  SWIG_TypeClientData(SWIGTYPE_p_csSpriteCal3DActiveAnim, (void*) "cspace::csSpriteCal3DActiveAnim");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iSpriteCal3DState_C3D_ANIM_TYPE_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iSpriteCal3DState::C3D_ANIM_TYPE_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iSpriteCal3DState_C3D_ANIM_TYPE_IDLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iSpriteCal3DState::C3D_ANIM_TYPE_IDLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iSpriteCal3DState_C3D_ANIM_TYPE_TRAVEL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iSpriteCal3DState::C3D_ANIM_TYPE_TRAVEL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iSpriteCal3DState_C3D_ANIM_TYPE_CYCLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iSpriteCal3DState::C3D_ANIM_TYPE_CYCLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iSpriteCal3DState_C3D_ANIM_TYPE_STYLE_CYCLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iSpriteCal3DState::C3D_ANIM_TYPE_STYLE_CYCLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iSpriteCal3DState_C3D_ANIM_TYPE_ACTION", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iSpriteCal3DState::C3D_ANIM_TYPE_ACTION)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iSpriteCal3DState, (void*) "cspace::iSpriteCal3DState");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESH_STATICPOS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESH_STATICSHAPE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FACTORY_STATICSHAPE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iMeshObjectDrawCallback, (void*) "cspace::iMeshObjectDrawCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iMeshObject, (void*) "cspace::iMeshObject");
  SWIG_TypeClientData(SWIGTYPE_p_iMeshObjectFactory, (void*) "cspace::iMeshObjectFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iMeshObjectType, (void*) "cspace::iMeshObjectType");
  SWIG_TypeClientData(SWIGTYPE_p_csPolygonRange, (void*) "cspace::csPolygonRange");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLY_LIGHTING", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000001)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLY_COLLDET", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000002)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLY_VISCULL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000004)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_POLYINDEX_LAST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(-1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_THING_NOCOMPRESS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00010000)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_THING_MOVE_NEVER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_THING_MOVE_OCCASIONAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iPolygonHandle, (void*) "cspace::iPolygonHandle");
  SWIG_TypeClientData(SWIGTYPE_p_iThingFactoryState, (void*) "cspace::iThingFactoryState");
  SWIG_TypeClientData(SWIGTYPE_p_iThingState, (void*) "cspace::iThingState");
  SWIG_TypeClientData(SWIGTYPE_p_iThingEnvironment, (void*) "cspace::iThingEnvironment");
  SWIG_TypeClientData(SWIGTYPE_p_csArrayTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_csArrayElementHandlerTcsArrayTchar_csArrayElementHandlerTchar_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, (void*) "cspace::csCharArrayArray");
  SWIG_TypeClientData(SWIGTYPE_p_iTerrainObjectState, (void*) "cspace::iTerrainObjectState");
  SWIG_TypeClientData(SWIGTYPE_p_iTerrainFactoryState, (void*) "cspace::iTerrainFactoryState");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_SORT_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_SORT_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_SORT_DISTANCE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_SORT_DISTANCE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_SORT_DOT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_SORT_DOT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_CAMERAFACE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_CAMERAFACE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_CAMERAFACE_APPROX", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_CAMERAFACE_APPROX)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_ORIENT_COMMON", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_ORIENT_COMMON)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_ORIENT_COMMON_APPROX", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_ORIENT_COMMON_APPROX)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_ORIENT_VELOCITY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_ORIENT_VELOCITY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_ORIENT_SELF", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_ORIENT_SELF)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_ORIENT_SELF_FORWARD", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_ORIENT_SELF_FORWARD)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_ROTATE_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_ROTATE_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_ROTATE_TEXCOORD", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_ROTATE_TEXCOORD)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_ROTATE_VERTICES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_ROTATE_VERTICES)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_INTEGRATE_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_INTEGRATE_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_INTEGRATE_LINEAR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_INTEGRATE_LINEAR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_INTEGRATE_BOTH", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_INTEGRATE_BOTH)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_LOCAL_MODE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_LOCAL_MODE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_LOCAL_EMITTER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_LOCAL_EMITTER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_WORLD_MODE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_WORLD_MODE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csParticle, (void*) "cspace::csParticle");
  SWIG_TypeClientData(SWIGTYPE_p_csParticleAux, (void*) "cspace::csParticleAux");
  SWIG_TypeClientData(SWIGTYPE_p_csParticleBuffer, (void*) "cspace::csParticleBuffer");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleEmitter, (void*) "cspace::iParticleEmitter");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleEffector, (void*) "cspace::iParticleEffector");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleSystemBase, (void*) "cspace::iParticleSystemBase");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleSystemFactory, (void*) "cspace::iParticleSystemFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleSystem, (void*) "cspace::iParticleSystem");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_BUILTIN_CENTER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_BUILTIN_CENTER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_BUILTIN_VOLUME", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_BUILTIN_VOLUME)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_BUILTIN_SURFACE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_BUILTIN_SURFACE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEmitterBase, (void*) "cspace::iParticleBuiltinEmitterBase");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEmitterSphere, (void*) "cspace::iParticleBuiltinEmitterSphere");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEmitterCone, (void*) "cspace::iParticleBuiltinEmitterCone");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEmitterBox, (void*) "cspace::iParticleBuiltinEmitterBox");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEmitterCylinder, (void*) "cspace::iParticleBuiltinEmitterCylinder");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEmitterFactory, (void*) "cspace::iParticleBuiltinEmitterFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEffectorForce, (void*) "cspace::iParticleBuiltinEffectorForce");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEffectorLinColor, (void*) "cspace::iParticleBuiltinEffectorLinColor");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_BUILTIN_SPIRAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_BUILTIN_SPIRAL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_PARTICLE_BUILTIN_RADIALPOINT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_PARTICLE_BUILTIN_RADIALPOINT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEffectorVelocityField, (void*) "cspace::iParticleBuiltinEffectorVelocityField");
  SWIG_TypeClientData(SWIGTYPE_p_iParticleBuiltinEffectorFactory, (void*) "cspace::iParticleBuiltinEffectorFactory");
  SWIG_TypeClientData(SWIGTYPE_p_iLoaderStatus, (void*) "cspace::iLoaderStatus");
  SWIG_TypeClientData(SWIGTYPE_p_iMissingLoaderData, (void*) "cspace::iMissingLoaderData");
  SWIG_TypeClientData(SWIGTYPE_p_iLoader, (void*) "cspace::iLoader");
  SWIG_TypeClientData(SWIGTYPE_p_iLoaderPlugin, (void*) "cspace::iLoaderPlugin");
  SWIG_TypeClientData(SWIGTYPE_p_iBinaryLoaderPlugin, (void*) "cspace::iBinaryLoaderPlugin");
  SWIG_TypeClientData(SWIGTYPE_p_iSaver, (void*) "cspace::iSaver");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SNDSYS_DATA_UNKNOWN_SIZE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(-1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysData, (void*) "cspace::iSndSysData");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysSoftwareFilter3DProperties, (void*) "cspace::iSndSysSoftwareFilter3DProperties");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysSoftwareFilter3D, (void*) "cspace::iSndSysSoftwareFilter3D");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysSoftwareOutputFilter, (void*) "cspace::iSndSysSoftwareOutputFilter");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SS_FILTER_LOC_RENDEROUT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SS_FILTER_LOC_RENDEROUT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SS_FILTER_LOC_SOURCEOUT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SS_FILTER_LOC_SOURCEOUT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SS_FILTER_LOC_SOURCEIN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SS_FILTER_LOC_SOURCEIN)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysListener, (void*) "cspace::iSndSysListener");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysLoader, (void*) "cspace::iSndSysLoader");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysWrapper, (void*) "cspace::iSndSysWrapper");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysManager, (void*) "cspace::iSndSysManager");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SNDSYS_SOURCE_DISTANCE_INFINITE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_double  SWIG_PERL_CALL_ARGS_1(static_cast< double >(-1.0f)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysSource, (void*) "cspace::iSndSysSource");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysSourceSoftware, (void*) "cspace::iSndSysSourceSoftware");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysSourceSoftware3D, (void*) "cspace::iSndSysSourceSoftware3D");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSSNDSYS_SAMPLE_LITTLE_ENDIAN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSSNDSYS_SAMPLE_BIG_ENDIAN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x01)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSSNDSYS_SAMPLE_ENDIAN_MASK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x01)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csSndSysSoundFormat, (void*) "cspace::csSndSysSoundFormat");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SNDSYS_STREAM_PAUSED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SNDSYS_STREAM_UNPAUSED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SNDSYS_STREAM_DONTLOOP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SNDSYS_STREAM_LOOP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SND3D_DISABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SND3D_DISABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SND3D_RELATIVE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SND3D_RELATIVE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SND3D_ABSOLUTE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SND3D_ABSOLUTE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysStream, (void*) "cspace::iSndSysStream");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysStreamCallback, (void*) "cspace::iSndSysStreamCallback");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SNDSYS_SOURCE_STOPPED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SNDSYS_SOURCE_PLAYING", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysRenderer, (void*) "cspace::iSndSysRenderer");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysRendererCallback, (void*) "cspace::iSndSysRendererCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysRendererSoftware, (void*) "cspace::iSndSysRendererSoftware");
  SWIG_TypeClientData(SWIGTYPE_p_iSndSysSoftwareDriver, (void*) "cspace::iSndSysSoftwareDriver");
  SWIG_TypeClientData(SWIGTYPE_p_iComponent, (void*) "cspace::iComponent");
  SWIG_TypeClientData(SWIGTYPE_p_iCacheManager, (void*) "cspace::iCacheManager");
  SWIG_TypeClientData(SWIGTYPE_p_csFileTime, (void*) "cspace::csFileTime");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_PATH_DIVIDER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_char  SWIG_PERL_CALL_ARGS_1(static_cast< char >(',')));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_PATH_SEPARATOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_char  SWIG_PERL_CALL_ARGS_1(static_cast< char >('/')));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_MAX_PATH_LEN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(256)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_FILE_MODE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x0000000f)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_FILE_READ", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000000)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_FILE_WRITE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000001)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_FILE_APPEND", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000002)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_FILE_UNCOMPRESSED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x80000000)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_STATUS_OK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_STATUS_OTHER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_STATUS_NOSPACE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_STATUS_RESOURCES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_STATUS_ACCESSDENIED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "VFS_STATUS_IOERROR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(5)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iFile, (void*) "cspace::iFile");
  SWIG_TypeClientData(SWIGTYPE_p_iVFS, (void*) "cspace::iVFS");
  SWIG_TypeClientData(SWIGTYPE_p_iObjectNameChangeListener, (void*) "cspace::iObjectNameChangeListener");
  SWIG_TypeClientData(SWIGTYPE_p_iObject, (void*) "cspace::iObject");
  SWIG_TypeClientData(SWIGTYPE_p_iObjectIterator, (void*) "cspace::iObjectIterator");
  SWIG_TypeClientData(SWIGTYPE_p_iStringSet, (void*) "cspace::iStringSet");
  SWIG_TypeClientData(SWIGTYPE_p_iObjectRegistry, (void*) "cspace::iObjectRegistry");
  SWIG_TypeClientData(SWIGTYPE_p_iObjectRegistryIterator, (void*) "cspace::iObjectRegistryIterator");
  SWIG_TypeClientData(SWIGTYPE_p_iVirtualClock, (void*) "cspace::iVirtualClock");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MAX_MOUSE_COUNT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MAX_MOUSE_AXES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(8)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MAX_MOUSE_BUTTONS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(10)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MAX_JOYSTICK_COUNT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(16)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MAX_JOYSTICK_BUTTONS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(10)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MAX_JOYSTICK_AXES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(8)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iEventAttributeIterator, (void*) "cspace::iEventAttributeIterator");
  SWIG_TypeClientData(SWIGTYPE_p_csKeyEventData, (void*) "cspace::csKeyEventData");
  SWIG_TypeClientData(SWIGTYPE_p_csMouseEventData, (void*) "cspace::csMouseEventData");
  SWIG_TypeClientData(SWIGTYPE_p_csJoystickEventData, (void*) "cspace::csJoystickEventData");
  SWIG_TypeClientData(SWIGTYPE_p_csCommandEventData, (void*) "cspace::csCommandEventData");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrNone", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrNone)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrLossy", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrLossy)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrNotFound", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrNotFound)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrMismatchInt", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrMismatchInt)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrMismatchUInt", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrMismatchUInt)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrMismatchFloat", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrMismatchFloat)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrMismatchBuffer", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrMismatchBuffer)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrMismatchEvent", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrMismatchEvent)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrMismatchIBase", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrMismatchIBase)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventErrUhOhUnknown", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventErrUhOhUnknown)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventAttrUnknown", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventAttrUnknown)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventAttrInt", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventAttrInt)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventAttrUInt", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventAttrUInt)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventAttrFloat", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventAttrFloat)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventAttrDatabuffer", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventAttrDatabuffer)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventAttrEvent", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventAttrEvent)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csEventAttriBase", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csEventAttriBase)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iEvent, (void*) "cspace::iEvent");
  SWIG_TypeClientData(SWIGTYPE_p_iEventPlug, (void*) "cspace::iEventPlug");
  SWIG_TypeClientData(SWIGTYPE_p_iEventOutlet, (void*) "cspace::iEventOutlet");
  SWIG_TypeClientData(SWIGTYPE_p_iEventCord, (void*) "cspace::iEventCord");
  SWIG_TypeClientData(SWIGTYPE_p_csKeyEventHelper, (void*) "cspace::csKeyEventHelper");
  SWIG_TypeClientData(SWIGTYPE_p_csMouseEventHelper, (void*) "cspace::csMouseEventHelper");
  SWIG_TypeClientData(SWIGTYPE_p_csJoystickEventHelper, (void*) "cspace::csJoystickEventHelper");
  SWIG_TypeClientData(SWIGTYPE_p_csInputEventHelper, (void*) "cspace::csInputEventHelper");
  SWIG_TypeClientData(SWIGTYPE_p_csCommandEventHelper, (void*) "cspace::csCommandEventHelper");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyEventTypeUp", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyEventTypeUp)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyEventTypeDown", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyEventTypeDown)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csMouseEventTypeMove", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csMouseEventTypeMove)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csMouseEventTypeUp", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csMouseEventTypeUp)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csMouseEventTypeDown", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csMouseEventTypeDown)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csMouseEventTypeClick", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csMouseEventTypeClick)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csMouseEventTypeDoubleClick", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csMouseEventTypeDoubleClick)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmbNone", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmbNone)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmbLeft", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmbLeft)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmbRight", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmbRight)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmbMiddle", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmbMiddle)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmbWheelUp", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmbWheelUp)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmbWheelDown", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmbWheelDown)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmbExtra1", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmbExtra1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmbExtra2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmbExtra2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierTypeShift", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierTypeShift)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierTypeCtrl", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierTypeCtrl)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierTypeAlt", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierTypeAlt)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierTypeCapsLock", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierTypeCapsLock)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierTypeNumLock", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierTypeNumLock)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierTypeScrollLock", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierTypeScrollLock)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierTypeLast", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierTypeLast)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierNumLeft", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierNumLeft)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierNumRight", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierNumRight)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyModifierNumAny", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyModifierNumAny)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p__csKeyModifiers, (void*) "cspace::csKeyModifiers");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_ESC", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(27)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_ENTER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_char  SWIG_PERL_CALL_ARGS_1(static_cast< char >('\n')));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_TAB", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_char  SWIG_PERL_CALL_ARGS_1(static_cast< char >('\t')));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_BACKSPACE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_char  SWIG_PERL_CALL_ARGS_1(static_cast< char >('\10')));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_SPACE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_char  SWIG_PERL_CALL_ARGS_1(static_cast< char >(' ')));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_SPECIAL_FIRST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x108000)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_SPECIAL_LAST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x10fffd)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_UP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x00)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_DOWN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x01)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_LEFT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x02)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_RIGHT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x03)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_PGUP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x04)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_PGDN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x05)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_HOME", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x06)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_END", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x07)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_INS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x08)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_DEL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x09)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_CONTEXT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x0a)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_PRINTSCREEN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x0b)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_PAUSE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x0c)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F1", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x10)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x11)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F3", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x12)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F4", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x13)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F5", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x14)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F6", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x15)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F7", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x16)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F8", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x17)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F9", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x18)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F10", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x19)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F11", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x1a)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_F12", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x108000+(0x1b)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_MODIFIER_FIRST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x2000)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_MODIFIER_LAST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x3fff)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_MODIFIERTYPE_SHIFT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(5)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSKEY_PAD_FLAG", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x4000)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyCharTypeNormal", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyCharTypeNormal)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csKeyCharTypeDead", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csKeyCharTypeDead)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSEVTYPE_Keyboard", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000001)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSEVTYPE_Mouse", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000002)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSEVTYPE_Joystick", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000004)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iEventQueue, (void*) "cspace::iEventQueue");
  SWIG_TypeClientData(SWIGTYPE_p_csStrKey, (void*) "cspace::csStrKey");
  SWIG_TypeClientData(SWIGTYPE_p_iEventNameRegistry, (void*) "cspace::iEventNameRegistry");
  SWIG_TypeClientData(SWIGTYPE_p_csEventNameRegistry, (void*) "cspace::csEventNameRegistry");
  SWIG_TypeClientData(SWIGTYPE_p_iEventHandler, (void*) "cspace::iEventHandler");
  SWIG_TypeClientData(SWIGTYPE_p_iPluginIterator, (void*) "cspace::iPluginIterator");
  SWIG_TypeClientData(SWIGTYPE_p_iPluginManager, (void*) "cspace::iPluginManager");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csComposeNoChar", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csComposeNoChar)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csComposeNormalChar", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csComposeNormalChar)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csComposeComposedChar", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csComposeComposedChar)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csComposeUncomposeable", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csComposeUncomposeable)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iKeyComposer, (void*) "cspace::iKeyComposer");
  SWIG_TypeClientData(SWIGTYPE_p_iKeyboardDriver, (void*) "cspace::iKeyboardDriver");
  SWIG_TypeClientData(SWIGTYPE_p_iMouseDriver, (void*) "cspace::iMouseDriver");
  SWIG_TypeClientData(SWIGTYPE_p_iJoystickDriver, (void*) "cspace::iJoystickDriver");
  SWIG_TypeClientData(SWIGTYPE_p_iConfigFile, (void*) "cspace::iConfigFile");
  SWIG_TypeClientData(SWIGTYPE_p_iConfigIterator, (void*) "cspace::iConfigIterator");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_PriorityMin", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::PriorityMin)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_PriorityVeryLow", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::PriorityVeryLow)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_PriorityLow", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::PriorityLow)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_PriorityMedium", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::PriorityMedium)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_PriorityHigh", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::PriorityHigh)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_PriorityVeryHigh", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::PriorityVeryHigh)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_PriorityMax", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::PriorityMax)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_ConfigPriorityPlugin", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::ConfigPriorityPlugin)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_ConfigPriorityApplication", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::ConfigPriorityApplication)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_ConfigPriorityUserGlobal", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::ConfigPriorityUserGlobal)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_ConfigPriorityUserApp", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::ConfigPriorityUserApp)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iConfigManager_ConfigPriorityCmdLine", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iConfigManager::ConfigPriorityCmdLine)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iConfigManager, (void*) "cspace::iConfigManager");
  SWIG_TypeClientData(SWIGTYPE_p_iStringArray, (void*) "cspace::iStringArray");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_NODE_DOCUMENT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_NODE_DOCUMENT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_NODE_ELEMENT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_NODE_ELEMENT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_NODE_COMMENT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_NODE_COMMENT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_NODE_UNKNOWN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_NODE_UNKNOWN)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_NODE_TEXT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_NODE_TEXT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_NODE_DECLARATION", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_NODE_DECLARATION)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CHANGEABLE_NEVER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CHANGEABLE_NEWROOT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CHANGEABLE_YES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iDocumentAttributeIterator, (void*) "cspace::iDocumentAttributeIterator");
  SWIG_TypeClientData(SWIGTYPE_p_iDocumentAttribute, (void*) "cspace::iDocumentAttribute");
  SWIG_TypeClientData(SWIGTYPE_p_iDocumentNodeIterator, (void*) "cspace::iDocumentNodeIterator");
  SWIG_TypeClientData(SWIGTYPE_p_iDocumentNode, (void*) "cspace::iDocumentNode");
  SWIG_TypeClientData(SWIGTYPE_p_iDocument, (void*) "cspace::iDocument");
  SWIG_TypeClientData(SWIGTYPE_p_iDocumentSystem, (void*) "cspace::iDocumentSystem");
  SWIG_TypeClientData(SWIGTYPE_p_csTinyDocumentSystem, (void*) "cspace::csTinyDocumentSystem");
  SWIG_TypeClientData(SWIGTYPE_p_iDataBuffer, (void*) "cspace::iDataBuffer");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_WRITE_BASELINE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_WRITE_BASELINE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_WRITE_NOANTIALIAS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_WRITE_NOANTIALIAS)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csPixelCoord, (void*) "cspace::csPixelCoord");
  SWIG_TypeClientData(SWIGTYPE_p_csPixelFormat, (void*) "cspace::csPixelFormat");
  SWIG_TypeClientData(SWIGTYPE_p_csImageArea, (void*) "cspace::csImageArea");
  SWIG_TypeClientData(SWIGTYPE_p_iOffscreenCanvasCallback, (void*) "cspace::iOffscreenCanvasCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iGraphics2D, (void*) "cspace::iGraphics2D");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSDRAW_2DGRAPHICS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000001)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSDRAW_3DGRAPHICS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000002)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSDRAW_CLEARZBUFFER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000010)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSDRAW_CLEARSCREEN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000020)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIPPER_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(-1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIPPER_OPTIONAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIPPER_TOPLEVEL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIPPER_REQUIRED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIP_NOT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_CLIP_NEEDED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ZBUF_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ZBUF_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ZBUF_FILL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ZBUF_FILL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ZBUF_TEST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ZBUF_TEST)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ZBUF_USE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ZBUF_USE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ZBUF_EQUAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ZBUF_EQUAL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ZBUF_INVERT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ZBUF_INVERT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ZBUF_MESH", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ZBUF_MESH)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ZBUF_MESH2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ZBUF_MESH2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_SPECIFIC_FIRST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_SPECIFIC_LAST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(15)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_GENERIC_FIRST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(100)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_GENERIC_LAST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((100+15))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_UNUSED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_UNUSED)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_INVALID", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_INVALID)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_POSITION", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_POSITION)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_WEIGHT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_WEIGHT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_NORMAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_NORMAL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_COLOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_COLOR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_PRIMARY_COLOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_PRIMARY_COLOR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_SECONDARY_COLOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_SECONDARY_COLOR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_FOGCOORD", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_FOGCOORD)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD0", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD1", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD3", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD4", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD5", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD5)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD6", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD6)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_TEXCOORD7", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_TEXCOORD7)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_0", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_1", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_3", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_4", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_5", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_5)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_6", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_6)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_7", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_7)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_8", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_8)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_9", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_9)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_10", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_10)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_11", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_11)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_12", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_12)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_13", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_13)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_14", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_14)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_VATTRIB_15", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_VATTRIB_15)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_TYPE_AUTO", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x00000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_TYPE_BLENDOP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x40000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_TYPE_MESH", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x80000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_TYPE_MASK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0xc0000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_ZERO", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_ZERO)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_ONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_ONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_SRCCOLOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_SRCCOLOR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_SRCCOLOR_INV", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_SRCCOLOR_INV)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_DSTCOLOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_DSTCOLOR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_DSTCOLOR_INV", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_DSTCOLOR_INV)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_SRCALPHA", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_SRCALPHA)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_SRCALPHA_INV", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_SRCALPHA_INV)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_DSTALPHA", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_DSTALPHA)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_DSTALPHA_INV", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_DSTALPHA_INV)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_COUNT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_COUNT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_FACT_MASK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MIXMODE_FACT_MASK)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_ALPHATEST_AUTO", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x00000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_ALPHATEST_ENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x10000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_ALPHATEST_DISABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x20000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MIXMODE_ALPHATEST_MASK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x30000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FX_COPY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(((0x00000000)|(0x00000000)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FX_MESH", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(((0x80000000)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FX_FLAT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x04000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FX_MASK_ALPHA", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x000000FF))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FX_MASK_MIXMODE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0xf0ff0000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csAlphaMode_alphaNone", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csAlphaMode::alphaNone)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csAlphaMode_alphaBinary", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csAlphaMode::alphaBinary)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csAlphaMode_alphaSmooth", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csAlphaMode::alphaSmooth)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csAlphaMode, (void*) "cspace::csAlphaMode");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHTPARAM_POSITION", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHTPARAM_DIFFUSE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHTPARAM_SPECULAR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_LIGHTPARAM_ATTENUATION", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SHADOW_VOLUME_BEGIN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SHADOW_VOLUME_PASS1", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SHADOW_VOLUME_PASS2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SHADOW_VOLUME_FAIL1", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SHADOW_VOLUME_FAIL2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(5)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SHADOW_VOLUME_USE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(6)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SHADOW_VOLUME_FINISH", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(7)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_ZBUFFERMODE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_ZBUFFERMODE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_DITHERENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_DITHERENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_BILINEARMAPPINGENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_BILINEARMAPPINGENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_TRILINEARMAPPINGENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_TRILINEARMAPPINGENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_TRANSPARENCYENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_TRANSPARENCYENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_MIPMAPENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_MIPMAPENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_TEXTUREMAPPINGENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_TEXTUREMAPPINGENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_LIGHTINGENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_LIGHTINGENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_INTERLACINGENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_INTERLACINGENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_MMXENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_MMXENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_INTERPOLATIONSTEP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_INTERPOLATIONSTEP)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_MAXPOLYGONSTODRAW", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_MAXPOLYGONSTODRAW)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_GOURAUDENABLE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_GOURAUDENABLE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "G3DRENDERSTATE_EDGES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(G3DRENDERSTATE_EDGES)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csGraphics3DCaps, (void*) "cspace::csGraphics3DCaps");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESHTYPE_TRIANGLES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESHTYPE_TRIANGLES)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESHTYPE_QUADS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESHTYPE_QUADS)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESHTYPE_TRIANGLESTRIP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESHTYPE_TRIANGLESTRIP)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESHTYPE_TRIANGLEFAN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESHTYPE_TRIANGLEFAN)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESHTYPE_POINTS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESHTYPE_POINTS)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESHTYPE_POINT_SPRITES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESHTYPE_POINT_SPRITES)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESHTYPE_LINES", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESHTYPE_LINES)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESHTYPE_LINESTRIP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESHTYPE_LINESTRIP)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csSimpleMeshScreenspace", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csSimpleMeshScreenspace)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_OPENPORTAL_ZFILL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_OPENPORTAL_ZFILL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_OPENPORTAL_MIRROR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_OPENPORTAL_MIRROR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_OPENPORTAL_FLOAT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_OPENPORTAL_FLOAT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csSimpleRenderMesh, (void*) "cspace::csSimpleRenderMesh");
  SWIG_TypeClientData(SWIGTYPE_p_iGraphics3D, (void*) "cspace::iGraphics3D");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcNone", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcNone)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcArrow", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcArrow)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcLens", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcLens)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcCross", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcCross)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcPen", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcPen)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcMove", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcMove)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcSizeNWSE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcSizeNWSE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcSizeNESW", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcSizeNESW)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcSizeNS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcSizeNS)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcSizeEW", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcSizeEW)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcStop", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcStop)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csmcWait", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csmcWait)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ALERT_ERROR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ALERT_WARNING", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ALERT_NOTE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iNativeWindowManager, (void*) "cspace::iNativeWindowManager");
  SWIG_TypeClientData(SWIGTYPE_p_iNativeWindow, (void*) "cspace::iNativeWindow");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSFONT_LARGE", TRUE | 0x2);
    sv_setsv(sv, SWIG_FromCharPtr("*large"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSFONT_ITALIC", TRUE | 0x2);
    sv_setsv(sv, SWIG_FromCharPtr("*italic"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSFONT_COURIER", TRUE | 0x2);
    sv_setsv(sv, SWIG_FromCharPtr("*courier"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CSFONT_SMALL", TRUE | 0x2);
    sv_setsv(sv, SWIG_FromCharPtr("*small"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_FONT_DEFAULT_GLYPH", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0xffff)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iFontDeleteNotify, (void*) "cspace::iFontDeleteNotify");
  SWIG_TypeClientData(SWIGTYPE_p_csBitmapMetrics, (void*) "cspace::csBitmapMetrics");
  SWIG_TypeClientData(SWIGTYPE_p_csGlyphMetrics, (void*) "cspace::csGlyphMetrics");
  SWIG_TypeClientData(SWIGTYPE_p_iFont, (void*) "cspace::iFont");
  SWIG_TypeClientData(SWIGTYPE_p_iFontServer, (void*) "cspace::iFontServer");
  SWIG_TypeClientData(SWIGTYPE_p_iHalo, (void*) "cspace::iHalo");
  SWIG_TypeClientData(SWIGTYPE_p_iShaderVarStack, (void*) "cspace::iShaderVarStack");
  SWIG_TypeClientData(SWIGTYPE_p_iShaderVariableContext, (void*) "cspace::iShaderVariableContext");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "TagNeutral", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(TagNeutral)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "TagForbidden", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(TagForbidden)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "TagRequired", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(TagRequired)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iShaderManager, (void*) "cspace::iShaderManager");
  SWIG_TypeClientData(SWIGTYPE_p_csShaderMetadata, (void*) "cspace::csShaderMetadata");
  SWIG_TypeClientData(SWIGTYPE_p_iShader, (void*) "cspace::iShader");
  SWIG_TypeClientData(SWIGTYPE_p_iShaderPriorityList, (void*) "cspace::iShaderPriorityList");
  SWIG_TypeClientData(SWIGTYPE_p_iShaderCompiler, (void*) "cspace::iShaderCompiler");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEX_IMG_1D", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEX_IMG_1D)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEX_IMG_2D", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEX_IMG_2D)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEX_IMG_3D", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEX_IMG_3D)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEX_IMG_CUBEMAP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEX_IMG_CUBEMAP)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEX_IMG_RECT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEX_IMG_RECT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEXTURE_CUBE_POS_X", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEXTURE_CUBE_POS_X)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEXTURE_CUBE_NEG_X", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEXTURE_CUBE_NEG_X)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEXTURE_CUBE_POS_Y", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEXTURE_CUBE_POS_Y)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEXTURE_CUBE_NEG_Y", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEXTURE_CUBE_NEG_Y)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEXTURE_CUBE_POS_Z", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEXTURE_CUBE_POS_Z)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_CS_TEXTURE_CUBE_NEG_Z", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::CS_TEXTURE_CUBE_NEG_Z)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_RGBA8888", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::RGBA8888)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "iTextureHandle_BGRA8888", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(iTextureHandle::BGRA8888)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iTextureHandle, (void*) "cspace::iTextureHandle");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TEXTURE_2D", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000001)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TEXTURE_3D", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000002)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TEXTURE_NOMIPMAPS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000008)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TEXTURE_CLAMP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000010)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TEXTURE_NOFILTER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000020)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TEXTURE_NPOTS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000040)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TEXTURE_SCALE_UP", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000080)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TEXTURE_SCALE_DOWN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0x00000100)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iRendererLightmap, (void*) "cspace::iRendererLightmap");
  SWIG_TypeClientData(SWIGTYPE_p_iSuperLightmap, (void*) "cspace::iSuperLightmap");
  SWIG_TypeClientData(SWIGTYPE_p_iTextureManager, (void*) "cspace::iTextureManager");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MATERIAL_VARNAME_FLATCOLOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_FromCharPtr("mat flatcolor"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MATERIAL_TEXTURE_DIFFUSE", TRUE | 0x2);
    sv_setsv(sv, SWIG_FromCharPtr("tex diffuse"));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iMaterial, (void*) "cspace::iMaterial");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMGFMT_MASK", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x0000ffff))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMGFMT_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x00000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMGFMT_TRUECOLOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x00000001))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMGFMT_PALETTED8", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x00000002))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMGFMT_ANY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(((0x0000ffff)))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMGFMT_ALPHA", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x00010000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMGFMT_INVALID", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >((0x80000000))));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csimg2D", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csimg2D)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csimg3D", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csimg3D)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csimgCube", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csimgCube)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iImage, (void*) "cspace::iImage");
  SWIG_TypeClientData(SWIGTYPE_p_csArrayTcsImageIOFileFormatDescription_const_p_csArrayElementHandlerTcsImageIOFileFormatDescription_const_p_t_CS__Memory__AllocatorMalloc_csArrayCapacityDefault_t, (void*) "cspace::csImageIOFileFormatDescriptions");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMAGEIO_LOAD", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_IMAGEIO_SAVE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_csImageIOFileFormatDescription, (void*) "cspace::csImageIOFileFormatDescription");
  SWIG_TypeClientData(SWIGTYPE_p_iImageIO, (void*) "cspace::iImageIO");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_REPORTER_SEVERITY_BUG", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(0)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_REPORTER_SEVERITY_ERROR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(1)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_REPORTER_SEVERITY_WARNING", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_REPORTER_SEVERITY_NOTIFY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(3)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_REPORTER_SEVERITY_DEBUG", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(4)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iReporterListener, (void*) "cspace::iReporterListener");
  SWIG_TypeClientData(SWIGTYPE_p_iReporterIterator, (void*) "cspace::iReporterIterator");
  SWIG_TypeClientData(SWIGTYPE_p_iReporter, (void*) "cspace::iReporter");
  SWIG_TypeClientData(SWIGTYPE_p_csReporterHelper, (void*) "cspace::csReporterHelper");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csConPageUp", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csConPageUp)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csConPageDown", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csConPageDown)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csConVeryTop", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csConVeryTop)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csConVeryBottom", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csConVeryBottom)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csConNoCursor", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csConNoCursor)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csConNormalCursor", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csConNormalCursor)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "csConInsertCursor", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(csConInsertCursor)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iConsoleWatcher, (void*) "cspace::iConsoleWatcher");
  SWIG_TypeClientData(SWIGTYPE_p_iConsoleOutput, (void*) "cspace::iConsoleOutput");
  SWIG_TypeClientData(SWIGTYPE_p_iStandardReporterListener, (void*) "cspace::iStandardReporterListener");
  SWIG_TypeClientData(SWIGTYPE_p_iView, (void*) "cspace::iView");
  SWIG_TypeClientData(SWIGTYPE_p_csCollisionPair, (void*) "cspace::csCollisionPair");
  SWIG_TypeClientData(SWIGTYPE_p_csIntersectingTriangle, (void*) "cspace::csIntersectingTriangle");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_MESH_COLLIDER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_MESH_COLLIDER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_TERRAFORMER_COLLIDER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_TERRAFORMER_COLLIDER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iCollider, (void*) "cspace::iCollider");
  SWIG_TypeClientData(SWIGTYPE_p_iCollideSystem, (void*) "cspace::iCollideSystem");
  SWIG_TypeClientData(SWIGTYPE_p_iDynamics, (void*) "cspace::iDynamics");
  SWIG_TypeClientData(SWIGTYPE_p_iDynamicSystem, (void*) "cspace::iDynamicSystem");
  SWIG_TypeClientData(SWIGTYPE_p_iDynamicsMoveCallback, (void*) "cspace::iDynamicsMoveCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iDynamicsCollisionCallback, (void*) "cspace::iDynamicsCollisionCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iBodyGroup, (void*) "cspace::iBodyGroup");
  SWIG_TypeClientData(SWIGTYPE_p_iRigidBody, (void*) "cspace::iRigidBody");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "NO_GEOMETRY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(NO_GEOMETRY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "BOX_COLLIDER_GEOMETRY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(BOX_COLLIDER_GEOMETRY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "PLANE_COLLIDER_GEOMETRY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(PLANE_COLLIDER_GEOMETRY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "TRIMESH_COLLIDER_GEOMETRY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(TRIMESH_COLLIDER_GEOMETRY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CYLINDER_COLLIDER_GEOMETRY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CYLINDER_COLLIDER_GEOMETRY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "SPHERE_COLLIDER_GEOMETRY", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(SPHERE_COLLIDER_GEOMETRY)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iDynamicsColliderCollisionCallback, (void*) "cspace::iDynamicsColliderCollisionCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iDynamicsSystemCollider, (void*) "cspace::iDynamicsSystemCollider");
  SWIG_TypeClientData(SWIGTYPE_p_iJoint, (void*) "cspace::iJoint");
  SWIG_TypeClientData(SWIGTYPE_p_iODEFrameUpdateCallback, (void*) "cspace::iODEFrameUpdateCallback");
  SWIG_TypeClientData(SWIGTYPE_p_iODEDynamicState, (void*) "cspace::iODEDynamicState");
  SWIG_TypeClientData(SWIGTYPE_p_iODEDynamicSystemState, (void*) "cspace::iODEDynamicSystemState");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_UNKNOWN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_UNKNOWN)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_BALL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_BALL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_HINGE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_HINGE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_SLIDER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_SLIDER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_CONTACT", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_CONTACT)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_UNIVERSAL", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_UNIVERSAL)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_HINGE2", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_HINGE2)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_FIXED", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_FIXED)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_JOINT_TYPE_AMOTOR", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_JOINT_TYPE_AMOTOR)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iODEJointState, (void*) "cspace::iODEJointState");
  SWIG_TypeClientData(SWIGTYPE_p_iODEGeneralJointState, (void*) "cspace::iODEGeneralJointState");
  SWIG_TypeClientData(SWIGTYPE_p_iODESliderJoint, (void*) "cspace::iODESliderJoint");
  SWIG_TypeClientData(SWIGTYPE_p_iODEUniversalJoint, (void*) "cspace::iODEUniversalJoint");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_AMOTOR_MODE_UNKNOWN", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_AMOTOR_MODE_UNKNOWN)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_AMOTOR_MODE_USER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_AMOTOR_MODE_USER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_AMOTOR_MODE_EULER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_AMOTOR_MODE_EULER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_ODE_AMOTOR_MODE_LAST", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_ODE_AMOTOR_MODE_LAST)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iODEAMotorJoint, (void*) "cspace::iODEAMotorJoint");
  SWIG_TypeClientData(SWIGTYPE_p_iODEHinge2Joint, (void*) "cspace::iODEHinge2Joint");
  SWIG_TypeClientData(SWIGTYPE_p_iODEHingeJoint, (void*) "cspace::iODEHingeJoint");
  SWIG_TypeClientData(SWIGTYPE_p_iODEBallJoint, (void*) "cspace::iODEBallJoint");
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SEQUENCE_LIGHTCHANGE_NONE", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SEQUENCE_LIGHTCHANGE_NONE)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SEQUENCE_LIGHTCHANGE_LESS", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SEQUENCE_LIGHTCHANGE_LESS)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  /*@SWIG:%set_constant@*/ do {
    SV *sv = get_sv((char*) SWIG_prefix "CS_SEQUENCE_LIGHTCHANGE_GREATER", TRUE | 0x2);
    sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(CS_SEQUENCE_LIGHTCHANGE_GREATER)));
    SvREADONLY_on(sv);
  } while(0) /*@SWIG@*/;
  SWIG_TypeClientData(SWIGTYPE_p_iParameterESM, (void*) "cspace::iParameterESM");
  SWIG_TypeClientData(SWIGTYPE_p_iEngineSequenceParameters, (void*) "cspace::iEngineSequenceParameters");
  SWIG_TypeClientData(SWIGTYPE_p_iSequenceWrapper, (void*) "cspace::iSequenceWrapper");
  SWIG_TypeClientData(SWIGTYPE_p_iSequenceTrigger, (void*) "cspace::iSequenceTrigger");
  SWIG_TypeClientData(SWIGTYPE_p_iSequenceTimedOperation, (void*) "cspace::iSequenceTimedOperation");
  SWIG_TypeClientData(SWIGTYPE_p_iEngineSequenceManager, (void*) "cspace::iEngineSequenceManager");
  SWIG_TypeClientData(SWIGTYPE_p_iMovieRecorder, (void*) "cspace::iMovieRecorder");
  SWIG_TypeClientData(SWIGTYPE_p_iMapNode, (void*) "cspace::iMapNode");
  SWIG_TypeClientData(SWIGTYPE_p_iScriptObject, (void*) "cspace::iScriptObject");
  SWIG_TypeClientData(SWIGTYPE_p_iScript, (void*) "cspace::iScript");
  SWIG_TypeClientData(SWIGTYPE_p_iSimpleFormerState, (void*) "cspace::iSimpleFormerState");
  SWIG_TypeClientData(SWIGTYPE_p_iTerraFormer, (void*) "cspace::iTerraFormer");
  SWIG_TypeClientData(SWIGTYPE_p_iTerraSampler, (void*) "cspace::iTerraSampler");
  SWIG_TypeClientData(SWIGTYPE_p_csObject, (void*) "cspace::csObject");
  SWIG_TypeClientData(SWIGTYPE_p_csColliderWrapper, (void*) "cspace::csColliderWrapper");
  SWIG_TypeClientData(SWIGTYPE_p_csTraceBeamResult, (void*) "cspace::csTraceBeamResult");
  SWIG_TypeClientData(SWIGTYPE_p_csColliderHelper, (void*) "cspace::csColliderHelper");
  SWIG_TypeClientData(SWIGTYPE_p_csColliderActor, (void*) "cspace::csColliderActor");
  SWIG_TypeClientData(SWIGTYPE_p_csView, (void*) "cspace::csView");
  SWIG_TypeClientData(SWIGTYPE_p_csSimplePixmap, (void*) "cspace::csPixmap");
  ST(0) = &PL_sv_yes;
  XSRETURN(1);
}

